diff --git a/public/temp/404.html b/public/temp/404.html index 4c60324..2e08ad7 100644 --- a/public/temp/404.html +++ b/public/temp/404.html @@ -1,34 +1,40 @@ - - - - ARCHBLOX - BRB - - - - - - - - - - - - - - - - - - -

Oh Noes! ARCHBLOX is currently under maintenance.

-

ARCHBLOX will be back soon, so please be patient.

- - \ No newline at end of file + +
+
+ ARCHBLOX Logo + +

We'll be right back.

+
+
+

Oh Noes! ARCHBLOX is currently under maintenance.

+

ARCHBLOX will be back soon, so please be patient.

+
+ + + + \ No newline at end of file diff --git a/public/temp/css/2018.css b/public/temp/css/2018.css new file mode 100644 index 0000000..912fd23 --- /dev/null +++ b/public/temp/css/2018.css @@ -0,0 +1,769 @@ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-weight: normal; + src: url('SourceSansPro-Normal.ttf'); +} + +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-weight: normal; + src: url('SourceSansPro-Italic.ttf'); +} + +#FeedButton { + height: 34px !important; +} + +html, .loggedout { + background: none; +} + +.arkoticon_small { + margin: 0px; + width: 30px; + content: url("/img/ark2018nbd.png"); +} + +.arkoticon_navbar { + margin: 0px; + margin-top: -5px; + content: url("/img/ark2018.png"); + margin-right: 3px; + width: 30px; +} + +body { + background-color: #E3E3E3; + color: #191919; + font-family: "Source Sans Pro", Arial, 'Helvetica Neue', sans-serif; + font-size: 16px; + font-size: 100%; + width: 100%; + height: 100%; + margin-bottom: 168px; +} + +:focus-visible { + outline: 0px; +} + +.content_signup, +.profilefriend #FeedContainerBox1Username, +.content p a, +.content a, +.content_signup p a, +.content_signup a, +.content_special p a, +.content_special a { + color: #191919 +} + +.content { + color: #191919; + background-color: #E3E3E3; + width: 970px; + padding-top: 12px; + margin: 40px auto 0; + margin-top: 60px; + padding-bottom: 40px; + min-height: calc(100% - 40px); +} + +#SearchContainer, +#FriendsContainer, +#profilefriendcontainer { + background-color: #fff; + box-shadow: 0 1px 4px 0 rgb(25 25 25 / 30%); + padding: 15px; +} + +.ProfileContainerBox, +.FriendsContainerBox { + border: 0; +} + +.Redesign .smallnavbarbutton { + color: #191919; + display: flex; + margin: 3px; + padding: 2px 5px; + float: none; + font-size: 16px; + font-weight: 500; + line-height: 1.92857; + height: 28px; +} + +.success { + background: #02b757; + max-width: 970px; +} +.loading { + background: #b8b8b8; + max-width: 970px; +} +.warning { + background: #d86868; + max-width: 970px; +} +.alert { + -webkit-transition: all .4s ease; + -o-transition: all .4s ease; + transition: all .4s ease; + top: -40px; + border-radius: 0; + padding: 15px; +} +.loggedout .alert, +.no-navigation .alert { + top: -60px; +} +.loggedout .alert.visible, +.no-navigation .alert.visible { + top: 0; +} +.alert.visible { + top: 40px; +} + +/*/ Legacy Alert CSS (For pages that require the old deprecated banner css.) /*/ + +#alert, +#success { + border: 0; + margin: 0; + text-align: center; + color: #fff; + font-size: 20px; + line-height: 1em; +} +#alert { + background: #D86868; +} +#success { + background: #02b757; +} +#alert, +#success { + -webkit-transition: top .4s ease; + -o-transition: top .4s ease; + transition: top .4s ease; + position: fixed; + top: 40px; + left: 0; + margin: 0 auto; + width: 100%; + max-width: 970px; + right: 0; + z-index: 1029; +} + +.smallnavbarbutton:nth-child(1):hover, +.smallnavbarbutton:nth-child(3):hover, +.profilefriend #FeedContainerBox1Username:hover, +.smallnavbarbutton:nth-child(4):hover, +.smallnavbarbutton:nth-child(5):hover, +.smallnavbarbutton:nth-child(6):hover { + color: #00a2ff; + text-decoration: none; +} + +.smallnavbarbutton:nth-child(1):hover::before { + background-position: -28px -224px; +} + +.smallnavbarbutton:nth-child(1):before { + content: ''; + background-image: url(https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg); + background-repeat: no-repeat; + background-size: auto auto; + width: 28px; + height: 28px; + background-position: 0 -224px; +} + +.smallnavbarbutton:nth-child(2):hover { + color: #f68802; + text-decoration: none; +} + +.smallnavbarbutton:nth-child(2):hover::before { + background-position: -28px -252px; +} + +.smallnavbarbutton:nth-child(2):before { + content: ''; + background-image: url(https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg); + background-repeat: no-repeat; + background-size: auto auto; + width: 28px; + height: 28px; + background-position: 0 -252px; +} + +.smallnavbarbutton:nth-child(3):hover::before { + background-position: -28px -336px; +} + +.smallnavbarbutton:nth-child(3):before { + content: ''; + background-image: url(https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg); + background-repeat: no-repeat; + background-size: auto auto; + width: 28px; + height: 28px; + background-position: 0 -336px; +} + +.smallnavbarbutton:nth-child(4):hover::before { + background-position: -28px -196px; +} + +.smallnavbarbutton:nth-child(4):before { + content: ''; + background-image: url(https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg); + background-repeat: no-repeat; + background-size: auto auto; + width: 28px; + height: 28px; + background-position: 0 -196px; +} + +.smallnavbarbutton:nth-child(5):hover::before { + background-position: -28px -364px; +} + +.smallnavbarbutton:nth-child(5):before { + content: ''; + background-image: url(https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg); + background-repeat: no-repeat; + background-size: auto auto; + width: 28px; + height: 28px; + background-position: 0px -364px; +} + +.smallnavbarbutton:nth-child(6):hover::before { + background-position: -28px -475px; +} + +.smallnavbarbutton:nth-child(6):before { + content: ''; + background-image: url(https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg); + background-repeat: no-repeat; + background-size: auto auto; + width: 28px; + height: 28px; + background-position: 0 -475px; +} + +.smallnavbarbutton:before { + margin-right: 3px; +} + +.BannerRedesign { + background: #0074bd; + border: 0; + height: 40px; + padding: 0; + top: 0; + position: fixed; + align-items: center; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translateZ(0); + transform: translateZ(0); +} + +#NavigationRedesignBannerContainer { + height: 40px; + margin: 0; + width: 100%; +} + +.mySubmenuFixed.Redesign { + top: 0; + height: 0; + width: 0; + background: #fff; +} + +.Redesign .subMenu { + -webkit-transform: translateZ(0); + transform: translateZ(0); + -ms-transform: none; + position: fixed; + background: #fff; + box-shadow: 0 0 3px rgb(25 25 25 / 30%); + width: 175px; + display: block; + visibility: visible; + height: calc(100% - 40px); + font-family: 'Source Sans Pro'; + font-size: 16px; + left: 0; + overflow: hidden; + top: 40px; + z-index: 1001; + padding: 0; +} + +.smallnavbarbuttoncontainer { + padding: 5px 10px 0; + display: block; + height: calc(100% - 5px); +} + +.FeedContainerBox { + border: 0; +} + +.FeedContainerBoxImageContainer, +#ProfileContainerBox1ImageContainer, +#FriendsContainerBox1ImageContainer { + -webkit-transition: box-shadow 200ms ease; + -o-transition: box-shadow 200ms ease; + transition: box-shadow 200ms ease; + margin: 5px 24px 5px 5px; + border-radius: 50%; + background-color: #fff; + box-shadow: 0 1px 4px 0 rgb(25 25 25 / 30%); + height: 60px; + width: 60px; +} + +.FeedContainerBoxImageContainer:hover, +#ProfileContainerBox1ImageContainer:hover, +#FriendsContainerBox1ImageContainer:hover, +.profilefriend img:hover, +.profilefriend:hover img { + -webkit-transition: box-shadow 200ms ease; + -o-transition: box-shadow 200ms ease; + transition: box-shadow 200ms ease; + box-shadow: 0 1px 6px 0 rgb(25 25 25 / 75%); +} + +.profilefriend #FeedContainerBox1Username { + display: block; + margin: 3px 0 0; + text-align: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +#gamesframe { + padding: 0 +} + +.profilefriend img { + -webkit-transition: box-shadow 200ms ease; + -o-transition: box-shadow 200ms ease; + transition: box-shadow 200ms ease; + width: 90px; + height: 90px; + border-radius: 50%; + background-color: #fff; + box-shadow: 0 1px 4px 0 rgb(25 25 25 / 30%); +} + +#logo_small, +#logo_full, +#smallnav_open { + max-width: 76px; + width: auto; + margin: 0 12px; + padding: 0; +} + +#logo_small img, +#smallnav_open img { + padding: 5px 0; + width: 30px; + height: 30px; +} + +#logo_full .btn-logo { + padding: 5px 0; + max-width: 120px; + height: 30px; +} + +#smallnav_open { + cursor: pointer; + background-image: url("https://images.rbxcdn.com/f4000b6d03a0df7153556d2514045629-navigation_10022018.svg"); + background-position: 0 0px; + background-repeat: no-repeat; + background-size: auto auto; + width: 30px; + margin: 0px; + margin-top: 6px; + margin-left: 10px; + height: 30px; + float: left; +} + +.btn-logo:hover, +.smallnavbarbutton:hover, +.navbarbuttoncontainer li:hover { + background-image: none; + background: none; +} + +#logo_full, +#logo_full .btn-logo { + height: 30px; +} + +.navbarbuttoncontainer { + display: flex; + min-height: 40px; + align-items: center; + justify-content: flex-start; + align-content: center; + flex-wrap: nowrap; + flex-direction: row; +} + +.navbarbuttoncontainer li { + padding: 0; + margin: 0; + padding-left: 5px; + height: 40px +} + +#NavigationRedesignBannerContainer ul li a, .NavigationRedesign ul li a:visited, .navbarbutton { + color: #fff; + font-family: "Source Sans Pro", Arial, 'Helvetica Neue', sans-serif; + padding: 6px 9px; + width: auto; + font-size: 16px; + line-height: 1.4em; + font-weight: 400; + position: relative; + display: block; + float: left; + margin: 4px auto; + top: 0; + text-shadow: none; +} + +#NavigationRedesignBannerContainer { + font-family: "Source Sans Pro", Arial, 'Helvetica Neue', sans-serif; +} + +#NavigationRedesignBannerContainer ul li a:hover, .navbarbutton:hover { + background-color: #191919; + background-color: rgba(25, 25, 25, .1); + border-radius: 5px; + text-decoration: none; +} + +#FeedBox { + border: 1px solid #B8B8B8; + color: #191919; + font-weight: 300; + font-size: 16px; + padding: 5px 12px; + border-radius: 3px; +} + +#FeedBox:focus { + box-shadow: none; + border-color: #00A2FF; +} + +.content_special, #content_special { + overflow: visible; +} + +#feed { + background-color: #fff; + box-shadow: 0 1px 4px 0 rgb(25 25 25 / 30%); + padding: 15px; + margin-right: 10px; +} + +#feed h2 { + text-align: left; + font-size: 24px; + font-weight: 300; +} + +.invisible_navbar { + display: none; +} + +#footer_signup { + /*Remove this for now as i don't know a fix for the broken footer.*/ + /*Tersis, if you're seeing this, find a way to get the signup footer to work properly*/ + display: none; +} + +#footer, +#footer_signup { + padding: 12px; + background-color: #fff; + position: relative; + margin: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + max-width: 100%; +} + +#footer p, +#footer a:nth-child(2), +#footer_signup p, +#footer_signup a:nth-child(2) { + color: #b8b8b8; + transition: none; +} + +#footer a:nth-child(2):hover, +#footer a:nth-child(2):focus, +#footer_signup a:nth-child(2):hover, +#footer_signup a:nth-child(2):focus { + color: #191919; + text-decoration: none; +} + +#footer a:nth-child(1), +#footer_signup a:nth-child(1), .content_signup a:hover, .content_signup p a:hover, #footer_signup a:hover, #footer_signup p a:hover, #footer a:hover, #footer p a:hover { + color: #00a2ff; + transition: none; +} + +#footer a:nth-child(1):hover, +#footer_signup a:nth-child(1):hover { + text-decoration: none; +} + +#footer p, +#footer a { + max-width: 970px; + text-align: center; + margin: 0 auto; +} + +button.bluebutton, +.tab_selected { + border: 1px solid transparent; + background: #00A2FF; + border-color: #00A2FF; + -webkit-transition: box-shadow 200ms ease-in-out; + -o-transition: box-shadow 200ms ease-in-out; + transition: box-shadow 200ms ease-in-out; + border-radius: 3px; +} + +button.bluebutton:hover, +button.bluebutton:focus, +.tab_selected:hover, +.tab_selected:focus { + background: #32B5FF; + box-shadow: 0 1px 3px rgb(150 150 150 / 74%); + border-color: #32B5FF; + color: #fff; + text-decoration: none +} + +button.greybutton, +.tab { + -webkit-transition: box-shadow 200ms ease-in-out; + -o-transition: box-shadow 200ms ease-in-out; + transition: box-shadow 200ms ease-in-out; + border: 1px solid transparent; + background: #fff; + border-color: #B8B8B8; + color: #191919 !important; + border-radius: 3px; +} + +button.greybutton:hover, +button.greybutton:focus, +.tab:hover, +.tab:focus { + background: #fff; + box-shadow: 0 1px 3px rgb(150 150 150 / 74%); + border-color: #B8B8B8; + color: #191919; + text-decoration: none +} + +button.redbutton { + transition: box-shadow 200ms ease-in-out; + border: 1px solid transparent; + background: #D86868; + border-color: #D86868; + color: #fff; + border-radius: 3px; +} + +button.redbutton:hover, +button.redbutton:focus { + background: #E27676; + box-shadow: 0 1px 3px rgb(150 150 150 / 74%); + border-color: #E27676; +} + +button.greenbutton { + -webkit-transition: box-shadow 200ms ease-in-out; + -o-transition: box-shadow 200ms ease-in-out; + transition: box-shadow 200ms ease-in-out; + border: 1px solid transparent; + background: #02b757; + border-color: #02b757; + border-radius: 3px; +} + +button.greenbutton:hover, +button.greenbutton:focus { + background: #3FC679; + box-shadow: 0 1px 3px rgb(150 150 150 / 74%); + border-color: #3FC679; +} + +div[style="color:white;background-color:green;text-align:center;margin-top:72px"] { + background-color: #02b757 !important +} + +p[style="color: darkred;"], +.important { + color: #D86868 !important; +} + +.rightgamecontainer { + text-align: left; +} + +a, +.content a, +.content_signup p a { + color: #00A2FF +} + +a:hover, +.content_signup p a:hover { + text-decoration: underline; +} + +textarea, +input { + background-color: #fff; + border: 1px solid #b8b8b8; + color: #191919; + border-radius: 3px +} + +textarea:focus, +input:focus { + border-color: #00A2FF +} + +#navbarsignedincontainer a { + color: #fff; + height: 25px; +} + +button:hover a { + text-decoration: none; +} + +.onlinestatus_website { + color: #00A2FF; +} + +.onlinestatus_studio { + color: #F68802; +} + +.onlinestatus_ingame { + color: #02b757; +} + +.onlinestatus_offline { + color: #b8b8b8; +} + +#NavigationRedesignBannerContainer .HeaderDivider { + display: none; +} + +#logo_full { + display: none; +} + +#logo_small { + display: block; +} + +@media (min-width: 1688px) { + #smallnav_open { + display: none; + } + + .mySubmenuFixed { + display: block; + } + + #logo_full img, + #logo_full { + max-width: 200px; + width: 120px; + } + + .content, iframe { + padding-left: 180px; + padding-right: 10px; + } + + #logo_full { + display: block; + } + + #logo_small { + display: none; + } +} + +@media (max-width: 970px) { + .navbarbuttoncontainer a { + font-size: 16px; + top: 0px; + } +} + +@media (min-width: 992px) { + .navbar { + height: 40px; + } +} + +@media (max-width: 767px) { + .navbarbuttoncontainer a { + font-size: 10px; + line-height: 1.9em; + top: 0px; + } +} + +@media (max-width: 560px) { + .navbarbuttoncontainer a { + font-size: 8px; + line-height: 2.2em; + top: 0px; + } +} + +@media (max-width: 560px) { + .navbarbuttoncontainer a { + font-size: 6px; + line-height: 3.5em; + top: 0px; + } +} \ No newline at end of file diff --git a/public/temp/css/AdminPanel.css b/public/temp/css/AdminPanel.css new file mode 100644 index 0000000..83c91c9 --- /dev/null +++ b/public/temp/css/AdminPanel.css @@ -0,0 +1,521 @@ +/*/=={ Written by TersisWilvin (TersisWilvin#0087 | 9T2K#0016) for the New Admin Panel Pages }==/*/ +/*/=={ Includes => Default theme > Light theme > Dark theme }==/*/ + +.EnableNewPanel ::selection { + background: rgba(0, 0, 0, 0.25); + color: #fff; +} +:focus-visible { + outline: 0; +} + +.EnableNewPanel .AdminPanel { + display: none; +} + +a, a:hover, a:focus, a:link, a:visited { + color: inherit; + font-weight: 300; + text-decoration: none; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0; + line-height: 1.2em; +} +h1 { + font-size: 32px; + font-weight: 900; +} +h2 { + font-size: 28px; + font-weight: 900; +} +h3 { + font-size: 24px; + font-weight: 600; +} +h4 { + font-size: 20px; + font-weight: 600; +} +h5 { + font-size: 16px; + font-weight: 300; +} +h6 { + font-size: 12px; + font-weight: 300; +} + +body.EnableNewPanel { + background: #c3c5c9; + color: #3d3c3b; + font: 16px Arial,Helvetica,sans-serif; + font-weight: 300; + height: 100%; + width: 100%; + margin: 0; +} +.NewAdminPanel { + height: 100%; + width: 100%; + position: absolute; +} +.Admin-Navigation { + width: 100%; + height: 100px; + position: fixed; + left: 0; + right: 0; + top: 0; +} +.AdminContainer { + height: auto; + width: 100%; +} +.AdminContainer { + margin: 130px auto 0 auto; + top: 0; + position: absolute; +} +body.Segoe-Font { + font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; + font-size: 16px; + font-weight: 400; +} +.Admin-Navigation .Header { + background: #a0a0a0; + color: #fff; + width: 100%; + height: 75px; + position: relative; + z-index: 10000; +} +.Admin-Navigation .Header .PanelLogo { + display: block; + margin: auto; + padding: 6px; + width: 200px; + height: 35px; + opacity: .8; + background-image: url(/img/MORBLOXlogo.png); + background-size: 190px 33px; + background-repeat: no-repeat; + background-position: center; + image-rendering: auto; + -webkit-transition: opacity .125s ease-in-out, background-size .125s ease-in-out; + -moz-transition: opacity .125s ease-in-out, background-size .125s ease-in-out; + -ms-transition: opacity .125s ease-in-out, background-size .125s ease-in-out; + -o-transition: opacity .125s ease-in-out, background-size .125s ease-in-out; + transition: opacity .125s ease-in-out, background-size .125s ease-in-out; +} +.Admin-Navigation .Header .PanelLogo:hover { + background-size: 200px 35px; + opacity: 1; +} +.Admin-Navigation .Header .PanelLogo:active { + background-size: 185px 32px; + opacity: .7; +} +.Admin-Navigation .Header .SubSlogan { + text-shadow: 2px 2px 2px #5b5457; + color: #3d3c3b; + letter-spacing: .2rem; + padding: 5px 0; + margin: auto; + display: block; + width: 100%; + text-align: center; + width: fit-content; +} +.Admin-Navigation .Header .usernamecontainer { + top: 10px; + right: 10px; + display: inline-block; + position: absolute; + -webkit-transition: top .125s ease-in-out, right .125s ease-in-out, left .125s ease-in-out; + -moz-transition: top .125s ease-in-out, right .125s ease-in-out, left .125s ease-in-out; + -ms-transition: top .125s ease-in-out, right .125s ease-in-out, left .125s ease-in-out; + -o-transition: top .125s ease-in-out, right .125s ease-in-out, left .125s ease-in-out; + transition: top .125s ease-in-out, right .125s ease-in-out, left .125s ease-in-out; +} +.Admin-Navigation .Header .usernamecontainer:active { + top: 11px; + right: 8px; +} +.APURO2 .Admin-Navigation .Header .usernamecontainer { + left: 10px; + right: auto; +} +.APURO2 .Admin-Navigation .Header .usernamecontainer:active { + Left: 12px; +} +.usernamecontainer .stext { + color: #3d3c3b; + text-shadow: 2px 1px 1px #767A73; + -webkit-transition: text-shadow .125s ease-in-out; + -moz-transition: text-shadow .125s ease-in-out; + -ms-transition: text-shadow .125s ease-in-out; + -o-transition: text-shadow .125s ease-in-out; + transition: text-shadow .125s ease-in-out; + display: none; +} +.usernamecontainer .clickabletext { + -webkit-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, text-shadow .125s ease-in-out; + -moz-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, text-shadow .125s ease-in-out; + -ms-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, text-shadow .125s ease-in-out; + -o-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, text-shadow .125s ease-in-out; + transition: color .125s ease-in-out, box-shadow .125s ease-in-out, text-shadow .125s ease-in-out; + display: unset; +} +.APURO2 .usernamecontainer .stext { + display: unset; +} +.usernamecontainer .clickabletext:hover { + color: #efebec; + box-shadow: 0 2px 0 0 #efebec; +} +.usernamecontainer .clickabletext:active, .usernamecontainer:active .stext { + text-shadow: 0 0 0 #b7b9ba; + box-shadow: 0 0 0 0 transparent; +} +.Admin-Navigation .SubHeader { + background: #a0a0a0; + width: 100%; + height: 25px; + position: absolute; + list-style-type: none; + margin: 0; + padding: 0; + border-bottom-left-radius: 12px; + border-bottom-right-radius: 12px; + box-shadow: 0px 0px 10px 5px #606060; + box-shadow: 0px 0px 10px 5px rgba(0 0 0 / 50%); + z-index: 9999; +} +.Admin-Navigation .SubHeader::after { + content: ''; + background-image: url(/img/ABXAdmin-SubHeader.png); + opacity: .5; + width: 100%; + height: 25px; + display: block; + border-bottom-left-radius: 12px; + border-bottom-right-radius: 12px; +} +.Admin-Navigation .sub-menu { + display: block; + position: relative; + width: 33.33%; + height: 100%; + text-align: center; + float: left; + z-index: 1; +} +.Admin-Navigation .menu { + font-size: 14px; + line-height: 1.7rem; + -webkit-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, padding .125s ease-in-out; + -moz-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, padding .125s ease-in-out; + -ms-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, padding .125s ease-in-out; + -o-transition: color .125s ease-in-out, box-shadow .125s ease-in-out, padding .125s ease-in-out; + transition: color .125s ease-in-out, box-shadow .125s ease-in-out, padding .125s ease-in-out; +} +.Admin-Navigation .menu[active] { + padding: 0 0 2px 0; + box-shadow: 0 2px 0 0 #0f7eda; +} +.Admin-Navigation .menu:hover { + color: #efebec; + padding: 0 0 2px 0; + box-shadow: 0 2px 0 0 #efebec; +} + +.Btn-Demo { + width: 32.7%; + width: max-content; + margin: auto; +} +.Btn-Demo button { + margin-right: 5px; +} +.AdminContainer .Btn-Demo .H-24sB { + margin: 0 0 5px; +} + +.no-Nav .AdminContainer { + margin: 0 auto; +} +.no-Header .AdminContainer { + margin: 55px auto 0 auto; +} +.no-Header .Admin-Navigation { + height: 25px; +} + +[hidden] { + display: none !important; + visibility: hidden !important; +} + +[noselect] { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/*/=={ Status }==/*/ + + + +/*/=={ Buttons }==/*/ + +/*/ Blue /*/ + +.sm-btn-blue { + background: #0f7eda; + border: 1px solid #0f7eda; + border-radius: 4px; + font-size: 16px; + padding: 4px; + color: #fff; +} +.sm-btn-blue:hover, .sm-btn-blue:focus { + background: #118ff7; + border-color: #118ff7; + color: #fff; + cursor: pointer; +} +.sm-btn-blue:active { + background: #118ff7; + color: #fff; +} +.md-btn-blue { + background: #0f7eda; + border: 1px solid #0f7eda; + border-radius: 4px; + font-size: 16px; + padding: 7px; + color: #fff; +} +.md-btn-blue:hover, .md-btn-blue:focus { + background: #118ff7; + border-color: #118ff7; + color: #fff; + cursor: pointer; +} +.md-btn-blue:active { + background: #118ff7; + color: #fff; +} +.lg-btn-blue { + background: #0f7eda; + border: 1px solid #0f7eda; + border-radius: 6px; + font-size: 22px; + padding: 14px; + color: #fff; +} +.lg-btn-blue:hover, .lg-btn-blue:focus { + background: #118ff7; + border-color: #118ff7; + color: #fff; + cursor: pointer; +} +.lg-btn-blue:active { + background: #118ff7; + color: #fff; +} + +.sm-btn-blue[disabled], .sm-btn-blue[disabled]:hover, .sm-btn-blue[disabled]:focus, .sm-btn-blue[disabled]:active { + background: #0a5898; + border-color: #0a5898; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} +.md-btn-blue[disabled], .md-btn-blue[disabled]:hover, .md-btn-blue[disabled]:focus, .md-btn-blue[disabled]:active { + background: #0a5898; + border-color: #0a5898; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} +.lg-btn-blue[disabled], .lg-btn-blue[disabled]:hover, .lg-btn-blue[disabled]:focus, .lg-btn-blue[disabled]:active { + background: #0a5898; + border-color: #0a5898; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} + +/*/ Green /*/ + +.sm-btn-green { + background: #0caf63; + border: 1px solid #0caf63; + border-radius: 4px; + font-size: 16px; + padding: 4px; + color: #fff; +} +.sm-btn-green:hover, .sm-btn-green:focus { + background: #0fda7b; + border-color: #0fda7b; + color: #fff; + cursor: pointer; +} +.sm-btn-green:active { + background: #0fda7b; + color: #fff; +} +.md-btn-green { + background: #0caf63; + border: 1px solid #0caf63; + border-radius: 4px; + font-size: 16px; + padding: 7px; + color: #fff; +} +.md-btn-green:hover, .md-btn-green:focus { + background: #0fda7b; + border-color: #0fda7b; + color: #fff; + cursor: pointer; +} +.md-btn-green:active { + background: #0fda7b; + color: #fff; +} +.lg-btn-green { + background: #0caf63; + border: 1px solid #0caf63; + border-radius: 6px; + font-size: 22px; + padding: 14px; + color: #fff; +} +.lg-btn-green:hover, .lg-btn-green:focus { + background: #0fda7b; + border-color: #0fda7b; + color: #fff; + cursor: pointer; +} +.lg-btn-green:active { + background: #0fda7b; + color: #fff; +} + +.sm-btn-green[disabled], .sm-btn-green[disabled]:hover, .sm-btn-green[disabled]:focus, .sm-btn-green[disabled]:active { + background: #0a9840; + border-color: #0a9840; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} +.md-btn-green[disabled], .md-btn-green[disabled]:hover, .md-btn-green[disabled]:focus, .md-btn-green[disabled]:active { + background: #0a9840; + border-color: #0a9840; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} +.lg-btn-green[disabled], .lg-btn-green[disabled]:hover, .lg-btn-green[disabled]:focus, .lg-btn-green[disabled]:active { + background: #0a9840; + border-color: #0a9840; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} + +/*/ Red /*/ + +.sm-btn-red { + background: #af320c; + border: 1px solid #af320c; + border-radius: 4px; + font-size: 16px; + padding: 4px; + color: #fff; +} +.sm-btn-red:hover, .sm-btn-red:focus { + background: #da380f; + border-color: #da380f; + color: #fff; + cursor: pointer; +} +.sm-btn-red:active { + background: #da380f; + color: #fff; +} +.md-btn-red { + background: #af320c; + border: 1px solid #af320c; + border-radius: 4px; + font-size: 16px; + padding: 7px; + color: #fff; +} +.md-btn-red:hover, .md-btn-red:focus { + background: #da380f; + border-color: #da380f; + color: #fff; + cursor: pointer; +} +.md-btn-red:active { + background: #da380f; + color: #fff; +} +.lg-btn-red { + background: #af320c; + border: 1px solid #af320c; + border-radius: 6px; + font-size: 22px; + padding: 14px; + color: #fff; +} +.lg-btn-red:hover, .lg-btn-red:focus { + background: #da380f; + border-color: #da380f; + color: #fff; + cursor: pointer; +} +.lg-btn-red:active { + background: #da380f; + color: #fff; +} + +.sm-btn-red[disabled], .sm-btn-red[disabled]:hover, .sm-btn-red[disabled]:focus, .sm-btn-red[disabled]:active { + background: #98320a; + border-color: #98320a; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} +.md-btn-red[disabled], .md-btn-red[disabled]:hover, .md-btn-red[disabled]:focus, .md-btn-red[disabled]:active { + background: #98320a; + border-color: #98320a; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} +.lg-btn-red[disabled], .lg-btn-red[disabled]:hover, .lg-btn-red[disabled]:focus, .lg-btn-red[disabled]:active { + background: #98320a; + border-color: #98320a; + box-shadow: none; + color: #fff; + opacity: .5; + cursor: not-allowed; +} \ No newline at end of file diff --git a/public/temp/css/AdminPanelCSS.css b/public/temp/css/AdminPanelCSS.css new file mode 100644 index 0000000..d44e799 --- /dev/null +++ b/public/temp/css/AdminPanelCSS.css @@ -0,0 +1,745 @@ +/*/ Written by TersisWilvin (TersisWilvin#0087) for the ARCHBLOX Admin Panel Utility Pages. +Includes -> Fallback Theme (Color Theme) -> Light Theme -> Dark Theme. +/*/ + +::selection { + background-color: #75757580; +} + +body { + background: #e3e3e3; + min-width: 0px; + font-family: Arial,Helvetica,sans-serif; +} +body :focus-visible { + outline: none !important; +} +.light-theme { + background-color: #ccc; + color: #2d312d; +} +.dark-theme { + background-color: #111; + color: #ddd; +} + +@font-face +{ + font-family: "copenhagen-icons"; + src: url(copenhagen-icons-268fb7c014de8a06d7d40310b5000daa..woff) format("woff"); + font-weight: normal; + font-style: normal +} + +h1 { + font-size: 32px; + font-weight: 800; +} +h2 { + font-size: 26px; + font-weight: 800; +} +h3 { + font-size: 20px; + font-weight: 600; +} +h4 { + font-size: 18px; + font-weight: 400; +} +h5 { + font-size: 16px; + font-weight: 400; +} +h6 { + font-size: 12px; + font-weight: 200; +} + +br { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +a { + color: inherit; + font-weight: normal; +} + +.AdminPanel { + height: 100%; +} +#MasterContainer.AdminPanel { + background: #e3e3e3; +} +.light-theme #MasterContainer.AdminPanel { + background-color: #ccc; +} +.dark-theme #MasterContainer.AdminPanel { + background-color: #111; +} +#MasterContainer #BodyWrapper { + padding-top: 25px; +} +#MasterContainer #BodyWrapper { + background: #e3e3e3; + color: #191919; +} +.light-theme #MasterContainer #BodyWrapper { + background-color: #ccc; + color: #2d312d; +} +.dark-theme #MasterContainer #BodyWrapper { + background-color: #111; + color: #ddd +} +#AdminWrapper.Navigation { + width: 100%; +} +.AdminHeader { + background: #0074bd; + width: 100%; + height: 75px; + z-index: 2; + position: relative; +} +.light-theme .AdminHeader { + background-color: #aaa; +} +.dark-theme .AdminHeader { + background-color: #333; +} +.AdminSubHeader { + background: #0074bd; /*/Fallback for older browsers/*/ + background: linear-gradient(180deg, #0074bd, #004774); + box-shadow: 0 2px 8px 0 #000; + width: 100%; + height: 25px; + z-index: 1; + position: relative; + border-bottom-left-radius: 15px; + border-bottom-right-radius: 15px; +} +.light-theme .AdminSubHeader { + background: #aaa; /*/Fallback for older browsers/*/ + background: linear-gradient(180deg, #aaa, #555); + box-shadow: 0 2px 8px 0 #000; +} +.dark-theme .AdminSubHeader { + background: #333; /*/Fallback for older browsers/*/ + background: linear-gradient(180deg, #333, #191919); + box-shadow: 0 2px 8px 0 #000; +} +.AdminSubHeader ul { + padding: 0; + margin: auto auto; + width: 100%; + height: 25px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + justify-content: center; +} +.AdminSubHeader li { + color: #191919; + width: 25%; + text-align: center; + list-style: none; + padding: 5px 0; +} +.light-theme .AdminSubHeader li { + color: #000; +} +.dark-theme .AdminSubHeader li { + color: #fff; +} +.AdminSubHeader li a { + color: #fff; + font-size: 14px; + font-weight: 100; + cursor: pointer; + transition: .1s all linear; +} +.light-theme .AdminSubHeader li a { + color: #222; +} +.dark-theme .AdminSubHeader li a { + color: #bbb; +} +.AdminSubHeader li a:hover, .AdminSubHeader li a:active { + transition: .1s all linear; +} +.AdminSubHeader li a:hover, .AdminSubHeader li a:active, .light-theme .AdminSubHeader li a:hover, .light-theme .AdminSubHeader li a:active, .dark-theme .AdminSubHeader li a:hover, .dark-theme .AdminSubHeader li a:active { + color: #fff; + box-shadow: 0 2px 0 0 #fff; +} +.AdminSubHeader li a.active { + box-shadow: 0 2px 0 0 #00b7ff; +} +.AdminSubHeader li a:focus { + color: #dbdbdb; + box-shadow: 0 2px 0 0 #dbdbdb; +} +.AdminSubHeader li a.active:focus { + box-shadow: 0 2px 0 0 #11749b; +} +.AdminPanel .logoutbtn { + color: #00b7ff; + cursor: default; + top: 10px; + left: 10px; + font-size: 16px; + font-weight: 100; + position: absolute; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + flex-direction: row-reverse; +} +.AdminPanel .logoutarrow { + height: 16px; + width: 16px; +} +.AdminPanel .logoutarrow:before { + font-family: "copenhagen-icons"; + font-style: normal; + font-weight: normal; + line-height: 1.1em; + -webkit-font-smoothing: antialiased; + transform: rotate(180deg); + position: absolute; +} +.AdminPanel .logoutarrow:before { + content: '\2794'; +} +.AdminHeader .Slogan { + color: #fff; + text-shadow: #00000091 2px 2px; + font-size: 16px; + font-weight: 100; + display: block; + text-align: center; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.light-theme .AdminHeader .Slogan { + color: #222; + text-shadow: #55555591 2px 2px; +} +.dark-theme .AdminHeader .Slogan { + color: #bbb; + text-shadow: #11111191 2px 2px; +} +.AdminHeader .SiteBrand { + width: 200px; + height: 40px; + padding: 5px; + opacity: .9; + background-image: url(/img/MORBLOXlogo.png); + background-repeat: no-repeat; + background-size: contain; + background-position: 0; + transition: .1s opacity linear; + display: block; + margin: auto; +} +.light-theme .AdminHeader .SiteBrand { + opacity: .7; +} +.dark-theme .AdminHeader .SiteBrand { + opacity: .8; +} +.AdminHeader .SiteBrand:hover { + opacity: 1; +} +.AdminPanel #Body { + background: #e3e3e3 +} +.light-theme .AdminPanel #Body { + background-color: #ccc; +} +.dark-theme .AdminPanel #Body { + background-color: #111; +} +.AdminPanel .MainHeader, .AdminPanel .SubHeader { + text-align: center; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.AdminPanel .Reminder { + color: #f68802 +} +.light-theme .AdminPanel .Reminder, .dark-theme .AdminPanel .Reminder { + color: #ff7300 +} +.text-error { + display: block; + text-align: center; + color: #d86868; + font-weight: 200; + padding: 5px; +} +.light-theme .text-error, .dark-theme .text-error { + color: #d6241a; +} +.text-header { + display: block; + text-align: center; + padding: 5px 0; +} +.text-secondary { + color: #191919; + display: inline-block; + text-align: left; +} +.light-theme .text-secondary { + color: #555; +} +.dark-theme .text-secondary { + color: #bbb; +} +.AdminPanel .Stats-Wrapper { + text-align: center; + padding: 4px; +} +.AdminPanel .StatsContainer { + margin: 15px 15px 0 15px; + padding: 15px; + border: 1px dashed #ff7300; +} +.AdminPanel .StatsContainer { + background-color: #b8b8b8; + } +.light-theme .AdminPanel .StatsContainer { + background-color: #aaa; +} +.dark-theme .AdminPanel .StatsContainer { + background-color: #080808; +} +.AdminPanel .Userlist { + margin: 10px; +} +.AdminPanel form div { + text-align: center; +} +.SearchCloseBtn { + color: #af1400; + transition: .1s linear; + left: auto; + margin-left: -23px; + margin-top: 3px; + position: absolute; + font-size: 16px; +} +.SearchCloseBtn:hover { + color: #d41900; +} +.AdminPanel #SearchInput { + border: 1px solid #b8b8b8; + color: #191919; + background: #fff; + border-radius: 3px; +} +.light-theme .AdminPanel #SearchInput { + border: 1px solid #bbb; + color: #1b1b1b; + background-color: #fff; +} +.dark-theme .AdminPanel #SearchInput { + border: 1px solid #555; + color: #bbb; + background-color: #000; +} +.AdminPanel #SearchInput:focus, .AdminPanel #SearchInput:active { + border-color: #0099ff; +} +#SearchInput, .btn-neutral { + margin: 0 5px; +} +.AdminPanel .Stats { + color: #191919; + font-size: 16px; + font-weight: 100; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.light-theme .AdminPanel .Stats { + color: #222; +} +.dark-theme .AdminPanel .Stats { + color: #a7a7a7; +} +.AdminPanel .Stats.Counter { + color: #000; + font-weight: 400; +} +.light-theme .AdminPanel .Stats.Counter { + color: #000; +} +.dark-theme .AdminPanel .Stats.Counter { + color: #fff; +} +.AdminPanel .Stat-Separator { + background: #000; /*/Fallback for older browsers/*/ + background: linear-gradient(90deg,#ffffff00 0%, #fff 50%, #ffffff00 100%); + width: 50%; + height: 1px; + display: block; + margin: auto; +} +.light-theme .AdminPanel .Stat-Separator { + background: #000; /*/Fallback for older browsers/*/ + background: linear-gradient(90deg,#00000000 0%, #000 50%, #00000000 100%); +} +.dark-theme .AdminPanel .Stat-Separator { + background: #555; /*/Fallback for older browsers/*/ + background: linear-gradient(90deg,#55555500 0%, #555 50%, rgb(85, 85, 85,0) 100%); +} +.AdminPanel .SearchContainer { + background: #b8b8b8; + width: 235px; + height: auto; + border-radius: 5px; + margin: 62px 25px 0 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: block; /*/Fallback for older browsers/*/ + display: flex; + align-items: center; + align-content: center; + flex-direction: column; +} +.light-theme .AdminPanel .SearchContainer { + background-color: #bbb; +} +.dark-theme .AdminPanel .SearchContainer { + background-color: #555; +} +.SearchContainer .Thumbnail { + background-color: #b8b8b8; + border: 5px solid #e3e3e3; + height: 64px; + width: 64px; + margin-top: -37px; + border-radius: 100%; +} +.light-theme .SearchContainer .Thumbnail { + background-color: #bbb; + border-color: #ccc; +} +.dark-theme .SearchContainer .Thumbnail { + background-color: #555; + border-color: #111; +} +.SearchBoard { + width: 100%; + height: 100%; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: center; + align-items: flex-start; +} +.SearchContainer .UserThumbnail { + background-image: url(/img/defaultrender.png); + background-size: contain; + width: 100%; + height: 100%; +} +.SearchContainer .UserDetails { + padding: 5px; +} +.SearchContainer .SearchBox { + width: 100%; +} +.AuthenticatedUserNameWrapper { + top: 10px; + right: 10px; + font-size: 16px; + font-weight: 100; + display: inline-block; + position: absolute; + color: #fff; + cursor: default; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.light-theme .AuthenticatedUserNameWrapper { + color: #0D0D0D; +} +.dark-theme .AuthenticatedUserNameWrapper { + color: #fff; +} +.AuthenticatedUserName, .logoutarrow { + color: #00a2ff; + transition: .25s all ease-in-out; + display: inline-block; +} +.AuthenticatedUserName { + color: #00a2ff; +} +.light-theme .AuthenticatedUserName, .light-theme .logoutarrow { + color: #0387bb; +} +.dark-theme .AuthenticatedUserName, .dark-theme .logoutarrow { + color: #00b7ff; +} +.AuthenticatedUserName:hover, .logout:hover + .logoutarrow { + color: #7ddaff; + transition: .25s all ease-in-out; +} +.UserDetails .Row { + overflow-wrap: anywhere; +} +.SearchContainer .Thumbnail a { + width: 12px; + height: 12px; + display: block; + float: right; + top: -12px; + position: relative; + border-radius: 50%; +} +.ingame { + display: none; /*TODO*/ +} +.online { + background: #0087e0; /*/Fallback for older browsers/*/ + background: linear-gradient(0deg, #0087e0 0%, #005085 49%,#005a85 50%, #0099ff 95%, #fff 100%); + width: 12px; + height: 12px; + display: block; + border-radius: 50%; + margin: -8px; +} +.offline { + background: #a3a3a3; /*/Fallback for older browsers/*/ + background: linear-gradient(0deg, #a3a3a3 0%, #7a7a7a 49%, #797979 50%, #c9c9c9 95%, #fff 100%); + width: 12px; + height: 12px; + display: block; + border-radius: 50%; + margin: -8px; +} +.online, .offline, .ingame { + border: 2px solid #e3e3e3; +} +.light-theme .online, .light-theme .offline, .light-theme .ingame { + border-color: #ccc; +} +.dark-theme .online, .dark-theme .offline, .dark-theme .ingame { + border-color: #111; +} +.info-hidden { + font-style: italic; +} +.info-error { + color: #ff3300; + font-style: italic; + cursor: not-allowed; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.info-email { + color: #444; +} + +/*Heavily based off of the roblox developer tree list (because it looks cool)*/ +.SearchTree { + width: 260px; + height: 100%; + padding: 0; + margin: 10px auto 0; + min-height: 550px; +} +.SearchTree .Menu { + list-style-type: none; + position: relative; + top: 0; + bottom: 0; + line-height: 20px; + min-height: 550px; +} +.SearchTree a { + color: #191919; + transition: .15s all ease-in-out; + font-size: 14px; + margin: 0 0 0 38px; + padding-right: 5px; + position: relative; + top: 18px; + display: inline-block; +} +.SearchTree a:hover { + color: #00a2ff; +} +.light-theme .SearchTree a { + color: #565656; +} +.dark-theme .SearchTree a { + color: #9b9b9b; +} +.light-theme .SearchTree a:hover { + color: #0387bb; +} +.dark-theme .SearchTree a:hover { + color: #00b7ff; +} +.SearchTree a::after { + content: ''; + border: 1px solid #191919; + border-radius: 100%; + width: 2px; + height: 2px; + display: inline-block; + left: -10px; + position: absolute; + top: 9px; +} +.light-theme .SearchTree a::after { + border-color: #222; +} +.dark-theme .SearchTree a::after { + border-color: #555; +} +.SearchTree a span { + display: block; +} +#BodyWrapper .forwardArrow::before { + font-family: "copenhagen-icons"; + font-style: normal; + font-weight: normal; + line-height: 1em; + -webkit-font-smoothing: antialiased; +} +#BodyWrapper .forwardArrow::before { + content: '\2794'; +} +#BodyWrapper .forwardArrow { + position: relative; + display: inline-block; + margin: 0; + padding: 0; + line-height: 14px; +} +#BodyWrapper .forwardArrow::after, #BodyWrapper .userInfo::after { + display: none; +} +#BodyWrapper .userInfo { + margin: 0; +} +#BodyWrapper .userInfo::before { + font-family: "copenhagen-icons"; + font-style: normal; + font-weight: normal; + line-height: 1em; + -webkit-font-smoothing: antialiased; +} +#BodyWrapper .userInfo::before { + content: '\2139'; + border-radius: 100%; +} +.TreeList { + border-left: 1px dashed #191919; + margin: 13px 0 0 30px; + padding: 0; +} +.light-theme .TreeList { + border-color: #222; +} +.dark-theme .TreeList { + border-color: #555; +} +#DropDown.TreeList { + min-height: 550px; +} +.SearchTree li ul li { + list-style-type: none; + position: relative; + top: 3px; + bottom: 0; + padding-bottom: 16px; + white-space: nowrap; +} +.SearchTree li ul li:last-child { + padding-bottom: 11px; +} +.SearchTree li ul li.subList { + padding-bottom: 0; +} +.SearchTree li ul li:before { + border-top: 1px dashed #191919; + content: ''; + display: inline-block; + width: 25px; + height: 0; + position: absolute; + left: 0em; + top: 28px; +} +.light-theme .SearchTree li ul li:before { + border-color: #222; +} +.dark-theme .SearchTree li ul li:before { + border-color: #555; +} + +body:not(.EnableNewPanel) .NewAdminPanel { + display: none;; +} + +@media (max-width:990px) { + .AdminPanel #Body, .AdminPanel #BodyWrapper, .AdminPanel #MasterContainer { + width: 100% !important; + padding: 0; + } +} +@media (max-width: 600px) { + .AuthenticatedUserNameWrapper { + font-size: 10px; + } +} +@media (max-width:500px) { + .AuthenticatedUserNameWrapper { + display: none; + } +} \ No newline at end of file diff --git a/public/temp/css/FetchCSS.css b/public/temp/css/FetchCSS.css new file mode 100644 index 0000000..eb4d685 --- /dev/null +++ b/public/temp/css/FetchCSS.css @@ -0,0 +1,20388 @@ +/* ~/CSS/Base/CSS/Roblox.css */ +a { + text-decoration: none; +} + +a img { + border: none; +} + +a:link, +a:visited, +a:active { + color: #095fb5; +} + +a:hover { + text-decoration: underline; +} + +abbr, +acronym { + cursor: help; + border-bottom: 1px dotted #000; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; + font-size: 100%; + font-weight: inherit; + display: inline-block; + *display: inline; + zoom: 1; +} + +.PrivacyPolicy h2 { + font-size: 1.5em; + font-weight: bold; +} + +.PrivacyPolicy h3 { + font-size: 1.17em; + font-weight: bold; +} + +pre { + white-space: pre-wrap; + white-space: -moz-pre-wrap !important; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + +input.Text { + border-color: #777; + border-style: dashed; +} + +.AdminPanel { + border-color: Orange; + border-style: dotted; + padding: 10px; +} + +.ImageButton { + cursor: pointer; + padding: 0; + border: 0; + text-decoration: none; + margin: 0; + display: inline-block; +} + +.Button { + cursor: pointer; + background-color: #fff; + border: solid 1px #333; + color: #333; + font-family: Verdana, Sans-Serif; + font-size: .9em; + padding: 3px 10px 3px 10px; + text-decoration: none; +} + +.Button:link, +.Button:visited { + border: solid 1px #777; + color: #777; +} + +.Button:hover, +.Button:active { + background-color: #6e99c9; + border: solid 1px #000; + color: #fff; +} + +.Bullet { + float: left; + margin-right: 10px; + margin-bottom: 4px; +} + +.Ads_RightSidebar { + border: solid 1px #000; + float: right; + text-align: right; + width: 160px; +} + +.Legalese { + font-size: 7pt; +} + +#Header { + margin: 0 auto; + color: White; + font: normal 12px/normal Verdana, sans-serif; + font-weight: bold; + width: 900px; + text-align: center; +} + +#Header a, +#Header a:visited, +#Header a:active { + text-decoration: none; +} + +#Header a:hover { + text-decoration: underline; +} + +#HeaderContainer #Banner { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/WoodBanner.png); + background-repeat: no-repeat; + height: 72px; + text-align: center; +} + +.login-span, +.loginSpan { + top: 17px; + position: relative; + float: left; +} + +.login-span a { + color: white; +} + +#Banner #Options { + float: left; + height: 72px; + position: relative; + overflow: hidden; + width: 200px; +} + +#Banner #Authentication { + top: 0; + left: 0; + padding: 4px; + position: absolute; + background: #6E99C9; +} + +#Banner #AuthenticationButton { + height: 20px; + position: relative; + top: 0; + height: 40px; + font-weight: normal; + float: right; + z-index: 1; + margin-top: 10px; + left: 340px; +} + +#Banner #AuthenticationButton a { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssthemes/base/btn_blue.png") repeat-x scroll 0 0 transparent; + background-position: 0 0; + font-weight: bold; + color: White; + font-family: Arial; + font-size: 10px; + height: 16px; + display: block; + padding-top: 1px; + text-align: center; + width: 40px; + margin-top: 1px; + margin-left: 5px; +} + +#Banner #Options #Settings { + bottom: 0; + left: 0; + padding: 4px; + position: absolute; +} + +#Banner #Logo { + height: 34px; + left: 0; + position: absolute; + top: 5px; + width: 140px; + margin: 0; + float: none; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssthemes/base/img-robloxlogo.png") no-repeat; +} + +#SmallHeaderContainer #Banner #Alerts { + background: Transparent; + border: none; + position: relative; + width: 350px; + height: 40px; + float: right; + padding-top: 9px; +} + +#HeaderContainer #Banner #Alerts { + float: right; + border: 1px solid #6E99C9; + background: #FFF; + width: 203px; +} + +#Header .Navigation { + clear: both; + background-color: #6e99c9; + color: #fff; + font-family: Arial, Helvetica, sans-serif; + font-size: 12pt; + font-weight: normal; + line-height: 2em; + text-decoration: none; +} + +#AdvertisingLeaderboard { + margin: 0 auto; + text-align: center; + padding-top: 5px; + margin-bottom: 10px; + width: 875px; +} + +#AdvertisingSkyscraper { + border: solid 1px #000; + float: right; + text-align: right; + width: 120px; +} + +#RobloxLargeRectangleAd { + padding: 10px 0 10px 0; +} + +#Footer { + font: normal 8px/normal Verdana, sans-serif; + padding: 3em 20px; + width: 860px; + text-align: center; + font-size: 13px; + margin: 0; +} + +#Footer .SEOGenreLinks { + padding: 1em 0 2em 0; + font-size: 11px; +} + +#Footer .Legalese { + color: #555; + font-size: 10px; + margin-bottom: 1em; +} + +#Footer .legal { + text-align: left; + width: 900px; + margin: 0 auto; +} + +#Footer .legal .left { + float: left; + margin: 0 5px; +} + +#Footer .legal .right { + float: left; + width: 845px; +} + +#Footer .legal #bbblink { + display: inline-block; + *display: inline; + *zoom: 1; +} + +#Footer .legal #TrusteLogo { + vertical-align: top; +} + +#Footer.LanguageRedesign { + background: #123f83; + font-family: Arial, Helvetica, sans-serif; +} + +#Footer.LanguageRedesign a, +#Footer.LanguageRedesign a, +#Footer.LanguageRedesign a, +#Footer.LanguageRedesign .FooterNav { + color: white; + font-family: Arial, Helvetica, sans-serif; +} + +#Footer.LanguageRedesign .FooterNav { + width: 970px; + margin: 0 auto; +} + +#Footer.LanguageRedesign .Legalese { + color: #899fc1; + font-family: Arial, Helvetica, sans-serif; + line-height: 20px; + margin-left: 5px; +} + +#Footer.LanguageRedesign .legal { + border-top: 1px solid #355C95; + padding-top: 20px; +} + +#Footer.LanguageRedesign span { + color: ##899fc1; +} + +#Footer .LanguageOptionElement, +#Footer.LanguageRedesign .dropuplanguagecontainer, +#Footer .dropuplanguagecontainer { + display: none; + white-space: nowrap; +} + +#Footer.LanguageRedesign .LanguageOptionElement { + display: inline; + cursor: pointer; + height: 12px; +} + +#Footer.LanguageRedesign #Language { + color: white; + cursor: pointer; +} + +#Footer.LanguageRedesign .dropuplanguagecontainer { + display: block; + position: absolute; + bottom: 15px; + background-color: #E6E6E6; + color: #black; + padding: 5px 0; + left: -9px; + border: 1px solid black; + white-space: nowrap; +} + +#Footer.LanguageRedesign .active .LanguageOption { + color: black; + padding: 0 5px; + white-space: nowrap; + display: block; +} + +#Footer.LanguageRedesign .active .LanguageOption:hover { + color: white; + background-color: #d6d6d6; +} + +#Footer.LanguageRedesign .LanguageTrigger { + position: relative; +} + +#Footer.LanguageRedesign .FooterArrow { + font-size: 10px; + position: relative; + top: -1px; +} + +.AdmiPanel { + border: solid 1px #000; + bottom: 20px; + overflow: hidden; + right: 10px; + padding-top: 15px; + position: fixed; + width: 200px; +} + +.AdmiPanel h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + margin: 0; + text-align: center; +} + +.AdmiPanelExpandCollapse { + color: green; + cursor: pointer; + font-weight: bolder; + position: absolute; + right: 2px; + top: 2px; +} + +.Panel { + border: solid 1px #000; +} + +.Panel h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + margin: 0; + text-align: center; +} + +.MultilineTextBox { + font-family: Verdana, Sans-Serif; + font-size: 1.2em; + line-height: 1.5em; + padding: 5px 5px; +} + +.TextBox { + border: 1px solid #ccc; + font-family: Verdana, Sans-Serif; + font-size: 1.2em; + padding: 5px; +} + +.Label { + font-weight: bold; +} + +.BigButton { + background-color: #F5CD2F; + color: #000; + height: 2.5em; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 20px; + font-weight: bold; +} + +.BigButtonDisabled { + background-color: #C0C0C0; + color: #000; + height: 2.5em; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 20px; + font-weight: bold; +} + +.ErrorReporting, +.ErrorReportingThanks { + width: 500px; + margin: 16px auto 16px auto; + padding: 10px; +} + +.YesNoButtons { + text-align: right; +} + +.YesButton, +.NoButton { + background-color: #F5CD2F; + color: #000; + margin-left: 10px; +} + +.popupControl { + background-color: #fff; + border: 1px outset #fff; + position: absolute; + visibility: hidden; + z-index: 1; +} + +.ColorPickerItem { + border-color: #fff; + border-style: solid; + border-width: 2px; +} + +.ColorPickerItem:hover { + border-color: #e1e1e1; + border-style: solid; + border-width: 2px; +} + +.ColorPickerModal { + display: none; + border-color: #888; +} + +.ColorPickerContainer { + height: 368px; + width: 368px; + margin: 0 auto; +} + +.modalBackground { + background-color: Gray; + filter: alpha(opacity=30); + opacity: .3; +} + +.modalPopup { + background-color: #ffd; + border-width: 3px; + border-style: solid; + border-color: Gray; + padding: 3px; +} + +.newModalPopup { + padding: 3px; +} + +.GuestModePromptText { + font-size: 14px; + color: #333; + margin-left: 30px; +} + +.GuestModePromptText li { + font-weight: bolder; +} + +.PopupMenu { + background-color: #fff; + border: solid 1px #666; + padding: 10px; + z-index: 1; +} + +.PopupMenu .Button { + line-height: 2.5em; +} + +.PopupMenu .Button:hover { + background-color: #6e99c9; + color: #fff; +} + +.Attention { + color: Red; +} + +.AttentionBold { + font-weight: bold; + color: Red; +} + +.OKCancelButton { + width: 80px; +} + +.MenuItem { + color: White; + font-size: 18px; + line-height: 2em; +} + +a.MenuItem:link, +a.MenuItem:visited, +a.MenuItem:active { + color: White; + text-decoration: none; +} + +a.MenuItem:hover { + text-decoration: underline; +} + +.Toolbox { + background-color: ButtonFace; + padding: 2px; +} + +.ToolboxItem { + border-color: Window; + border-style: solid; + border-width: 2px; + width: 52px; + height: 52px; +} + +.Grid { + background-color: White; + border-color: #CCC; + border-width: 1px; + border-style: solid; +} + +.GridHeader { + color: White; + background-color: #6E99C9; +} + +.GridItem { + color: #006; +} + +.GridItemAlt { + color: #006; + background: #EEE; +} + +.GridItem:hover { + background-color: #DDD; +} + +.GridItemAlt:hover { + background-color: #DDD; +} + +.GridFooter { + color: White; + background-color: #6E99C9; +} + +.GridPager { + color: White; + background-color: #6E99C9; + text-align: center; + font-weight: bold; +} + +.Title { + font-size: 18px; +} + +a.Title:link, +a.Title:visited, +a.Title:active { + text-decoration: none; +} + +a.Title:hover { + text-decoration: underline; +} + +.Header { + font-size: 14px; +} + +.Banner { + padding: 8px; +} + +.BannerText { + font-weight: bold; + color: white; +} + +a.BannerText:link, +a.BannerText:visited, +a.BannerText:active { + text-decoration: none; + color: white; +} + +a.BannerText:hover { + text-decoration: underline; + color: white; +} + +.PageSelector { + font-family: Verdana, Sans-Serif; + margin: 0 0 0 10px; +} + +.PageSelector label { + font-weight: bold; +} + +.DisplayFilters { + margin-right: 3px; + min-width: 0; + position: relative; +} + +.SearchBar { + background-color: #eee; + border: solid 1px #bbb; + height: 30px; + margin: -5px 0 5px 0; + padding: 0; + text-align: center; +} + +.SearchBar .SearchBox, +.SearchBar .SearchButton { + height: 30px; + margin: 0; + padding: 0; +} + +.SearchBar .TextBox { + border: solid 1px #000; + height: 19px; + margin: 2px 0 0 0; + padding: 2px 3px 0 3px; + width: 250px; +} + +.SearchLinks { + display: inline; + font-family: Verdana, Sans-Serif; + z-index: 9; +} + +.SearchLinks a span { + display: none; +} + +.SearchLinks a:hover { + border: none; + text-decoration: none; +} + +.SearchLinks a:hover span { + background-color: #6e99c9; + border-color: Gray; + border-style: ridge; + border-width: 1px; + color: white; + display: block; + font: 11px Verdana, sans-serif; + left: 15%; + line-height: 1.4em; + margin: 5px; + padding: 5px; + position: absolute; + text-align: center; + text-decoration: none; + top: 20px; + width: 60%; + z-index: 10; +} + +.SearchError { + clear: both; + margin: 2px; + float: none; + padding: 2px; + text-align: center; + color: Red; +} + +div.SystemAlert { + width: 906px; + margin: 0 auto 5px; + border: 1px solid gray; + background-color: #FFF; + text-align: center; + color: #FFF; + padding: 1px; +} + +.SystemAlertText { + font-size: 16px; + font-weight: bold; + background-color: #F00; + padding: 2px; +} + +.SystemAlert a { + color: White; +} + +.Exclamation { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/exclamation.png) no-repeat; + height: 16px; + width: 16px; + float: left; +} + +.EmailTemplateTable { + border-collapse: collapse; +} + +.EmailTemplateH1 { + font-size: 18px; + color: #6E99C9; +} + +.EmailTemplateLogoRow { + padding: 3px; + margin-bottom: 5px; +} + +.EmailTemplateRow { + padding: 3px; + margin-bottom: 3px; + font-size: 14px; + font-family: Verdana, Helvetica, Sans-Serif; +} + +.EmailTemplateRow input { + font-size: 14px; + padding: 2px; + border: 1px solid #CCC; +} + +.EmailTemplateRow input:hover { + font-size: 14px; + padding: 2px; + border: 1px solid #CCC; + background: #6E99C9; +} + +.subMenu { + background: #A3514F; + background-repeat: repeat-x; + color: White; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + height: 26px; + position: relative; + border-left: solid 3px #6E99C9; + border-right: solid 3px #6E99C9; + border-bottom: solid 3px #6E99C9; + z-index: 5; +} + +.subMenu ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +.subMenu li { + float: left; + position: relative; +} + +.subMenu a, +.subMenu a:visited { + display: block; + padding: 5px; + border-right: 1px solid #FFF; + font-size: 14px; + color: #FFF; +} + +.subMenu .subMenuItemselected { + display: block; + padding: 5px; + border-right: 1px solid #FFF; + font-size: 14px; + color: #FFF; + font-weight: bold; + text-decoration: none; +} + +.subMenu ul ul a.subMenudrop, +.menu ul ul a.subMenudrop:visited { + font-weight: bold; + text-decoration: underline; +} + +.subMenu ul ul ul a, +.subMenu ul ul ul a:visited { + background: #A3514F; +} + +.subMenu ul ul ul a:hover { + text-decoration: underline; +} + +.subMenu ul ul { + visibility: hidden; + position: absolute; + height: 0; + left: 0; +} + +.subMenu ul ul ul { + left: 141px; + top: 0; + width: 149px; +} + +.subMenu ul ul ul.left { + left: -149px; +} + +.subMenu ul ul a, +.subMenu ul ul a:visited { + background: #A3514F; + color: #FFF; + height: auto; + padding: 4px 6px; + line-height: 1em; + width: 148px; + margin-left: -1px; + border-left: 1px solid #FFF; + border-right: none; +} + +.subMenu a:hover, +.subMenu ul ul a:hover { + text-decoration: underline; + background: #573333; +} + +.subMenu :hover>a, +.subMenu ul ul :hover>a { + text-decoration: underline; +} + +.subMenu ul li:hover ul, +.subMenu ul a:hover ul { + visibility: visible; +} + +.subMenu ul :hover ul ul { + visibility: hidden; +} + +.subMenu ul :hover ul :hover ul { + visibility: visible; +} + +.subMenu table { + position: absolute; + top: 0; + margin-top: 15px; + left: 0; + border-collapse: collapse; + background: #A3514F; + display: none; +} + +.subMenu table a, +.subMenu table a:visited { + border: none; + width: 148px; + padding-top: 8px; +} + +#LeftGutterAdContainer, +#GamesTakeoverGutterAdLeft { + position: fixed; + top: 0; + left: 50%; + margin-left: -900px; +} + +#RightGutterAdContainer, +#GamesTakeoverGutterAdRight { + position: fixed; + top: 0; + left: 50%; + margin-left: 500px; +} + +#RightGutterAdContainer.topMargin, +#LeftGutterAdContainer.topMargin, +#GamesTakeoverGutterAdLeft.topMargin, +#GamesTakeoverGutterAdRight.topMargin { + top: 25px; +} + +#GamesTakeoverGutterAdLeft, +#GamesTakeoverGutterAdRight { + z-index: 1000; +} + +.partnerLogo { + margin-right: 30px; + vertical-align: middle; +} + +.errorMsg { + font-weight: bold; + text-align: center; + display: block; + font-size: 1.5em; + margin: .83em 0; + letter-spacing: 1px; +} + +.facepile { + min-height: 0; +} + +.JSPager_Container a { + margin: 0 2px; +} + +.JSPager_Container a:hover { + cursor: pointer; +} + +.JSPager_Container a.disabled:hover { + cursor: default; +} + +.JSPager_Container a.disabled { + color: #000; + text-decoration: none; +} + +#FreeGames .SEOLinksContainer { + margin: 0 60px 0 0; + float: left; + color: #666; + font-size: 11px; +} + +#FreeGames ul { + list-style: none; +} + +.SquareTabGray { + list-style: none; + float: left; + background-color: #D6D6D6; + padding: 7px; + border: 1px solid #9e9e9e; + font: bold 15px arial; + color: #363636; + margin: 4px 2px 0 1px; + border-bottom-width: 0; + position: relative; + top: 2px; +} + +.SquareTabGray a { + text-decoration: none; + color: #363636; + cursor: pointer; +} + +.SquareTabGray a:hover { + text-decoration: none; + background-color: #e9e9e9; +} + +.SquareTabGray.selected a:hover, +.SquareTabGray.ui-tabs-selected a:hover { + text-decoration: none; + background-color: #fff; +} + +.SquareTabGray:hover { + background-color: #e9e9e9; + cursor: pointer; +} + +.SquareTabGray.selected, +.SquareTabGray.selected:hover, +.SquareTabGray.ui-tabs-selected, +.SquareTabGray.ui-tabs-selected:hover { + background-color: #fff; + margin-top: 0; + padding: 9px 7px 12px 7px; + border-bottom: 1px solid #fff; + position: relative; + top: 1px; + border-color: #ccc; +} + +.TabContent { + display: none; +} + +.TabContent.selected { + display: block; +} + +.StandardPanelContainer { + position: relative; + clear: both; + padding-left: 5px; +} + +.StandardPanelContainer .StandardPanelWhite { + background-color: #fff; + position: relative; + left: -5px; + top: -1px; + width: 100%; + padding: 6px; + margin-bottom: -6px; +} + +.WhiteSquareTabsContainer { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/MyMoney_fakeborderbg2.png') bottom repeat-x; + width: 100%; + position: relative; + padding: 0 0 0 5px; + display: inline-block; + margin: 0; +} + +.GreenBuyNowBtn.small { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-buynow_grn_sm_v2.png') top left no-repeat; + width: 72px; + height: 23px; + display: inline-block; + margin: 1px; +} + +.GreenBuyNowBtn.medium { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-buynow_grn_m_v2.png') top left no-repeat; + width: 112px; + height: 34px; + display: block; + margin: 1px; +} + +.GreenBuyNowBtn.small:hover, +.GreenBuyNowBtn.medium:hover { + background-position: bottom left; + cursor: pointer; +} + +.GreenBuyNowBtn.small.BtnDisabled { + background-position: 0 -23px; + cursor: default; +} + +.GreenBuyNowBtn.medium.BtnDisabled { + background-position: 0 -34px; + cursor: default; +} + +.GreenBuyNowSharpBtn.small.rentable { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-rent-small.png') top left no-repeat; + width: 60px; + height: 23px; + display: inline-block; + margin: 1px; +} + +.SuperSafePanel { + position: relative; + display: block; + height: 0; + z-index: 1001; +} + +img.SuperSafePrivacyModeImg:hover { + cursor: pointer; +} + +#CreateSetPopupContainerDiv .SuperSafePanel { + left: 324px; +} + +#Container.unfixed, +#MasterContainer.unfixed { + width: 970px; +} + +.mySubmenuFixed.unfixed { + position: relative !important; + top: 0 !important; +} + +#SmallHeaderContainer #Banner.unfixed { + position: relative; + height: 36px; + width: 970px; +} + +#HeaderContainer #Banner.unfixed { + position: relative; + height: 36px; + width: 970px; +} + +#SmallHeaderContainer.unfixed { + position: relative; +} + +.forceSpaceUnderSubmenu { + height: 23px; + display: block; +} + +.forceSpaceUnderSubmenu.unfixed { + display: none; +} + +#Container #Banner.unfixed, +#Container .site-header.unfixed { + position: relative; +} + +.forceSpace { + display: block; + width: 100%; + height: 40px; + padding-top: 0; +} + +.forceSpace.unfixed { + height: 3px; +} + +/* ~/CSS/RBXCommon.css */ +.blueAndWhite { + border: 2px solid #6e99c9; + background-color: #fff; + color: #000; +} + +.blueAndWhite .titleBar { + background-color: #000; + color: #FFF; + font-weight: bold; + padding: 2px 2px 2px 2px; + margin-bottom: 5px; + font-size: 13px; +} + +#ResetPassword, +#ResetPassword input { + font-size: 16px; +} + +#ResetPassword #ResetPasswordTable td { + padding: 5px; +} + +div.ParentsLearningContent div.StandardBoxLightHeader a { + color: White !important; + cursor: pointer; +} + +.ParentsLearningContent { + font-size: 14px; +} + +.ParentsLearningContent .ParentsLearningHeader { + text-decoration: none; +} + +.StandardBoxLight { + float: inherit; + border: 1px solid #3B526B; + padding: 10px 10px 10px 10px; + margin-bottom: 10px; + display: block; +} + +.StandardBoxLightHeader { + float: inherit; + background-color: #3B526B; + text-align: center; + color: #FFF; + text-align: left; + font-size: 16px; + font-weight: bold; + padding: 5px 10px 5px 20px; + display: block; +} + +.ParentsLearningContent .StandardBoxLightHeader { + margin: 10px 0; +} + +.LoginParentAccount { + text-align: left; +} + +.ParentsControlPanel, +.ParentsControlPanel input { + font-size: 14px; +} + +.ParentsControlPanelTable table { + border-collapse: collapse; + border-spacing: 0; +} + +.ParentsControlPanelTable table td, +.ParentsControlPanelTable table th { + border: 1px solid #EEE; + padding: 5px; +} + +.ParentsControlPanelTable table tr:first-child td, +.ParentsControlPanelTable table tr:first-child th { + border-top: 0; +} + +.ParentsControlPanelTable table tr:last-child td { + border-bottom: 0; +} + +.ParentsControlPanelTable table tr td:first-child, +.ParentsControlPanelTable table tr th:first-child { + border-left: 0; +} + +.ParentsControlPanelTable table tr td:last-child, +.ParentsControlPanelTable table tr th:last-child { + border-right: 0; +} + +.ContinueButtonFix { + text-align: center; +} + +.ParentCenterAlignedTable table { + margin: 0 auto; +} + +.JustWhiteBox { + float: inherit; + background-color: White; + margin-bottom: 10px; + display: block; +} + +.MediumButton { + background-color: #F5CD2F; + color: #000; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 15px; + font-weight: bold; + padding: 5px; + display: inline-block; + border: 1px solid #6E99C9; + text-align: center; + cursor: pointer; +} + +.MediumButton:hover { + background-color: #FF9D2F; +} + +.MediumButtonSignup { + background-color: #8CE16F; + color: #000; + height: 2.5em; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 15px; + font-weight: bold; +} + +.catalog_nav { + color: White; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + position: relative; + z-index: 5; + float: right; +} + +.catalog_nav ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +.catalog_nav li { + float: left; + position: relative; + text-align: center; +} + +.catalog_nav a, +.catalog_nav a:visited { + background: #b9cee5 url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tabmiddle.png) repeat-x; + display: block; + padding: 5px; + margin-right: 4px; + font-size: 14px; + color: #FFF; + height: 18px; + cursor: pointer; +} + +.catalog_nav .catalog_navselected { + display: block; + background: #6E99C9 url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tabmiddleselected.png) repeat-x; + padding: 5px 10px; + margin-right: 4px; + font-size: 14px; + color: #FFF; + font-weight: bold; + text-decoration: none; + height: 18px; +} + +.catalog_nav ul ul a.catalog_navdrop, +t.menu ul ul a.catalog_navdrop:visited { + font-weight: bold; + text-decoration: none; +} + +.catalog_nav ul ul ul a:hover { + text-decoration: underline; +} + +.catalog_nav ul ul { + visibility: hidden; + position: absolute; + height: 0; + left: 0; + z-index: 20; +} + +.catalog_nav ul ul ul { + left: 141px; + top: 0; + width: 89px; +} + +.catalog_nav ul ul ul.left { + left: -149px; +} + +.catalog_nav ul ul a, +.catalog_nav ul ul a:visited { + color: #FFF; + background: #6E99C9; + height: auto; + padding: 4px 6px; + line-height: 1em; + width: 78px; + margin-right: 4px; + z-index: 20; + height: 18px; +} + +.catalog_nav img { + border: 0; + margin-right: 3px; + vertical-align: middle; +} + +.catalog_nav a:hover { + text-decoration: none; + background: #6E99C9 url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tabmiddleselected.png) repeat-x; +} + +.catalog_nav ul ul a:hover { + text-decoration: none; + background: #517194; +} + +.catalog_nav :hover>a, +.catalog_nav ul ul :hover>a { + text-decoration: none; +} + +.catalog_nav ul li:hover ul, +.catalog_nav ul a:hover ul { + visibility: visible; +} + +.catalog_nav ul :hover ul ul { + visibility: hidden; +} + +.catalog_nav ul :hover ul :hover ul { + visibility: visible; +} + +.catalog_nav table { + position: absolute; + top: 0; + margin-top: 15px; + left: 0; + border-collapse: collapse; + background: #6E99C9; + display: none; +} + +.catalog_nav table a, +.catalog_nav table a:visited { + border: none; + width: 78px; + padding-top: 8px; +} + +.Step1 { + float: left; + font-size: 16px; + font-weight: bold; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/step1.png) no-repeat 0; + line-height: 32px; + padding-left: 32px; +} + +.Step2 { + float: left; + font-size: 16px; + font-weight: bold; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/step2.png) no-repeat 0; + line-height: 32px; + padding-left: 32px; +} + +.Step3 { + float: left; + font-size: 16px; + font-weight: bold; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/step3.png) no-repeat 0; + line-height: 32px; + padding-left: 32px; +} + +.CatalogOptions { + float: left; + padding: 20px; + background: #8bc2ff url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/catalog_options_back.png) repeat-x; + border: 0; + margin-bottom: 0; + display: none; + width: 176px; + overflow: hidden; +} + +#ApplyFilters input { + font-size: 17px; + cursor: pointer; +} + +.CatalogOptionsSections { + float: left; + margin: 5px 20px 0 5px; +} + +.CatalogOptionsHelp { + margin-top: -5px; + float: left; +} + +.CatalogOptionsHelp ul { + list-style: none; +} + +.CatalogOptionsHelp ul li { + margin-top: 3px; +} + +.CatalogOptionsHelp ul li a { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/smallmetallicbutton.png) repeat-x; + border: 2px solid transparent; + padding: 3px; + font-size: 12px; + cursor: pointer; + text-decoration: none; + display: block; + width: 120px; + text-align: center; +} + +.CatalogOptionsHelp ul li a:hover { + border-color: #333; +} + +.bc_iconset, +#BuildersClubContainer div.icons { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/bc_page_icon_sprites.png?v=2); + background-repeat: no-repeat; + width: 32px; + display: inline-block; + text-align: center; +} + +#BuildersClubContainer div.maps_icon { + background-position: 0 1px; + height: 30px; +} + +#BuildersClubContainer div.money_icon { + background-position: 0 -28px; + height: 28px; +} + +#BuildersClubContainer div.paid-games-icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Upgrades/BuildersClubBenefitsGrid/paid-access.png) no-repeat; + height: 27px; + width: 42px; +} + +#BuildersClubContainer div.shirt_icon { + background-position: 0 -55px; + height: 30px; +} + +#BuildersClubContainer div.ads_icon { + background-position: 0 -85px; + height: 30px; +} + +.bc_icon, +#BuildersClubContainer div.bc_icon { + background-position: 0 -115px; + height: 31px; +} + +#BuildersClubContainer div.gear_icon { + background-position: 0 -146px; + height: 30px; +} + +#BuildersClubContainer div.groups_icon { + background-position: 0 -173px; + height: 23px; +} + +#BuildersClubContainer div.badges_icon { + background-position: 0 -196px; + height: 30px; +} + +#BuildersClubContainer div.beta_icon { + background-position: 0 -228px; + height: 31px; +} + +#BuildersClubContainer div.tbc_icon { + background-position: 0 -263px; + height: 31px; +} + +#BuildersClubContainer div.obc_icon { + background-position: 0 -297px; + height: 31px; +} + +#BuildersClubContainer div.personalserver_icon { + background-position: 0 -329px; + height: 30px; +} + +#BuildersClubContainer div.tradesystem_icon { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/tradeicon.png?v=2); + background-repeat: no-repeat; + height: 26px; + width: 23px; + display: inline-block; +} + +#BuildersClubContainer div.upgrades_enabled { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buybc/bc_sprites_math_enabled.png); + background-repeat: no-repeat; + display: inline-block; + height: 95px; + width: 128px; +} + +#BuildersClubContainer div.upgrades_disabled { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buybc/bc_sprites_math_disabled.png); + background-repeat: no-repeat; + display: inline-block; + height: 95px; + width: 128px; +} + +#BuildersClubContainer div.bcmonthly { + background-position: 0 0; +} + +#BuildersClubContainer div.bc6 { + background-position: -128px 0; +} + +#BuildersClubContainer div.bc12 { + background-position: -256px 0; +} + +#BuildersClubContainer div.bclife { + background-position: -384px 0; +} + +#BuildersClubContainer div.tbcmonthly { + background-position: 0 -95px; +} + +#BuildersClubContainer div.tbc6 { + background-position: -128px -95px; +} + +#BuildersClubContainer div.tbc12 { + background-position: -256px -95px; +} + +#BuildersClubContainer div.tbclife { + background-position: -384px -95px; +} + +#BuildersClubContainer div.obcmonthly { + background-position: 0 -191px; +} + +#BuildersClubContainer div.obc6 { + background-position: -128px -191px; +} + +#BuildersClubContainer div.obc12 { + background-position: -256px -191px; +} + +#BuildersClubContainer div.obclife { + background-position: -384px -191px; +} + +#BuildersClubContainer .bctotbcconversion { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/BuyBC/bc_lifetime_tbc_lifetime_discount.png); + background-repeat: no-repeat; + height: 95px; + width: 128px; +} + +#BuildersClubContainer .bctoobcconversion { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/BuyBC/bc_lifetime_obc_lifetime_discount.png); + background-repeat: no-repeat; + height: 95px; + width: 128px; +} + +#BuildersClubContainer .tbctoobcconversion { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/BuyBC/tbc_lifetime_obc_lifetime_discount.png); + background-repeat: no-repeat; + height: 95px; + width: 128px; +} + +#BuildersClubContainer upgrade_button { + cursor: pointer; +} + +.OBCSellSheet ul { + list-style: armenian; + width: 500px; +} + +.OBCSellSheet ul li { + padding: 10px; + border-bottom: 1px solid #abc; + position: relative; +} + +.OBCSellSheet ul li em { + -moz-background-clip: border; + -moz-background-inline-policy: continuous; + -moz-background-origin: padding; + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/obctip.png) no-repeat scroll 0 0; + display: none; + font-style: normal; + height: 45px; + left: -10px; + padding: 15px 0; + position: absolute; + text-align: center; + top: -40px; + width: 300px; + z-index: 2; + color: #FFF; +} + +.hoverover { + cursor: pointer; +} + +.AlertSpace { + float: none; + border: 2px solid #7196CA; + margin: 0; + color: #6e99c9; + height: 22px; + position: relative; + top: 0; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: bold; + width: auto; + padding-right: 60px; + background-color: White; +} + +.AlertSpace a { + padding-left: 18px; + padding-right: 10px; + margin-left: 3px; +} + +.AlertSpace a:hover, +#Header .AlertSpace a:active { + text-decoration: none; +} + +.AlertSpace .MessageAlert { + display: inline; + float: left; + margin-top: 4px; +} + +.AlertSpace .MessageAlert a { + color: #6E99C9; +} + +.AlertSpace .MessageAlert a:hover { + color: #1874CD; +} + +.AlertSpace .RobuxAlert { + display: inline; + float: left; + margin-top: 4px; +} + +.AlertSpace .RobuxAlert a { + color: Green; +} + +.AlertSpace .RobuxAlert a:hover { + color: #49b745; +} + +.AlertSpace .FriendsAlert { + display: inline; + float: left; + margin-top: 4px; +} + +.AlertSpace .FriendsAlert a { + color: #883000; +} + +.AlertSpace .FriendsAlert a:hover { + color: #00D; +} + +.AlertSpace .TicketsAlert { + display: inline; + float: left; + margin-top: 4px; +} + +.AlertSpace .TicketsAlert a { + color: #FBB117; +} + +.AlertSpace .TicketsAlert a:hover { + color: #FF3000; +} + +.AlertSpace .icons, +.AlertSpace .icons a { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/master_page_image_sprites.png?v=1202010); + background-repeat: no-repeat; + display: inline-block; + vertical-align: middle; + position: absolute; +} + +.AlertSpace .message_icon { + background-position: -65px 0; + height: 11px; + width: 13px; + margin: 2px 3px 3px; + float: left; +} + +.AlertSpace .robux_icon { + background-position: -33px 0; + height: 12px; + width: 16px; + margin: 2px 3px 3px; + float: left; +} + +.AlertSpace .tickets_icon { + background-position: -49px 0; + height: 16px; + width: 16px; + margin: -1px 3px 3px; + float: left; +} + +.AlertSpace .friends_icon { + background-position: -78px 0; + height: 14px; + width: 12px; + margin: 1px 3px 3px; + float: left; +} + +.OldAlertSpace { + color: #6e99c9; + margin: 0 auto; + font-weight: bold; +} + +.OldAlertSpace .icons, +.OldAlertSpace .icons a { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/master_page_image_sprites.png?v=1202010); + background-repeat: no-repeat; + display: inline-block; + vertical-align: middle; +} + +.OldAlertSpace .message_icon { + background-position: -65px 0; + height: 11px; + width: 13px; + margin: 3px; + float: left; +} + +.OldAlertSpace .robux_icon { + background-position: -33px 0; + height: 12px; + width: 16px; + margin: 3px; + float: left; +} + +.OldAlertSpace .tickets_icon { + background-position: -49px 0; + height: 16px; + width: 16px; + margin: 3px; + float: left; +} + +.OldAlertSpace .friends_icon { + background-position: -78px 0; + height: 14px; + width: 12px; + margin: 3px; + float: left; +} + +.OldAlertSpace .MessageAlert { + height: 17px; + vertical-align: middle; + width: 49%; + float: left; + height: 32px; + overflow: hidden; + background: #FFF; +} + +.OldAlertSpace .MessageAlert a { + color: #6e99c9; + vertical-align: middle; +} + +.OldAlertSpace .MessageAlert a:hover { + color: #1874CD; +} + +.OldAlertSpace .RobuxAlert { + padding-top: 2px; + vertical-align: middle; + width: 49%; + float: left; + overflow: hidden; + border-top: 1px solid #6E99C9; + background: #FFF; + height: 29px; +} + +.OldAlertSpace .RobuxAlert a { + color: Green; + vertical-align: middle; +} + +.OldAlertSpace .RobuxAlert a:hover { + color: #49b745; +} + +.OldAlertSpace .TicketsAlert { + padding-top: 2px; + vertical-align: middle; + width: 49%; + float: left; + overflow: hidden; + border-left: 1px solid #6E99C9; + border-top: 1px solid #6E99C9; + background: #FFF; + height: 29px; +} + +.OldAlertSpace .TicketsAlert a { + color: #fbb117; + vertical-align: middle; +} + +.OldAlertSpace .TicketsAlert a:hover { + color: #FF3000; +} + +.OldAlertSpace .FriendsAlert { + color: #883000; + height: 20px; + vertical-align: middle; + width: 49%; + float: left; + height: 32px; + overflow: hidden; + border-left: 1px solid #6E99C9; + background: #FFF; +} + +.OldAlertSpace .FriendsAlert a { + color: #883000; + vertical-align: middle; +} + +.OldAlertSpace .FriendsAlert a:hover { + color: #00D; +} + +.OldAlertSpace .MessageAlertCaption a { + color: #6e99c9; + vertical-align: middle; + font-weight: bold; +} + +.OldAlertSpace .RobuxAlertCaption a { + color: Green; + vertical-align: middle; + font-weight: bold; +} + +.OldAlertSpace .TicketsAlertCaption a { + color: #fbb117; + vertical-align: middle; + font-weight: bold; +} + +.OldAlertSpace .FriendsAlertCaption a { + color: #883000; + vertical-align: middle; + font-weight: bold; +} + +a.rss_icon { + background-position: 0 0; + height: 14px; + width: 14px; + position: relative; +} + +a.twitter_icon { + background-position: -14px 0; + height: 16px; + width: 19px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace { + color: #6e99c9; + margin: 0 auto; + background: none; + float: none; + width: 155px; + height: 50px; + border: none; + padding-right: 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace a { + position: static; + margin: 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .message_icon { + position: static; + height: 16px; + margin: 3px; + width: 13px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .friends_icon { + position: static; + height: 16px; + margin: 3px; + width: 16px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .robux_icon { + position: static; + height: 16px; + margin: 3px; + width: 16px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .tickets_icon { + position: static; + height: 16px; + margin: 3px; + width: 16px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .FriendsAlert { + background: #FFF; + border-left: 1px solid #6E99C9; + width: 49%; + margin-top: 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .MessageAlert { + background: #FFF; + width: 49%; + margin-top: 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .RobuxAlert { + background: #FFF; + border-top: 1px solid #6E99C9; + width: 49%; + margin-top: 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .TicketsAlert { + background: #FFF; + border-top: 1px solid #6E99C9; + border-left: 1px solid #6E99C9; + width: 49%; + margin-top: 0; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .AlertSpace { + color: #6e99c9; + margin: 0 auto; + background: none; + float: none; + width: 155px; + height: 50px; + border: none; + padding-right: 0; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .AlertSpace a { + position: static; + margin: 0; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .message_icon { + position: static; + height: 16px; + margin: 3px; + width: 13px; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .friends_icon { + position: static; + height: 16px; + margin: 3px; + width: 16px; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .robux_icon { + position: static; + height: 16px; + margin: 3px; + width: 16px; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .tickets_icon { + position: static; + height: 16px; + margin: 3px; + width: 16px; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .FriendsAlert { + background: #FFF; + border-left: 1px solid #6E99C9; + width: 49%; + margin-top: 0; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .MessageAlert { + background: #FFF; + width: 49%; + margin-top: 0; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .RobuxAlert { + background: #FFF; + border-top: 1px solid #6E99C9; + width: 49%; + margin-top: 0; +} + +.ProfileAlertPanel .UserProfile .SmallHeaderAlertSpaceLeft .TicketsAlert { + background: #FFF; + border-top: 1px solid #6E99C9; + border-left: 1px solid #6E99C9; + width: 49%; + margin-top: 0; +} + +#Authentication span a { + color: #FFF; +} + +.MySetsDisplayInfo { + padding: 10px 20px 10px 20px; + background: #8bc2ff url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/catalog_options_back.png) repeat-x; + border: 0; + margin-bottom: 0; + overflow: hidden; + height: 125px; +} + +.MySetsDisplayInfo h1 { + margin: 0; + padding: 0; + text-align: center; + color: White; + font-size: 16px; + font-weight: bold; +} + +.MySetsDisplayInfo h1>a { + cursor: pointer; + color: Blue; + font-size: 12px; + font-style: italic; + margin-left: 5px; +} + +.CreateSetButton { + cursor: pointer; + text-decoration: none; +} + +.CreateSetButton:hover { + background-color: Gray; +} + +.SetAddButtonAlreadyContainsItem { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/accept.png) no-repeat right 2px; +} + +.CantAddToSetLabel { + float: left; + width: 75px; +} + +.CantAddToSetHelpImg { + float: left; + vertical-align: text-top; + cursor: pointer; +} + +.SetDescription { + float: left; + overflow-y: auto scroll; + overflow-x: hidden; +} + +.SetList { + height: 30px; + width: 0; + display: block; + position: relative; +} + +.friendBarDropDown { + position: absolute; + margin-top: 0; + margin-left: 28px; + z-index: 10; +} + +.SetList>img { + position: relative; + float: left; + z-index: 10; + width: 20px; + cursor: pointer; + top: 5px; + left: 5px; +} + +.CantAddToSetLabel { + float: left; + position: relative; + top: -18px; + left: 20px; + z-index: 11; + display: block; + background: #6e99c9; + width: 100px; + border: 3px solid #C6D9FD; + padding: 3px; +} + +.SetList .NewVersionAvailableBanner { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Sets/img-update_available-left.png) no-repeat; + height: 14px; + width: 87px; + position: absolute; + left: 105px; + z-index: 2; + top: 7px; +} + +.SetList a.btn-dropdown, +a.btn-dropdown-active { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Sets/bg-drop_down_btn.png) no-repeat right top; + border: 1px solid #777; + padding: 6px 17px 0 8px; + height: 19px; + font: bold 11px Arial, Helvetica, sans-serif; + color: #000; + text-decoration: none; + display: block; + float: left; + position: relative; + z-index: 10; + width: 70px; +} + +.SetList a.btn-dropdown:hover { + background-position: right center; + border-color: #888; + text-decoration: none; +} + +.SetList a.btn-dropdown-active:hover, +.SetList a.btn-dropdown-active:link { + text-decoration: none; +} + +.SetList a.btn-dropdown-active { + background-position: right bottom; + border-bottom: none; + height: 20px; +} + +.SetListDropDownList { + position: absolute; +} + +.SetListDropDownList .menu { + width: 140px; + background-color: #e1e1e1; + border: 1px solid #777; + position: relative; + bottom: 1px; + z-index: 1; + clear: both; + font: 12px normal Arial, Helvetica, sans-serif; +} + +.SetListDropDownList .menu a { + display: block; + text-decoration: none; + color: #000; + padding: 2px 8px; + margin: 4px 0; + width: 124px; +} + +.SetListDropDownList .menu a:hover, +.ui-autocomplete .ui-menu-item a:hover { + background-color: #095fb5; + color: #fff; + cursor: pointer; +} + +.SetListDropDownList .menu p { + font: 11px normal Arial, Helvetica, sans-serif; + color: #666; + padding: 0 8px; + margin: 5px 0 0 0; +} + +.SetListDropDownList .menu p.hr { + height: 1px; + background-color: #a7a7a7; + margin: 5px; +} + +.SetListDropDown { + position: relative; + z-index: 9; + left: 0; + top: 0; + *top: -14px; +} + +.ItemOptions .SetListDropDown { + *top: 0; +} + +.SetList.SetOptions { + z-index: 1; +} + +.ItemOptions .SetListDropDown { + left: -102px; +} + +.SetListDropDownList.invisible, +.NewVersionAvailableBanner.invisible, +.SetList.ItemOptions.invisible { + display: none; +} + +.ui-autocomplete { + padding: 0; + background-color: #e1e1e1; + border: 1px solid #777; + font: 12px normal Arial, Helvetica, sans-serif; + width: 201px; +} + +.ui-autocomplete .ui-menu-item { + list-style: none; + display: block; +} + +.ui-autocomplete .ui-menu-item a { + display: block; + text-decoration: none; + color: #000; + padding: 2px 8px; + margin: 4px 0; +} + +#PlaceProductPromotionInput { + width: 200px; +} + +.friendBarDropDownList { + display: none; + float: left; + z-index: 10; + height: 0; +} + +.friendBarDropDownList { + position: relative; + height: 100%; + width: 120px; + border: 1px solid black; +} + +.friendBarDropDownList>ul { + list-style: none outside none; + margin: 0; + padding-left: 0; +} + +.friendBarDropDownList li { + background-color: White; + color: Black; + cursor: default; + float: left; + position: relative; + list-style: none; + display: block; + z-index: 11; + height: 18px; +} + +.friendBarDropDownList li>div { + margin: 2px; + width: 116px; +} + +.friendBarDropDownList li:hover { + background-color: Black; + color: White; +} + +.friend_dropdownbutton20 { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/friend_dropdownBtn20h.jpg); + float: left; + cursor: pointer; + height: 20px; + width: 20px; + background-position: top left; +} + +.friend_dropdownbutton20:hover { + background-position: bottom left; +} + +.ContestButton { + float: left; + font-size: 20px; + padding: 4px 10px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Contests/contestbutton.png) repeat-x; + color: #FFF; + border: 2px solid #193441; + cursor: pointer; + text-align: center; +} + +.ContestButton:hover { + background: #5d90a6; +} + +.ContestButtonSkip { + font-size: 20px; + padding: 4px 10px; + background-color: #283d47; + color: #FFF; + border: 2px solid #193441; + cursor: pointer; + text-align: center; +} + +.ContestButtonSkip:hover { + background: #5d90a6; +} + +ul.ContestPrizes { + list-style: none; + margin: 0; + padding: 0; +} + +a.slider_next { + color: #444; + font-size: 20px; + font-weight: bold; +} + +a.slider_prev { + color: #444; + font-size: 20px; + font-weight: bold; +} + +a.invertedcontesttab { + float: left; + background: #bebebe; + padding: 3px 6px; + color: black; + margin-right: 4px; + text-decoration: none; + display: block; + font-size: 11px; + font-family: Arial; + border-bottom: 1px solid #9e9e9e; + border-right: 1px solid #9e9e9e; + border-left: 1px solid #9e9e9e; +} + +a.invertedcontesttab:hover { + background: #d6d6d6; + border-bottom: 1px solid #9e9e9e; + border-right: 1px solid #9e9e9e; + border-left: 1px solid #9e9e9e; + color: black; +} + +a.invertedcontesttabselected { + float: left; + background: white; + margin-bottom: -1px; + z-index: 6; + border-bottom: 1px solid #9e9e9e; + border-right: 1px solid #9e9e9e; + border-left: 1px solid #9e9e9e; + color: #363636; + margin-right: 4px; + text-decoration: none; + display: block; +} + +a.contesttab { + float: left; + background: #bebebe; + padding: 5px; + color: black; + margin-left: 4px; + text-decoration: none; + display: block; + font-size: 13px; + height: 14px; + position: relative; + margin-top: 3px; + font-family: Arial; + border-top: 1px solid #9e9e9e; + border-right: 1px solid #9e9e9e; + border-left: 1px solid #9e9e9e; +} + +a.contesttab:hover { + background: #d6d6d6; + color: black; +} + +a.contesttabselected { + float: left; + background: white; + margin-bottom: -1px; + z-index: 6; + border-top: 1px solid #9e9e9e; + border-right: 1px solid #9e9e9e; + border-left: 1px solid #9e9e9e; + padding: 5px; + color: #363636; + height: 17px; + margin-left: 4px; + text-decoration: none; + display: block; + font-size: 13px; +} + +div.ContestBox { + border: 1px solid #9e9e9e; + background: white; + width: 868px; + float: left; + margin: 0 5px 5px 5px; + padding: 10px; +} + +.Contests { + float: left; + width: 900px; + margin: 10px auto 0 auto; + min-height: 760px; + background-color: #F2F2F2; +} + +.ContestTitle { + color: #363636; + float: left; + font-family: Arial; + font-weight: bold; + font-size: 27px; +} + +.Contests h1 { + margin: 0; + color: #363636; + float: left; + width: 100%; +} + +.FullSubmissions { + width: 300px; + padding: 5px; + float: left; + margin-left: 3px; + margin-bottom: 1px; + border-bottom: 1px solid #FFF; + color: #000; +} + +.ContestShowcase { + width: 90%; + padding: 2px; + border: 2px solid transparent; + cursor: pointer; + margin: 2px auto; + background: #d5dec2; +} + +.ContestShowcase:hover { + border: 2px solid #AAA; +} + +.VibModalBack { + z-index: 665; + position: fixed; + width: 100%; + height: 100%; + background: gray; + opacity: .5; + filter: alpha(opacity=50); + background-repeat: repeat; + top: 0; + left: 0; +} + +.VibModal { + z-index: 666; + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; +} + +.VibModalBox { + z-index: 667; + width: 500px; + margin: 7% auto; + background: #FFF; + border: 5px solid #6E99C9; +} + +.VibModalContents { + padding: 10px; +} + +.VibModalHeader { + width: 96%; + padding: 1% 2%; + font-size: 20px; + font-weight: bold; + background: #6E99C9; + text-align: center; + color: #FFF; +} + +.VibModalClose { + font-size: 25px; + color: #F00; + font-weight: bold; + float: right; + line-height: 17px; + cursor: pointer; +} + +div.cannot_vote { + height: 30px; + width: 30px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Contests/not_checked_box.png); + vertical-align: text-top; + margin-right: 7px; + float: left; +} + +div.can_vote { + height: 30px; + width: 30px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Contests/checked_box.png); + vertical-align: text-top; + margin-right: 7px; + float: left; +} + +div.vote_text { + font-size: 18px; + float: left; + color: #0F0; +} + +div.no_vote_text { + font-size: 18px; + float: left; + color: #F00; +} + +.Contests .StatCounters { + position: absolute; + font-size: 30px; + font-weight: bold; + color: #444; + text-align: left; + margin-left: 10px; + z-index: 4000; +} + +.Contests .StatType { + font-size: 14px; + margin-left: 4px; + margin-top: -7px; + display: block; +} + +.Contests .PlaceOpaqueName { + width: 148px; + font-weight: bold; + text-align: center; + padding: 3px 6px; + font-size: 10px; + color: #444; + background: #FFF; + opacity: .6; + filter: alpha(opacity=60); + margin: 1px auto 7px auto; + height: 24px; + overflow: hidden; + word-wrap: none; +} + +.Contests .FifthPlaceHolder { + float: left; + width: 20%; + margin-top: 5px; + margin: 0 auto; + text-align: center; +} + +div.friend_dock_chatbox { + float: left; + background-color: #E5E3E4; + width: 200px; + margin-right: 10px; + border: solid 1px #7F7F7F; + padding-bottom: 10px; +} + +div.friend_dock_chatsettings { + color: Black; + background-color: #E5E5E5; + border: solid 1px black; + width: 150px; + margin-right: 10px; + font-size: 11px; + z-index: 1200; + position: fixed; + bottom: 110px; + right: 0; +} + +div.chat_settings_group_header { + font-weight: bold; + margin-bottom: 5px; +} + +div#friend_dock_chatholder { + position: absolute; + bottom: 5px; + z-index: 1022; +} + +div#friend_dock_container { + width: 100%; + font-size: 10px; + font-family: Verdana; + z-index: 1022; +} + +div#friend_dock_titlebar ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +div#friend_dock_thumb_container { + border: solid 1px #7F7F7F; + background-color: White; + height: 74px; + padding: 5px; + width: 100%; + overflow: hidden; +} + +div#friend_dock_thumbnails { + float: left; +} + +div#friend_dock_titlebar { + height: 18px; + position: relative; +} + +div#friend_dock_titlebar a { + color: Black; +} + +div#friend_dock_minimized_container { + width: 100%; + z-index: 1022; +} + +div#friend_dock_friendzone, +div#friend_dock_chatzone { + float: left; + height: 65px; + margin-top: 5px; + margin-right: 10px; + margin-left: 10px; +} + +div.friend_dock_chatbox_closebutton { + float: right; + padding-right: 5px; + font-weight: bold; + font-size: 14px; +} + +div.friend_dock_chatbox_closebutton a.hover { + color: #fff; + text-decoration: none; +} + +div.blinkoffheader, +div.blinkonheader { + background-repeat: repeat-x; + border: none; + height: 16px; + padding: 2px; +} + +div.blinkoffheader { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/HeaderBarRepeat1x1.jpg'); +} + +div.blinkonheader { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/HeaderBarRepeat1x1_orange.jpg'); +} + +div.friend_dock_chatbox_username { + width: 150px; + float: left; + font-size: 14px; + color: White; +} + +div.friend_dock_chatbox_chat { + background-color: White; + border: solid 1px black; + margin-left: 10px; + margin-top: 5px; + margin-bottom: 10px; + width: 176px; + padding: 2px; + height: 196px; + overflow: auto; +} + +textarea.friend_dock_chatbox_entry { + margin-left: 10px; + width: 176px; + padding: 2px; + overflow: auto; + overflow-x: hidden; +} + +span.friend_dock_onlinestatus { + position: absolute; + margin-left: 16px; + width: 16px; + height: 16px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/online.png); + background-repeat: no-repeat; +} + +span.friend_dock_offlinestatus { + position: absolute; + margin-left: 16px; + width: 16px; + height: 16px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/offline.png); + background-repeat: no-repeat; +} + +div.friend_dock_onlinestatus { + position: absolute; + margin-top: 5px; + margin-left: 5px; + width: 16px; + height: 16px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/online.png); + background-repeat: no-repeat; +} + +div.friend_dock_offlinestatus { + position: absolute; + margin-top: 5px; + margin-left: 5px; + width: 16px; + height: 16px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/offline.png); + background-repeat: no-repeat; +} + +div.friend_dock_newmessage { + position: absolute; + margin-top: -5px; + margin-left: 42px; + width: 16px; + height: 16px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/newmessage.png); + background-repeat: no-repeat; +} + +div.friend_dock_friend { + width: 50px; + height: 70px; + overflow: hidden; + margin-right: 10px; + margin-bottom: 10px; + float: left; +} + +div.friend_dock_pager { + width: 16px; + height: 16px; + margin-left: 0; + margin-right: 10px; + margin-bottom: 10px; + margin-top: 25px; +} + +.Navigation { + height: 35px; + z-index: 1022; +} + +.Navigation ul { + list-style: none; + margin: 0; + padding: 0; + width: 930px; + margin: 0 auto; +} + +.Navigation ul li { + float: left; + position: relative; +} + +.Navigation ul li a, +.Navigation ul li a:visited { + display: inline-block; + color: #FFF; + padding: 0 9px; + border-left: 1px solid #FFF; + font-size: 18px; +} + +.Navigation ul li a h1, +.Navigation ul li a h2 { + cursor: pointer; +} + +.Navigation ul li:first-child a { + border-left: none; +} + +.friend_dock_username { + height: 15px; + overflow: hidden; + float: left; + width: 55px; +} + +.friend_dock_username_href { + color: Black !important; + font-size: 10px; + font-family: Verdana; +} + +div#chatbar { + position: fixed; + bottom: 0; + left: 0; + height: 0; + font-size: 11px; + font-family: Verdana; + margin: 0 1%; + z-index: 1022; +} + +div#statusbar { + position: fixed; + bottom: 0; + left: 0; + height: 30px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/CSS/Base/CSS/chatbarback.jpg); + border-left: 3px solid #E5E5E5; + border-right: 3px solid #E5E5E5; + font-size: 11px; + font-family: Verdana; + margin: 0 1%; + z-index: 1022; +} + +#chat { + float: left; +} + +.chat_box { + border-left: 2px solid #6E99C9; + border-right: 2px solid #6E99C9; + width: 217px; + float: left; + height: 280px; + overflow-y: scroll; + overflow-x: none; + background: #eee; + font-size: 11px; + font-family: Verdana; +} + +.chat_text { + width: 80%; + padding: 4px; + float: left; + font-size: 11px; + font-family: Verdana; +} + +.chat_name { + color: #88a9bf; + border-bottom: 1px solid #CCC; + font-weight: bold; + padding: 3px; + float: left; + font-size: 11px; + font-family: Verdana; + width: 75%; +} + +.chat_header { + width: 211px; + float: left; + color: #03C; + background: #6E99C9; + color: #000; + font-weight: bold; + font-size: 12px; + margin: 0; + padding: 5px; + font-family: Verdana; +} + +.chat_options { + width: 219px; + float: left; + color: #03C; + background: #6E99C9; + color: #000; + font-weight: bold; + font-size: 12px; + margin: 0; + padding: 1px; + font-family: Verdana; +} + +#chat_close { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/CSS/Base/CSS/close.png); + height: 10px; + width: 10px; + float: right; + cursor: pointer; + margin-right: 1px; +} + +#chat_mini { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/CSS/Base/CSS/mini.png); + height: 10px; + width: 10px; + float: right; + cursor: pointer; + margin-right: 5px; +} + +.chat_abuse { + color: #FFF; + background: yellow; + color: #000; + font-weight: bold; + padding: 1px; + cursor: pointer; + font-family: Verdana; + font-size: 7px; + float: left; +} + +.chat_abuse:hover { + color: #FFF; + background: red; + color: #000; + font-weight: bold; + padding: 1px; + cursor: pointer; + font-family: Verdana; + font-size: 7px; + float: left; +} + +.chat_wrapper { + width: 221px; + background: #eee; + position: absolute; + bottom: 0; + float: left; + z-index: 1022; + margin-left: 3px; +} + +.chat_input { + float: left; + background: #eee; + border-right: 2px solid #6E99C9; + border-left: 2px solid #6E99C9; + border-bottom: 2px solid #6E99C9; + border-top: 1px solid #6E99C9; + width: 217px; +} + +.chat_contents { + bottom: 27px; + display: none; +} + +.roster_box { + border-bottom: 2px solid #bcbcbc; + float: left; + cursor: pointer; + padding: 4px; + width: 125px; +} + +.roster_box:hover { + border-bottom: 2px solid #bcbcbc; + float: left; + cursor: pointer; + background: #eee; + padding: 4px; + width: 125px; +} + +.roster_name { + margin-left: 5px; +} + +.roster_alert { + margin: 1px; + padding: 1px; + font-size: 11px; + font-family: Verdana; +} + +#roster { + float: left; + font-size: 11px; + font-family: Verdana; + display: none; + height: 331px; + overflow-y: scroll; + background: #d8e0e9; + margin: 5px; + width: 150px; + position: absolute; + left: 0; + bottom: 25px; + z-index: 1022; +} + +#roster-wrapper { + float: left; + height: 1px; + width: 170px; +} + +#chat_friends { + float: left; + height: 20px; + color: #000; + font-weight: bold; + padding-left: 33px; + padding-top: 7px; + width: 119px; + cursor: pointer; +} + +#chat_friends:hover { + float: left; + height: 20px; + background: #d8e0e9; + color: #000; + font-weight: bold; + padding-left: 33px; + padding-top: 7px; + width: 119px; + cursor: pointer; +} + +#statusbar_wrapper { + padding-top: 3px; + float: left; +} + +#long-wrapper { + float: left; +} + +#chatlog { + float: left; + padding: 3px; + color: Green; +} + +.chat-unavailable { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/CSS/Base/CSS/unavailable.png); + height: 15px; + width: 15px; + float: left; +} + +.chat-available { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/CSS/Base/CSS/available.png); + height: 15px; + width: 15px; + float: left; +} + +.chat-default { + height: 15px; + width: 15px; + float: left; +} + +.chat_send_button { + background: #eee; + border: 0 solid #FFF; + float: left; + line-height: 17px; + height: 18px; + border-left: 2px solid #CCC; + border-bottom: 0; + border-right: 0; + border-top: 0; + padding: 3px; + cursor: pointer; +} + +.chat_send_button:hover { + background: #D8E0E9; + border: 0 solid #FFF; + float: left; + line-height: 17px; + height: 18px; + border-left: 2px solid #CCC; + border-bottom: 0; + border-right: 0; + border-top: 0; + padding: 3px; + cursor: pointer; +} + +.chat_send_input { + border: 0 solid #FFF; + float: left; + height: 22px; + font-size: 12px; + padding: 2px; +} + +.chat_close { + cursor: pointer; + color: #FFF; + font-size: 16px; + line-height: 11px; + padding-right: 8px; + float: left; + padding-top: 6px; +} + +.chat_close:hover { + cursor: pointer; + color: #000; + font-size: 16px; + line-height: 11px; + padding-right: 8px; + float: left; + padding-top: 6px; +} + +.chat_entry_click { + cursor: pointer; + padding-right: 10px; + padding-top: 7px; + padding-left: 10px; + padding-bottom: 7px; + padding-top: 6px; +} + +.chat_entry { + float: left; + background: #d8e0e9; + height: 27px; + color: #000; + font-weight: bold; + cursor: pointer; + width: 221px; +} + +#chat_login { + margin-top: 1px; + margin-left: 2px; + float: left; +} + +#chat_logout { + margin-top: 1px; +} + +#chat-availability { + float: left; +} + +#partycontainer { + position: absolute; + bottom: 5px; + right: 0; + z-index: 1022; +} + +.ActiveChatThumb { + z-index: 10; + cursor: pointer; +} + +.RemoveActiveChat { + position: absolute; + z-index: 10; + cursor: pointer; + margin-left: 40px; +} + +.clear { + overflow: hidden; + width: 100%; + font-size: 0; +} + +.followme_green19h { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/followme_19h.png'); + background-repeat: no-repeat; + background-position: left top; + height: 19px; + cursor: pointer; + width: 65px; + float: left; + text-align: center; +} + +.followme_green19h:hover { + background-position: left bottom; +} + +.followme_gray19h { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/followme_19h-gray.png'); + background-repeat: no-repeat; + background-position: left top; + height: 19px; + cursor: pointer; + width: 65px; + float: left; + text-align: center; +} + +.followme_gray19h:hover { + background-position: left bottom; +} + +.tab_white19h, +.tab_white19hselected { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_white19h_l2.gif') no-repeat left top; + color: #444; + display: block; + float: left; + font: normal 12px verdana, sans-serif; + text-decoration: none; + padding-left: 2px; + height: 19px; + outline: none; + cursor: pointer; +} + +.tab_white19h span, +.tab_white19hselected span { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_white19h_r2.gif') no-repeat right top; + display: block; + height: 15px; + padding: 2px 15px 2px 7px; + text-decoration: none; +} + +.tab_white19h:hover, +.tab_white19hselected { + background-position: left bottom; + color: #000; + outline: none; + text-decoration: none; +} + +.tab_white19h a, +.tab_white19hselected a { + text-decoration: none; + outline: none; +} + +.tab_white19h:hover span, +.tab_white19hselected span { + background-position: right bottom; + text-decoration: none; +} + +.tab_white19h_flash { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_blue19h_l.gif') no-repeat left top; +} + +.tab_white19h_flash span { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_blue19h_r.gif') no-repeat right top; + color: White; +} + +.bold { + font-weight: bold; +} + +.clear { + clear: both; +} + +.alignCenter { + text-align: center; +} + +.InGamePopup { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/containerBkg_01.png); + _overflow: hidden; +} + +.voteYes { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/button_vote.jpg); + width: 24px; + height: 23px; + background-position: top left; +} + +.voteYes:hover { + background-position: bottom left; +} + +.voteNo { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/button_vote.jpg); + width: 24px; + height: 23px; + background-position: top right; +} + +.voteNo:hover { + background-position: bottom right; +} + +.overrideColumn1c { + font-family: Verdana; + float: left; + padding: 5px 0 0; + border-right: 1px solid #ccc; + width: 659px; +} + +.overrideColumn2c { + font-family: Verdana; + width: 310px; + float: right; + padding-top: 8px; +} + +.overrideColumn1c .ShadowedStandardBox { + width: 561px; +} + +.overrideColumn1c .ShadowedStandardBoxHeader { + width: 551px; +} + +.overrideColumn1c .GiftCardLink { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-get_gift_card.jpg) no-repeat; + width: 560px; + height: 90px; +} + +.overrideColumn1c .GiftCardLink:hover { + background-position: 0 -90px; +} + +.overrideColumn2c .ShadowedStandardBox { + width: 310px; +} + +.overrideColumn2c .ShadowedStandardBoxHeader { + width: 300px; +} + +.overrideDontLogout { + float: right; + margin-left: 80px; +} + +.videoURL { + width: 380px; + height: 250px; +} + +.HLinkFormat { + padding-left: 8px; + padding-right: 8px; +} + +.HomeHeader { + font-family: Arial; + font-size: 25px; + font-weight: bold; + color: #363636; +} + +.HomeMiddle { + font-family: Arial; + font-size: 18px; + font-weight: bold; + color: #363636; + padding: 5px; + margin: 0; +} + +.HomeSide { + font-family: Arial; + font-weight: bold; + font-size: 14px; + color: #363636; +} + +#GiftCardCrossLink { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Gifting/img-gifting160-1.jpg) no-repeat; + width: 160px; + height: 600px; +} + +#GiftCardCrossLink:hover { + background-position: bottom; +} + +#BCGiftCardXLink { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Gifting/img-gifting270_2.png) no-repeat; + background-color: White; + margin-bottom: 10px; +} + +#BCGiftCardXLink:hover { + background-position: bottom; +} + +div.FrontPageLoginBox { + float: left; + padding: 0 48px; + background: #e1e1e1; + border: 1px solid #bcbcbc; + height: 248px; + width: 160px; + margin-right: 5px; + text-align: center; +} + +div.FrontPageVideoIntro { + display: inline; + padding: 0 5px; +} + +a.ControlLoginButton { + padding: 6px 0 !important; + margin: 0 auto; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/btn-big_silver_tile.png") top left; + display: block; + width: 88px; + font-family: Arial; + font-size: 16px; + font-weight: bold; + color: #000; + height: 18px; + border: 1px solid #bcbcbc; +} + +a.ControlLoginButton:hover, +a.ControlLoginButton:active { + background-position: bottom left; + text-decoration: none; +} + +div.DGBContainerLong, +div.DGBContainerShort { + height: auto; +} + +div.TextInputLogin { + margin: 0; + padding: 0 0 0 2px; + height: 20px; + text-align: left; + margin-bottom: 10px; +} + +.BannerAndFeaturedGamesBox { + height: 390px; + padding: 0; +} + +div.TopPanel { + min-height: 252px; + float: left; + margin: 0; + width: 970px; + border-bottom: 1px solid #ccc; + padding: 5px 0; +} + +.SidePanel #RobloxNews { + font-size: 12px; +} + +#RobloxNews a { + margin-right: 5px; +} + +.FeaturedGameButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/btn-playnow_big2.png) no-repeat; + height: 214px; + width: 214px; + height: 214px; + overflow: hidden; +} + +.FeaturedGameButton:hover { + background-position: 0 -214px; +} + +.GiftCards #GiftForm span#remainingCharacters { + color: Black; + font-size: 10px; +} + +div.FeaturedGameInfo { + font-size: 10px; + white-space: nowrap; + overflow: hidden; + float: left; + padding-left: 14px; + line-height: 140%; + width: 155px; +} + +a.BadAdButton { + color: #808080; + font-family: Arial, Helvetica, sans-serif; +} + +a.BadAdButton:hover { + border: 0; + text-decoration: underline; +} + +div.VisitButtonsRight { + text-align: left; +} + +#ItemContainer .SellCollectible .StandardBoxHeader, +#ItemContainer .SellCollectible .StandardBox { + width: auto; +} + +div.FeaturedGameImage { + float: left; +} + +.separateSignUpFromLoginWithBorder { + margin-top: 10px; + border-top: 1px solid #bdbdbd; +} + +div.ParentsSpacing a { + font-weight: bold; + margin: 0 10px; +} + +div.SidePanel h2 { + display: block; + font-size: 16px; + font-weight: bold; + color: black; + text-transform: uppercase; + margin: 0 0 10px 0; +} + +div.SidePanel { + border-top: 1px solid #CCC; + font-family: Arial; + padding-top: 10px; + padding-bottom: 10px; + padding-left: 10px; +} + +div.SidePanel p { + color: #000; + margin: 0 0 8px; +} + +div.SidePanel img { + margin-right: 10px; +} + +div.FeaturedGameInfo .PlaceStatValue { + margin: 0 0 8px; + font-size: 12px; +} + +div.FeaturedGameInfo .PlaceStatLabel { + color: #464646; + font-size: 10px; +} + +div.FeaturedGame { + padding: 10px 0; +} + +span.placeName { + font-size: 16px; + font-weight: bold; + color: #000; + text-transform: uppercase; +} + +.FeaturedGameBox { + border-bottom: 1px solid #ccc; + height: 320px; + font-family: Arial; + padding-top: 5px; +} + +.FeaturedGameBox h2 { + font-size: 40px; + font-weight: bold; + color: #363636; + letter-spacing: -2px; + display: block; + margin: 0; +} + +.FeaturedGameAssetImage { + float: left; +} + +a.PlayThisFeaturedGame { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/btn-play_this.png") top left; + display: block; + width: 112px; + height: 34px; + margin: 0 0 15px; +} + +a.PlayThisFeaturedGame:hover { + background-position: bottom left; +} + +a.RobloxFreeBuildingBanner { + display: block; + height: 90px; + width: 648px; +} + +a.RobloxFreeBuildingBanner:hover { + background-position: bottom left; +} + +.loginNewStyle { + padding-top: 63px; + height: 655px; +} + +div.testingSitePanel { + margin: 5px auto 8px; + width: 870px; + text-align: center; + border: 3px #FFE066 solid; + padding: 10px 5px; + background: white; +} + +div.mySubmenuFixed { + position: fixed; + top: 68px; + width: 100%; + z-index: 10000; +} + +div#Body div#CatalogContainer, +div#Body div#GamesContainer, +div#Body #BrowseContainer { + padding-top: 5px; +} + +div.ProfileAlertPanel .SmallHeaderAlertSpaceLeft { + background: none !important; + float: none !important; + height: 50px !important; +} + +div.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace { + height: 50px !important; + background: none !important; +} + +.BannerCenterContainer { + width: 970px; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +div#Nav { + position: fixed; + display: block; + top: 38px; + z-index: 1000; +} + +img#over13icon { + float: left; + padding-left: 7px; + padding-top: 1px; + position: relative; + top: 18px; + height: 11px; + width: 20px; +} + +a.loginButton { + margin-left: 7px; +} + +a.logoutButton { + margin-left: -2px; + padding-top: 2px; + position: static; + top: auto; +} + +a.btn-logo, +a.btn-logo:visited { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn-logo.png?v=2") top left; + display: inline-block; + width: 123px; + height: 38px; + float: left; +} + +a.btn-logo:hover { + background-position: bottom left; +} + +a.btn-playnow, +a.btn-playnow:visited { + background-position: top left; + display: block; + width: 117px; + height: 34px; + float: right; + position: relative; + top: 2px; +} + +a.btn-playnow:hover { + background-position: bottom left; +} + +#SmallHeaderContainer #Banner .LoggedOutAuthenticationButton { + top: 0; + margin-top: 0; + left: 0 !important; + width: 60px; + height: 28px; +} + +div#containerWrapper { + width: 970px; + background: white; + margin-left: auto; + margin-right: auto; +} + +div#ErrorPage { + text-align: center; + margin-bottom: 20px; +} + +div#ErrorPage pre { + text-align: left; + font: normal 12pt Courier; +} + +div#ErrorPage h1 { + font-size: 40px; + font-weight: bold; + color: #363636; + letter-spacing: -2px; + margin-bottom: 10px; + display: block; +} + +img.ErrorAlert { + display: block; + margin: 25px auto 10px; +} + +div#ErrorPage h3 { + color: #363636; + font-weight: bold; + font-size: 16px; +} + +div#ErrorPage .divideTitleAndBackButtons { + margin: 20px auto; + height: 1px; + width: 55%; + border-top: 1px solid #ccc; +} + +div#ErrorPage div.CenterNavigationButtonsForFloat { + width: 253px; + margin: 0 auto; +} + +a.menuTextLink { + padding: 0 5px; + border-left: 1px solid black; +} + +div.FrontPageLoginBox { + padding: 0 5px 0 5px; + width: 250px; +} + +div.FrontPageLoginBox div.UsernameRowLogin { + margin-bottom: 10px; +} + +div.FrontPageLoginBox .fbLoginButton { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Facebook/btn-login_with_fb-big.png") no-repeat; + width: 170px; + height: 25px; +} + +div.FrontPageLoginBox .fbLoginButton:hover { + background-position: bottom left; +} + +div.FrontPageLoginBox .LoginViewContainer { + padding-left: 10px; +} + +div.FrontPageLoginBox .DarkGradientBox .DGB_Label { + font-weight: bold; + position: relative; + height: 20px; + line-height: 20px; + padding: 1px 0; +} + +div.FrontPageLoginBox .TextInputLogin label.passwordInput { + padding-right: 1px; +} + +div.FrontPageLoginBox .DarkGradientBox .DGB_TextBox { + left: 8px; + right: 40px; + width: 95%; + margin-right: 5px; + padding-left: 5px; +} + +span#ForgetPasswordPrompt { + font-size: 11px; + padding-left: 5px; + display: none; +} + +div.FrontPageLoginBox span#ForgetPasswordPrompt { + display: block; + text-align: left; + padding: 3px 0 0 0; +} + +div.FrontPageLoginBox .fbSplashPageConnect { + padding-top: 6px; +} + +div.FrontPageLoginBox a.SignupButtonImage { + float: left; + margin: inherit; +} + +div.FrontPageLoginBox div.CenterSignupText { + margin: 0 auto; + padding-top: 0; + margin-top: 12px; +} + +span.not-a-member { + position: relative; + top: -7px; + line-height: 12px; + *top: 12px; +} + +.Ads_WideSkyscraper { + float: right; + text-align: right; + width: 160px; +} + +/* ~/CSS/Base/CSS/AccountBalance.css */ +#MyAccountBalanceContainer { + font-family: Verdana, Helvetica, Sans-Serif; +} + +#MyAccountBalanceContainer h2 { + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 2.5em; + font-weight: normal; + letter-spacing: .4em; + line-height: 1em; + margin: 10px 0 0 -2px; + padding: 0; +} + +#MyAccountBalanceContainer h3 { + background-color: #ccc; + border-bottom: solid 1px #000; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 1.7em; + font-weight: normal; + letter-spacing: .1em; + line-height: 1em; + margin: 0; + padding: 5px; + text-align: center; +} + +#MyAccountBalanceContainer h4 { + font-family: Verdana, Sans-Serif; + font-size: 13px; + font-weight: bold; + margin: 5px 0; + padding: 5px 5px 5px 15px; + color: #900; +} + +#MyAccountBalanceContainer #AboutRobux { + border-bottom: solid 1px #000; + border-left: solid 1px #000; + border-right: solid 1px #000; + float: right; + margin-top: 20px; + width: 275px; +} + +#MyAccountBalanceContainer #AboutRobux h3 { + border-top: solid 1px #000; +} + +#MyAccountBalanceContainer #AboutRobux p { + margin: 0; + padding: 10px 15px; +} + +#MyAccountBalanceContainer #Earnings { + border: solid 1px #000; + margin-top: 20px; + padding-bottom: 10px; + width: 600px; +} + +#MyAccountBalanceContainer .Earnings_Period { + margin-bottom: 20px; +} + +#MyAccountBalanceContainer .Earnings_LoginAward, +#MyAccountBalanceContainer .Earnings_PlaceTrafficAward, +#MyAccountBalanceContainer .Earnings_Ambassador { + padding: 0 0 0 50px; + height: 16px; + background-color: #eee; +} + +#MyAccountBalanceContainer .Earnings_SaleOfGoods, +#MyAccountBalanceContainer .Earnings_PeriodTotal, +#MyAccountBalanceContainer .Earnings_LoginAwardBC, +#MyAccountBalanceContainer .Earnings_Currency { + padding: 0 0 0 50px; + height: 16px; +} + +#MyAccountBalanceContainer .Earnings_LoginAward .Label, +#MyAccountBalanceContainer .Earnings_LoginAwardBC .Label, +#MyAccountBalanceContainer .Earnings_PlaceTrafficAward .Label, +#MyAccountBalanceContainer .Earnings_SaleOfGoods .Label, +#MyAccountBalanceContainer .Earnings_Ambassador .Label, +#MyAccountBalanceContainer .Earnings_Currency .Label { + float: left; + width: 380px; +} + +#MyAccountBalanceContainer .Earnings_PeriodTotal .Label { + float: left; + padding-right: 10px; + text-align: right; + width: 370px; +} + +#MyAccountBalanceContainer .Earnings_PeriodTotal .Field { + color: Blue; + font-weight: bold; +} + +#MyAccountBalanceContainer .Field { + float: right; + width: 75px; +} + +#MyAccountBalanceContainer .Zebra { + background-color: #eee; +} + +/* ~/CSS/Base/CSS/AdFormatClasses.css */ +.GPTAd.banner { + width: 745px; + height: 90px; +} + +.GPTAd.skyscraper { + width: 160px; + height: 612px; + display: block; +} + +.GPTAd.rectangle { + width: 300px; + height: 250px; +} + +.GPTAd.narrowskyscraper { + width: 120px; + width: 600px; +} + +.GPTAd.gutter { + width: 400px; + height: 1180px; +} + +.GPTAd.opapushdown { + width: 970px; + height: 96px; +} + +.GPTAd { + overflow: hidden; + margin: 0 auto; +} + +/* ~/CSS/Base/CSS/Ads.css */ +table.stats { + text-align: center; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal; + font-size: 11px; + color: #fff; + width: 280px; + background-color: #666; + border: 0; + border-collapse: collapse; + border-spacing: 0; +} + +table.stats td { + background-color: #CCC; + color: #000; + padding: 4px; + text-align: left; + border: 1px #fff solid; +} + +table.stats td.hed { + background-color: #666; + color: #fff; + padding: 4px; + text-align: left; + border-bottom: 2px #fff solid; + font-size: 12px; + font-weight: bold; +} + +/* ~/CSS/Base/CSS/AgeUpEmailVerifyPage.css */ +#VerifyImageHolder { + float: left; + margin-right: 4px; + margin-top: 8px; +} + +#VerificationText-Top { + font-family: Arial; + font-size: 40px; + font-weight: bold; + color: #363636; +} + +#VerificationText-Bottom { + font-family: Arial; + font-size: 14px; + font-weight: normal; + color: #000; +} + +#RightColumn { + width: 300px; + float: right; +} + +#VerificationResult { + text-align: center; + width: 50%; + margin: 0 auto; +} + +#VerifyUserInfo { + color: #000; + font-family: Arial; + font-size: 15px; + font-weight: bold; + margin: 46px 0 18px; +} + +#ChildPrivacyLevel { + margin-bottom: 18px; +} + +#ChildPrivacyLevelText { + color: #000; + font-family: Arial; + font-size: 15px; + font-weight: bold; +} + +.GreenSubmitButton { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn-submit.png"); + height: 50px; + width: 134px; + border: 0; + padding: 0; + cursor: pointer; +} + +.GreenSubmitButton:hover { + background-position: 0 -50px; + cursor: pointer; +} + +#ExtraText { + margin-top: 16px; + font: 11px Arial; + color: #666; +} + +#RobloxForParents { + text-align: left; + border-left: 1px solid #CCC; +} + +#GoPremium { + text-align: left; + border-left: 1px solid #CCC; + border-bottom: 1px solid #CCC; +} + +#RobloxGiftCards { + text-align: left; + border-left: 1px solid #CCC; +} + +#BLueLink { + margin-top: 16px; + padding-bottom: 17px; + margin-left: 10px; +} + +#SideBarHeader { + font: Bold 16px Arial; + color: Black; + margin-bottom: 19px; + padding-top: 21px; + margin-left: 10px; +} + +#SideText { + font-family: Arial; + font-size: 12px; + font-weight: normal; + color: Black; + margin-left: 10px; +} + +/* ~/CSS/Base/CSS/Asset.css */ +#AssetContainer { + margin: 0 auto; + width: 620px; +} + +#AssetContainer h2 { + color: #333; + font-size: x-large; + margin-bottom: 5px; +} + +#AssetContainer #Asset { + background-color: #eee; + border: solid 1px #000; + color: #555; +} + +/* ~/CSS/Base/CSS/Badges.css */ +#NewBadgesContainer { + margin-top: 10px; +} + +#NewBadgesContainer .BadgeCategory { + padding-bottom: 10px; +} + +#NewBadgesContainer .BadgeCategory ul { + margin: 0; + padding: 0; + list-style: none; +} + +#NewBadgesContainer .BadgePadding { + height: 80px; +} + +#NewBadgesContainer .BadgeCategory li { + margin-top: -80px; +} + +#NewBadgesContainer .BadgeCategory li:last-child { + border-bottom: none; +} + +#NewBadgesContainer .BadgeContent { + padding: 15px 5px 5px; +} + +#NewBadgesContainer .BadgeImage { + float: left; + width: 75px; + height: 75px; + padding: 0 10px 10px 0; + text-align: center; +} + +#NewBadgesContainer .BadgeImage img { + height: 75px; +} + +#NewBadgesContainer .BadgeDescription { + margin-left: 85px; + min-height: 75px; +} + +#NewBadgesContainer h1 { + margin-top: 0; +} + +.BadgeHint { + border: dashed 1px #000; + padding: 5px 5px 5px 5px; + background-color: #E8EDFF; +} + +.TileBadges { + float: left; + margin: 10px 10px; + text-align: center; +} + +#CreateBadgeContainer .ErrorViewText { + font-size: 13px; +} + +#CreateBadgeContainer .Label { + width: 100px; + display: block; + float: left; +} + +#CreateBadgeContainer .Robux { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/img-robux.png') no-repeat 0 1px; + padding: 0 0 2px 20px; + color: #060; + margin-bottom: 2px; + font-weight: bold; + font-size: 14px; +} + +#CreateBadgeContainer .FormElement { + margin-bottom: 20px; +} + +#CreateBadgeContainer .PreviewImage { + float: left; + margin-right: 20px; +} + +#CreateBadgeContainer .InstructionsGraphic { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Badges/badge_instructions.png') no-repeat; + width: 966px; + height: 323px; + position: relative; + margin-bottom: 15px; +} + +#CreateBadgeContainer .BlueDownloadBtn { + display: block; + height: 34px; + width: 122px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-blue-download_m.png') no-repeat top left; + position: absolute; + bottom: 27px; + left: 33px; +} + +#CreateBadgeContainer .BlueDownloadBtn:hover { + background-position: bottom left; +} + +#CreateBadgeContainer .GreenUploadBtn { + display: block; + height: 51px; + width: 130px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-green-upload.png') no-repeat top left; +} + +/* ~/CSS/Base/CSS/BCModal.css */ +.ButtonUpgradeNow { + margin: auto; + overflow: hidden; + height: 50px; + width: 173px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-upgrade_now.png) no-repeat 0 0; +} + +.ButtonUpgradeNow:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-upgrade_now.png) no-repeat 0 -50px; +} + +.BCModalImage { + margin-left: 12px; + margin-bottom: 12px; + float: left; +} + +#BCMessageDiv.BCMessage { + margin-left: 12px; + font-weight: bold; + font-size: 15px; + font-family: arial; + float: left; + color: black; + width: 285px; +} + +/* ~/CSS/Base/CSS/Billing.css */ +.buy-robux-button { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/bg-rbx_btn_60.png) repeat-x left top; + height: 49px; + border: 1px solid #007001; + display: inline-block; + *display: inline; + zoom: 1; + width: 114px; + text-align: center; + font-family: Arial, Helvetica, sans-serif; + text-decoration: none; + padding-top: 9px; + cursor: pointer; + margin-right: 10px; + overflow: hidden; +} + +.buy-robux-button span.rbx-amt { + font-size: 15px; + font-weight: bold; + display: block; + color: #013401; + line-height: 12px; + height: 16px; +} + +.buy-robux-button span.rbx-amt-txt { + display: block; + color: #ffff97; + position: relative; + bottom: 11px; +} + +.buy-robux-button span.price-amt { + font-size: 24px; + font-weight: bold; + display: block; + color: #013401; + line-height: 25px; +} + +.buy-robux-button span.price-amt span.cents { + font-size: 14px; + position: relative; + bottom: 7px; + line-height: normal; +} + +.buy-robux-button span.price-amt-txt { + display: block; + color: #fff; + position: relative; + bottom: 24px; +} + +.buy-robux-button-container { + float: left; + margin-right: 10px; + width: 114px; +} + +.buy-robux-button-container .disclaimer { + padding: 7px; +} + +.buy-robux-button:hover { + background-position: left -58px; + text-decoration: none; + cursor: pointer; +} + +.boku-products-container { + margin-left: auto; + margin-right: auto; + width: 500px; +} + +.buy-robux-button-container.ES { + width: auto; + clear: both; + margin-bottom: 10px; +} + +.ES .buy-robux-button { + width: 271px; + float: left; + display: block; +} + +.ES .buy-robux-button span.price-amt { + padding: 0 10px; +} + +.ES .disclaimer { + float: left; + width: 185px; +} + +/* ~/CSS/Base/CSS/carouselpager.css */ +.CarouselPager { + text-align: center; +} + +.CarouselPager .arrow-prev, +.CarouselPager .arrow-next { + height: 13px; + width: 36px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Groups/btn-arrowsprite-up_down.png'); + margin: 5px 0; + display: inline-block; +} + +.CarouselPager .arrow-prev { + background-position: left top; +} + +.CarouselPager .arrow-next { + background-position: right top; +} + +.CarouselPager .arrow-prev:hover { + background-position: left -13px; +} + +.CarouselPager .arrow-next:hover { + background-position: right -13px; +} + +.CarouselPager .arrow-prev.disabled { + background-position: left bottom; +} + +.CarouselPager .arrow-next.disabled { + background-position: right bottom; +} + +/* ~/CSS/Base/CSS/Catalog.css */ +.right-content .btn-medium.btn-primary { + position: absolute; + right: 0; + top: -10px; +} + +#CatalogContainer { + min-width: 0; + position: relative; +} + +#CatalogContainer #BrowseMode span, +#CatalogContainer #CurrencyType span, +#CatalogContainer #Timespan span { + font-weight: normal; + line-height: 24px; + padding: 0; + color: #555; + font-size: 14px; +} + +#BrowseMode ul li span a { + font-weight: normal; + font-size: 12px; + line-height: 17px; +} + +#CatalogContainer ul { + list-style: none; + margin: 0 0 20px 0; + padding-left: 0; +} + +#CatalogContainer ul li { + margin: 5px 0 5px 10px; + padding-left: 20px; + font-size: 12px; +} + +#CatalogContainer .Selected { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gamesPage_filterArrow.png') no-repeat scroll 0 1px transparent; +} + +#CatalogContainer .DisplayFilters { + width: 185px; + background-color: White; + border: solid 2px #6e99c9; +} + +#CatalogContainer .Assets { + float: left; + min-width: 0; + overflow: hidden; + padding-bottom: 10px; + padding-left: 0; + padding-right: 0; + position: relative; + width: 680px; +} + +#CatalogContainer .Assets .HeaderPager, +#CatalogContainer .Assets .FooterPager { + padding: 2px 0; + text-align: right; +} + +#CatalogContainer .Assets .HeaderPager { + margin-bottom: 10px; +} + +#CatalogContainer .Assets .HeaderPager .Label, +#CatalogContainer .Assets .FooterPager .Label { + font-size: 1em; + vertical-align: middle; +} + +#CatalogContainer .Asset { + margin: -1px 0 15px -1px; + vertical-align: top; + width: 122px; +} + +#CatalogContainer .Asset .AssetThumbnail { + border: solid 1px #EEE; + height: 110px; + text-align: center; + width: 110px; + background-color: #FFF; +} + +#CatalogContainer .Asset .AssetDetails { + overflow: hidden; + padding: 2px 0 6px 0; + width: 110px; +} + +#CatalogContainer .AssetName a { + font-size: .9em; + font-weight: bold; + line-height: 1.5em; + vertical-align: top; +} + +.AssetsBullet { + padding-right: 3px; +} + +#CatalogContainer .Label, +#CatalogContainer .Detail, +#CatalogContainer .DetailHighlighted, +#CatalogContainer .PriceInRobux, +#CatalogContainer .PriceInTickets { + font-size: .8em; +} + +#CatalogContainer .PriceInRobux { + color: Green; + font-weight: bold; +} + +#CatalogContainer .PriceInTickets { + color: #fbb117; + font-weight: bold; +} + +#CatalogContainer .AssetsDisplaySet { + float: left; + font-family: Arial, Sans-Serif; + font-size: 1.5em; +} + +.Assets .StandardBoxHeader { + width: 660px; +} + +.Assets .StandardBox { + width: 660px; +} + +#AddToGearInstructionsPanel .PurchaseModalMessageText { + width: 100%; + padding-top: 0; + font-size: 13px; + font-weight: normal; + text-align: center; + min-height: 300px; +} + +#AddToGearInstructionsPanel .PurchaseModalMessageText span { + display: block; +} + +#AddToGearInstructionsPanel .PurchaseModalMessage { + height: inherit; +} + +.CatalogListTable { + margin: 10px 0 0 0; +} + +.filter-header { + margin: 0; +} + +#catalog h1 { + margin: 0; +} + +/* ~/CSS/Base/CSS/CharacterCustomization.css */ +.CustomizeCharacterContainer { + font-family: Arial, Helvetica, Sans-Serif; + margin: 0; +} + +.CustomizeCharacterContainer h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-family: Arial, Helvetica, Sans-Serif; + margin: 0; + text-align: center; +} + +.CustomizeCharacterContainer .NoResults { + padding: 0; + text-align: center; + line-height: 40px; +} + +.CustomizeCharacterContainer .AttireContent { + min-height: 350px; +} + +.CustomizeCharacterContainer .TileGroup { + min-height: 175px; + clear: left; + text-align: center; +} + +.CustomizeCharacterContainer .Asset { + float: left; + margin: 5px 7px 5px 0; + text-align: left; + vertical-align: top; + width: 130px; +} + +.CustomizeCharacterContainer .Asset .AssetThumbnail { + height: 110px; + position: relative; + text-align: center; + width: 128px; +} + +.CustomizeCharacterContainer .Asset .AssetDetails { + overflow: hidden; + padding: 2px 0 6px 0; + text-align: left; + width: 125px; +} + +.CustomizeCharacterContainer .AssetName a { + font-size: .9em; + font-weight: bold; + line-height: 1.5em; + vertical-align: top; +} + +.CustomizeCharacterContainer .Label, +.CustomizeCharacterContainer .Detail, +.CustomizeCharacterContainer .DetailHighlighted { + font-size: .8em; +} + +.CustomizeCharacterContainer .FooterPager { + clear: left; + margin: 10px 0; + text-align: center; +} + +.AttireChooser { + border: solid 1px #000; + float: left; + margin: 0; + min-width: 0; + padding: 0; + position: relative; + text-align: left; + width: 530px; +} + +.Accoutrements { + border: solid 1px #000; + clear: left; + margin-top: 10px; + min-width: 0; + padding: 0; + position: relative; + text-align: left; + width: 530px; +} + +.AttireChooser .AttireCategory { + border-bottom: solid 1px #000; + margin: 0 0 10px 0; + padding: 3px 0; + text-align: center; +} + +.AttireChooser .AttireOptions { + margin: 5px; +} + +.AttireCategory { + height: 60px; +} + +.AttireCategory .AttireCategorySelector_Selected { + font-weight: bold; +} + +.AttireChooser .HeaderPager, +.AttireChooser .HeaderPager { + margin-bottom: 10px; +} + +.AttireChooser .HeaderPager .Label, +.AttireChooser .FooterPager .Label { + font-size: 1em; + vertical-align: middle; +} + +.ReDrawAvatar { + margin-top: 5px; +} + +.Mannequin { + clear: right; + margin-top: 10px; + text-align: center; + width: 350px; + height: 400px; +} + +.Mannequin .ColorChooserFrame { + margin: 10px auto 0; +} + +.Mannequin .ColorChooserRegion { + border: 1px solid #ddd; +} + +.TeeShirtBuilder { + border: solid 1px #000; + clear: both; + margin-top: 10px; +} + +/* ~/CSS/Base/CSS/CharacterSelectAndInstallInstructions.css */ +.CharSelectCombined { + width: 836px; + padding: 25px; + display: none; + background-color: #DEF; +} + +.CharSelectCombined .closeBtnCircle_35h { + cursor: pointer; + margin-left: 375px; + position: absolute; + top: -10px; + right: -10px; +} + +.CharSelectCombined .ChooseCharText { + height: 28px; + font-size: 23px; + font-family: Arial, Sans-Serif; + font-weight: bold; + padding-bottom: 10px; + width: 418px; + clear: none; + float: left; +} + +.CharSelectCombined .AlreadyHaveText { + height: 20px; + padding-top: 8px; + font-family: Arial, Sans-Serif; + font-size: 15px; + vertical-align: baseline; + font-weight: bold; + padding-bottom: 10px; + width: 418px; + clear: right; + text-align: right; + float: right; +} + +.CharSelectCombined .PlayAsButton { + width: 380px; + height: 168px; + background-position: 0 336px; + float: left; + cursor: pointer; +} + +.CharSelectCombined .Boy { + margin: 15px 12px 30px 22px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-play_as_boy_AB.png); +} + +.CharSelectCombined .Girl { + margin: 15px 0 30px 0; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-play_as_girl_AB.png); +} + +.CharSelectCombined .PlayAsButton:hover { + background-position: 0 168px; +} + +.CharSelectCombined .PlayAsButton.Faded { + background-position: 0 0; + cursor: default; +} + +.CharSelectCombined .PlayAsButton.Faded:hover { + background-position: 0 0; +} + +/* ~/CSS/Base/CSS/CommonForms.css */ +.standardform span.instructions { + padding-top: 2px; + color: #666; + display: block; + font-size: 11px; +} + +.standardform div.validation { + float: left; + position: relative; +} + +.standardform label { + font-size: 13px; + color: black; + font-weight: bold; +} + +.standardform input { + border: 1px solid #999; + padding: 3px; +} + +.standardform select { + margin: 0; + height: 21px; + margin-right: 5px; +} + +.standardform .valid-container { + position: absolute; + width: 180px; + height: 48px; +} + +.standardform .valid-top, +.valid-bottom { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-bubble.png) no-repeat right top; + width: 180px; + height: 3px; +} + +.standardform .valid-bottom { + background-position: right bottom; +} + +.standardform .valid-main { + width: 165px; + color: #a00; + font: normal 11px arial; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-bubble.png) no-repeat left center; + padding-left: 15px; +} + +.standardform .valid-main p { + margin: 0; +} + +.standardform .valid { + width: 15px; + height: 13px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/img-check.png) no-repeat; + margin-top: 3px; + margin-left: 5px; + display: none; +} + +/* ~/CSS/Base/CSS/ContentAdapters.css */ +div.AspNet-DetailsView-Data ul { + margin: 0; + padding: 0; +} + +div.AspNet-DetailsView-Data li { + margin: 0; + padding: 0; + list-style-type: none; + position: relative; +} + +ul.AspNet-Menu { + position: relative; +} + +ul.AspNet-Menu, +ul.AspNet-Menu ul { + margin: 0; + padding: 0; + display: block; +} + +ul.AspNet-Menu li { + position: relative; + list-style: none; +} + +ul.AspNet-Menu li a, +ul.AspNet-Menu li span { + display: block; + text-decoration: none; +} + +ul.AspNet-Menu ul { + position: absolute; + display: none; +} + +ul.AspNet-Menu li:hover ul ul, +ul.AspNet-Menu li:hover ul ul ul, +ul.AspNet-Menu li.AspNet-Menu-Hover ul ul, +ul.AspNet-Menu li.AspNet-Menu-Hover ul ul ul { + display: none; +} + +ul.AspNet-Menu li:hover ul, +ul.AspNet-Menu li li:hover ul, +ul.AspNet-Menu li li li:hover ul, +ul.AspNet-Menu li.AspNet-Menu-Hover ul, +ul.AspNet-Menu li li.AspNet-Menu-Hover ul, +ul.AspNet-Menu li li li.AspNet-Menu-Hover ul { + display: block; +} + +.AspNet-Menu-Horizontal ul.AspNet-Menu li { + float: left; +} + +.AspNet-Menu-Horizontal ul.AspNet-Menu li li { + float: none; +} + +div.AspNet-TreeView { + margin: 0; + padding: 0; +} + +div.AspNet-TreeView ul { + list-style: none; + margin: 0; + padding: 0; +} + +.AspNet-TreeView-Hide { + display: none; +} + +/* ~/CSS/Base/CSS/ContentBuilder.css */ +#ContentBuilderContainer { + margin-top: 10px; +} + +#ContentBuilderContainer h2 { + margin: 0; + padding: 0; +} + +#ContentBuilderContainer h3 { + padding: 5px; + text-align: center; +} + +#ContentBuilderContainer blockquote { + margin: 0 auto; +} + +#ContentBuilderContainer .GamePass .Label { + width: 100px; + display: block; + float: left; +} + +#ContentBuilderContainer .GamePass .Robux { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/img-robux.png') no-repeat 0 1px; + padding: 0 0 2px 20px; + color: #060; + margin-bottom: 2px; + font-weight: bold; + font-size: 14px; +} + +#ContentBuilderContainer .GamePass .PurchaseModalFooter { + text-align: left; +} + +#ContentBuilderContainer .GamePass .FormElement { + margin-bottom: 20px; +} + +#ContentBuilderContainer .GamePass .PreviewImage { + float: left; + margin-right: 20px; +} + +#ContentBuilderContainer .GamePass .InstructionsGraphic { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/BuildPage/img-instructions.png') no-repeat; + width: 966px; + height: 323px; + position: relative; +} + +#ContentBuilderContainer .GamePass .BlueDownloadBtn { + display: block; + height: 34px; + width: 122px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-blue-download_m.png') no-repeat top left; + position: absolute; + bottom: 27px; + left: 33px; +} + +#ContentBuilderContainer .GamePass .BlueDownloadBtn:hover { + background-position: bottom left; +} + +#ContentBuilderContainer .GamePass .GreenUploadBtn { + display: block; + height: 51px; + width: 130px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-green-upload.png') no-repeat top left; +} + +#ContentBuilderContainer .GamePass .GreenUploadBtn:hover { + background-position: bottom left; +} + +#ContentBuilderContainer .UploaderPanel, +#ContentBuilderContainer .UpsellPanel { + text-align: center; +} + +#ContentBuilderContainer .SelectorArea { + margin: 0 auto; + margin-bottom: 20px; + margin-top: 20px; + text-align: center; +} + +#ContentBuilderContainer .DisclaimerLink { + z-index: 9; + display: inline; + font-size: 1.2em; +} + +#ContentBuilderContainer .DisclaimerLink a span { + display: none; +} + +#ContentBuilderContainer .DisclaimerLink a:hover { + text-decoration: none; + border: none; +} + +#ContentBuilderContainer .DisclaimerLink a:hover span { + display: block; + position: absolute; + top: 50%; + left: 12%; + width: 75%; + padding: 5px; + margin: 5px; + z-index: 10; + color: white; + background-color: #6e99c9; + border-width: 1px; + border-color: Gray; + border-style: ridge; + text-decoration: none; + line-height: 1.4em; + font: 12px Verdana, sans-serif; + text-align: left; +} + +/* ~/CSS/Base/CSS/Contest.css */ +.ContestsPage .historyContainer { + float: right; + z-index: 1; + height: 30px; + margin-top: -5px; +} + +.ContestsPage .contestNavigation { + position: relative; + width: 890px; + margin-left: 5px; + z-index: 1; + clear: left; +} + +.ContestsPage .ContestTitle { + font-weight: bold; + font-family: Arial, Helvetica; +} + +.ContestsPage .ContestBox { + z-index: 0; + border-top: 1px solid #9e9e9e; + margin: -1px 0 5px 0; + min-height: 150px; +} + +#ContestMain { + float: left; + width: 600px; +} + +.ContestsPage .SponsoredBy { + float: left; + font-size: 24px; + margin: 5px; + color: #3E606F; +} + +#timer_countdown { + letter-spacing: 0; + color: #444; + float: left; + font-size: 16px; + width: 100%; + margin: 5px 0; +} + +.ContestsPage .contestdates { + display: none; + font-size: 11px; + font-weight: bold; +} + +.ContestsPage .ContestButtonContainer { + float: left; + width: 100%; + margin-top: 5px; + display: none; +} + +.ContestsPage .DescriptionInfo { + clear: left; +} + +.ContestsPage .ContestTitle { + margin-bottom: 10px; +} + +.ContestHistoryItem { + padding: 10px 0 12px 0; +} + +.ContestHistoryDescription { + padding: 5px 0 0 0; +} + +a.CurrentContestLink { + float: right; +} + +/* ~/CSS/Base/CSS/CreditCardExpireModal.css */ +#UpdateCCButton { + width: 166px; + height: 50px; + cursor: pointer; + margin-left: auto; + margin-right: auto; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-updatenow.png); +} + +#UpdateCCButton:hover { + background-position: 0 50px; +} + +/* ~/CSS/Base/CSS/CuratedGames.css */ +#HeaderOuter { + background: #114081; + border-bottom: 1px solid #002049; +} + +#HeaderInner { + height: 40px; + padding: 10px 20px 0; + color: #999; + margin: 0 auto; +} + +.LoginButton { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Games/CuratedGames/btn_25px_white.png); + color: black !important; + border: 1px solid #666; + height: 25px; + padding: 5px 6px; + cursor: pointer; + font-weight: bold; +} + +.LoginButton:hover { + background-position: 0 -25px; + border: 1px solid #b2b2b2; + text-decoration: none !important; +} + +.SignupButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn_25px_blue.png) top; + color: white !important; + border: 1px solid #029; + height: 25px; + padding: 5px 6px; + cursor: pointer; + font-weight: bold; +} + +.SignupButton:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn_25px_blue.png) bottom; + border: 1px solid #029; + text-decoration: none !important; +} + +.Legalese { + padding: 0 0 12px; + margin: 0; +} + +/* ~/CSS/Base/CSS/CurrencyExchange.css */ +#TradeCurrencyContainer { + margin-top: 10px; +} + +#TradeCurrencyContainer .TradeBox { + width: 100px; +} + +#TradeCurrencyContainer .LeftColumn { + float: left; +} + +#TradeCurrencyContainer .RightColumn { + float: left; + width: 302px; +} + +#CurrencyOffersPane, +#CurrencyBidsPane { + float: left; +} + +.TradingDashboard { + margin-bottom: 10px; +} + +.CurrencyQuote { + width: 300px; +} + +.CurrencyTrade, +.CurrencyOffers, +.CurrencyBids { + width: 350px; +} + +.CurrencyQuote, +.CurrencyTrade, +.TradingDashboard, +.OpenBids, +.OpenOffers, +.TradeHistory, +.TradingDashboard .FooterPager { + margin: 0 auto; +} + +.CurrencyTradeDetails { + padding: 5px; + width: 320px; + margin: auto; +} + +.CurrencyTradeDetail, +.TradingDashboard .FooterPager { + padding-top: 5px; +} + +.TradingDashboard .FooterPager { + text-align: center; +} + +.CurrencyOffer, +.AlternatingCurrencyOffer, +.CurrencyBid, +.AlternatingCurrencyBid { + padding-bottom: 6px; +} + +.CurrencyQuote .TableHeader, +.CurrencyOffers .TableHeader, +.CurrencyBids .TableHeader { + font-weight: bold; +} + +.CurrencyQuote .TableRow, +.CurrencyOffers .TableRow, +.CurrencyBids .TableRow { + border-top: solid 1px #000; +} + +.CurrencyQuote .Pair, +.CurrencyQuote .Rate, +.CurrencyQuote .Spread, +.CurrencyQuote .HighLow { + float: left; + padding: 5px; +} + +.CurrencyQuote .Pair { + width: 50px; +} + +.CurrencyQuote .Rate { + width: 85px; +} + +.CurrencyQuote .Spread { + width: 30px; +} + +.CurrencyQuote .HighLow { + width: 85px; +} + +.MyMoneyPage #TradeCurrencyContainer .LeftColumn, +.MyMoneyPage #TradeCurrencyContainer .RightColumn { + float: left; +} + +.MyMoneyPage #TradeCurrencyContainer .RightColumn { + padding-left: 8px; +} + +.MyMoneyPage #TradeCurrencyContainer .RightColumn .padding-top { + padding-top: 6px; +} + +.MyMoneyPage .CurrencyOffers, +.MyMoneyPage .CurrencyBids { + width: 149px; +} + +.MyMoneyPage #CurrencyQuotePane .column { + width: 149px; + float: left; +} + +.MyMoneyPage .menu-area { + width: 140px; + vertical-align: top; + height: 600px; + float: left; + padding-bottom: 10px; +} + +.MyMoneyPage .menu-area .tab-item { + display: block; + padding: 5px 10px; + color: Black !important; + font-size: 14px; +} + +.MyMoneyPage .menu-area .tab-item:hover { + text-decoration: none; + background-color: #EFEFEF; + cursor: pointer; +} + +.MyMoneyPage .menu-area span.robux { + padding-left: 15px; +} + +.MyMoneyPage .menu-area span.tickets { + padding-left: 13px; +} + +.MyMoneyPage .menu-area .tab-item-selected { + border-top: 1px solid #CCC; + border-bottom: 1px solid #CCC; + border-left: 1px solid #CCC; + background-color: #EFEFEF; + padding: 4px 9px; + font-weight: bold; +} + +.MyMoneyPage .content-area { + width: 326px; + padding: 0 8px 10px 8px !important; + vertical-align: top; + float: left; + height: 600px; +} + +.content-area .tab-content { + display: none; +} + +.content-area .tab-content.tab-content-selected { + display: block; +} + +.content-area th.action { + width: 59px; +} + +.content-area .action { + width: 60px; +} + +.content-area th.offer, +.content-area th.bid { + width: 159px; +} + +.content-area .offer, +.content-area .bid { + width: 160px; +} + +.content-area th.remainder { + width: 74px; +} + +.content-area .remainder { + width: 75px; +} + +.content-area th.date { + width: 59px; +} + +.content-area .date { + width: 60px; +} + +.content-area th.trade { + width: 149px; +} + +.content-area .trade { + width: 150px; +} + +.content-area th.rate { + width: 84px; +} + +.content-area .rate { + width: 85px; +} + +.MyMoneyPage .TradeCurrencyModalBtn { + margin-bottom: 5px; +} + +.CurrencyTradeDetails .form-label { + width: 90px; + display: block; + float: left; +} + +/* ~/CSS/Base/CSS/DarkGradientBox.css */ +.DarkGradientBox { + border: solid 2px #7DADE0; +} + +.DarkGradientBox .DGB_Header { + border-bottom: solid 2px #6e99c9; +} + +.DarkGradientBox .DGB_Button { + cursor: pointer; + background-color: #435D77; + color: White; + text-decoration: none; + border: solid 1px #777; + padding: 6px 10px 6px 10px; + font-family: Verdana, Sans-Serif; + font-size: 12px; + font-weight: bold; + text-align: center; + white-space: nowrap; +} + +.DarkGradientBox .DGB_Button:link, +.DarkGradientBox .DGB_Button:visited { + background-color: #435D77; + color: White; + text-decoration: none; +} + +.DarkGradientBox .DGB_Button:hover, +.DarkGradientBox .DGB_Button:active { + background-color: #B6CCE4; + color: #435D77; + text-decoration: none; +} + +/* ~/CSS/Base/CSS/Games.css */ +#GamesContainer { + font-family: Verdana, Sans-Serif; +} + +#GamesContainer h2 { + font-family: Verdana, Sans-Serif; + font-size: 2.5em; + font-weight: normal; + line-height: 1em; + margin: 0; + padding: 0; +} + +#GamesContainer h4 { + font-family: Verdana, Sans-Serif; + font-size: 1.3em; + font-weight: normal; + letter-spacing: .1em; + line-height: 1em; + margin: 15px 0; + padding: 0; +} + +#GamesContainer ul { + font-family: Verdana, Sans-Serif; + list-style: none; + margin: 10px 0 30px 0; + padding-left: 0; +} + +#GamesContainer ul li { + font-family: Verdana, Sans-Serif; + margin-bottom: .5em; +} + +#GamesContainer ul a { + font-size: 1.1em; +} + +#GamesContainer .DisplayFilters { + width: 170px; +} + +#GamesContainer #Games { + float: left; + padding-bottom: 10px; + padding-left: 0; + padding-right: 0; + width: 720px; + overflow: visible; +} + +.GameList { + overflow: visible; +} + +#GamesContainer #Games .FooterPager { + margin: 20px 24px 0 0; + padding: 2px 0; + text-align: right; +} + +#GamesContainer #Games .HeaderPager { + margin: 0 24px 0 100px; + padding: 30px 0; + text-align: left; +} + +#GamesContainer #Games .HeaderPager .Label, +#GamesContainer #Games .FooterPager .Label { + font-size: 1em; + vertical-align: middle; +} + +#GamesContainer .Game { + margin: 0 10px 15px 10px; + vertical-align: top; + width: 162px; +} + +#GamesContainer .Game .GameThumbnail { + border: solid 1px #000; + width: 160px; + height: 100px; + text-align: center; +} + +#GamesContainer .Game .GameDetails { + font-family: Verdana, Sans-Serif; + overflow: hidden; + padding: 2px 0 6px 0; + width: 152px; +} + +.GameName { + font-weight: bold; + font-size: 12px; +} + +#GamesContainer .GameName a { + font-size: .9em; + font-weight: bold; + line-height: 1.5em; + vertical-align: top; +} + +.GamesBullet { + padding-right: 3px; +} + +#GamesContainer .Label, +#GamesContainer .Detail, +#GamesContainer .DetailHighlighted { + font-size: .8em; +} + +#GamesContainer .DetailHighlighted { + color: Red; + font-weight: bold; +} + +#GamesContainer .GamesDisplaySet { + float: left; + font-family: Arial, Sans-Serif; + font-size: 1.5em; +} + +.GamesInfoIcon, +.GenreIcon, +.GearIcon { + margin-top: 1px; + margin-right: 1px; + position: relative; + top: 3px; +} + +div.GamesInfoIcon { + height: 14px; + width: 16px; + display: inline-block; + top: 0; + padding: 0; + margin-right: 3px; +} + +.AllowedGearRepeater_Container div.GamesInfoIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/CategoryIcons/CategorySprite.png); +} + +.AssetGenreRepeater_Container div.GamesInfoIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GenreIcons/GenreIconsSprite.png); + height: 14px; +} + +.AllowedGearRepeater_Container, +.AssetGenreRepeater_Container { + clear: both; + padding-top: 1px; + padding-bottom: 1px; +} + +.AllowedGearRepeater_Container div, +.AssetGenreRepeater_Container div { + float: left; + position: relative; + top: .25em; + padding-top: 1px; + padding-bottom: 1px; +} + +div.GamesInfoIcon.Melee { + background-position: 48px 0; +} + +div.GamesInfoIcon.Ranged { + background-position: 64px 16px; +} + +div.GamesInfoIcon.Explosive { + background-position: -16px 0; +} + +div.GamesInfoIcon.PowerUps { + background-position: -16px -16px; +} + +div.GamesInfoIcon.Navigation { + background-position: 16px 0; + z-index: inherit; +} + +div.GamesInfoIcon.Music { + background-position: 32px 0; +} + +div.GamesInfoIcon.Social { + background-position: 48px 16px; +} + +div.GamesInfoIcon.Building { + background-position: 0 0; +} + +div.GamesInfoIcon.PersonalTransport { + background-position: 0 16px; +} + +div.GamesInfoIcon.Adventure { + background-position: 0 0; +} + +div.GamesInfoIcon.War { + background-position: 16px -3px; +} + +div.GamesInfoIcon.Funny { + background-position: 32px 0; +} + +div.GamesInfoIcon.Scary { + background-position: 49px 0; +} + +div.GamesInfoIcon.Fantasy { + background-position: -16px 0; +} + +div.GamesInfoIcon.Town.City { + background-position: -32px 0; +} + +div.GamesInfoIcon.All { + background-position: -47px 1px; +} + +div.GamesInfoIcon.Ninja { + background-position: 0 16px; +} + +div.GamesInfoIcon.Wild.West { + background-position: 16px 15px; +} + +div.GamesInfoIcon.Tutorial { + background-position: 32px 16px; +} + +div.GamesInfoIcon.Sports { + background-position: 49px 16px; +} + +div.GamesInfoIcon.Pirate { + background-position: -16px 16px; +} + +div.GamesInfoIcon.Sci-Fi { + background-position: -32px 16px; +} + +div.GamesInfoIcon.Skate.Park { + background-position: -48px 16px; + width: 15px; +} + +div.GamesInfoIcon.FPS { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GenreIcons/FPS.png) no-repeat; + height: 16px; +} + +div.GamesInfoIcon.RPG { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GenreIcons/RPG.png) no-repeat; + height: 16px; +} + +.SearchBoxBack .StandardBox { + background: #6e99c9; +} + +.GameFilter { + color: #555; + font-size: 14px; +} + +.GameFilter ul { + list-style-type: none; + padding-left: 0; + margin: 0; +} + +.GameFilter ul li { + margin: 5px 0; +} + +.GameFilter .SelectedFilter, +.GameFilter .SelectedGenre, +.GameFilter .SelectedSort { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gamesPage_filterArrow.png) no-repeat 0 1px; + cursor: pointer; + padding-left: 20px; + font-weight: normal; +} + +.GameFilter .GamesFilter, +.GameFilter .GamesGenre, +.GameFilter .GamesSort { + padding-left: 20px; + display: inline-block; +} + +.GamesGenre a { + display: inline-block; + cursor: pointer; + font-weight: normal; + font-size: 15px; +} + +#PlayTabs a { + text-decoration: none; +} + +.SelectedFilter, +.SelectedGenre, +.SelectedSort { + font-weight: normal; +} + +a.DisabledFilter, +a.DisabledFilter:hover { + color: gray; + text-decoration: none; + cursor: default; +} + +a.GamesGenre.DisabledFilter a, +a.GamesGenre.DisabledFilter:hover a { + cursor: default; +} + +#Games .clear { + clear: both; + overflow: visible; +} + +#BCOnlyPlaces { + position: relative; + float: left; + margin-left: 15px; + height: 248px; +} + +#BCOnlyPlaces .BCHat { + position: absolute; + top: -4px; +} + +#BCOnlyPlacesTitle { + display: inline; + font-weight: bold; + font-size: 19px; + position: relative; +} + +#BCOnlyPlaces .content { + width: 100%; + height: 188px; + padding-top: 40px; +} + +#BCOnlyGamesContent { + width: 340px; + margin: auto auto; +} + +#BCOnlyGamesContentPrevNavButton { + position: absolute; + top: 90px; + left: 10px; +} + +#BCOnlyGamesContentNextNavButton { + position: absolute; + top: 90px; + right: 10px; +} + +#GenreDescriptionPanel { + float: left; + width: 770px; + font-size: .9em; + padding: 10px; + border-top: 1px solid #AAA; +} + +.SearchIconButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/searchIcon.png) no-repeat; + cursor: pointer; + width: 16px; + height: 16px; + position: absolute; + top: 5px; + right: 4px; +} + +.GameItem { + padding: 0 5px 20px 5px; + position: relative; + text-align: left; +} + +.GameItem:hover { + display: block; + z-index: 99; +} + +.GameItem .AlwaysShown { + position: relative; + width: 160px; + height: 130px; +} + +.GameItem:hover .AlwaysShown { + z-index: 999; +} + +.GameItem .HoverShown { + display: none; + position: absolute; + width: 160px; + padding: 158px 15px 15px; + top: -15px; + left: -10px; + border: solid 1px #888; + background: #fff; + font-size: 11px; + text-align: left; + color: #888; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} + +.GameItem .CreatorName { + position: relative; + font-size: 11px; + color: #888; + top: -5px; +} + +.GameItem .BCOverlay { + position: absolute; + top: 81px; + left: 0; +} + +.PersonalServerOverlay_Small { + position: absolute; + bottom: 1px; + right: 1px; + width: 34px; + height: 18px; + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/icons/overlay_personal_small.png'); + background-repeat: no-repeat; +} + +.PersonalServerOverlay_Big { + position: absolute; + bottom: 0; + right: 0; + width: 137px; + height: 38px; + background-repeat: no-repeat; + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/icons/overlay_personal_big.png'); +} + +.GameItem .MegaOverlay { + position: absolute; + top: 81px; + right: 0; +} + +.GameItem .GenreIcon, +.GameItem .GearIcon { + position: static; + top: 0; + margin-top: 0; + margin-right: 0; +} + +#GamesLeftColumn { + width: 136px; +} + +/* ~/CSS/Base/CSS/GenericModal.css */ +.GenericModal .Title, +.ConfirmationModal .Title { + font-family: Arial, Helvetica, Sans-Serif; + font-weight: bold; + font-size: 27px; + color: #363636; + margin: 5px; + letter-spacing: -1px; +} + +.GenericModal { + padding: 5px; + *top: -150px; +} + +.GenericModalBody { + background-color: #fff; + padding: 10px; +} + +.GenericModal .Message { + display: inline-block; + width: 275px; + vertical-align: middle; + font: bold 15px Arial, Helvetica, Sans-Serif; + letter-spacing: 0; + font-size-adjust: none; + font-stretch: normal; + margin-bottom: 5px; + float: none; +} + +.GenericModal.noImage .Message { + width: 100%; + text-align: center; +} + +.GenericModal div.ImageContainer { + display: inline-block; + height: 110px; + width: 110px; + overflow: hidden; + vertical-align: middle; + margin-left: -15px; + *float: left; + *margin-left: 0; +} + +.GenericModal.noImage div.ImageContainer { + display: none; +} + +.GenericModal img.GenericModalImage { + display: inline-block; + max-height: 110px; + max-width: 110px; +} + +.GenericModal .GenericModalButtonContainer { + text-align: center; + margin: 5px auto; +} + +.largeModal .GenericModalBody { + position: relative; +} + +.largeModal div.ImageContainer { + position: absolute; + left: 35px; + top: 50%; + margin-top: -55px; +} + +div.GenericModalErrorMessage { + font-size: 12px; + font-weight: normal; + text-align: left; +} + +.ConfirmationModal .BlueYes { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/blue_yes2.png") top; + width: 101px; +} + +.ConfirmationModal .BlueNo { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/blue_no.png") top; + width: 106px; +} + +.ConfirmationModal .GreyYes { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/grey_yes.png") top; + width: 112px; +} + +.ConfirmationModal .GreyNo { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/grey_no2.png") top; + width: 100px; +} + +.ConfirmationModal .GreyNo, +.ConfirmationModal .GreyYes, +.ConfirmationModal .BlueYes, +.ConfirmationModal .BlueNo, +.SwitchNowButton, +.NoThanksButton { + height: 50px; + display: inline-block; + cursor: pointer; + margin-right: 4px; +} + +.ConfirmationModal .GreyNo:hover, +.ConfirmationModal .GreyYes:hover, +.ConfirmationModal .BlueNo:hover, +.ConfirmationModal .BlueYes:hover, +.SwitchNowButton, +.NoThanksButton { + background-position: bottom; + cursor: pointer; +} + +.ConfirmationModalButtonContainer { + clear: both; + text-align: center; + padding-bottom: 20px; + padding-top: 1px; + height: 50px; +} + +.ConfirmationModalButtonContainer a { + margin-right: 6px; + cursor: pointer; +} + +.ConfirmationModalFooter { + letter-spacing: normal; + color: #666; + font: normal 12px Arial, Helvetica, Sans-Serif; + text-align: center; + padding-bottom: 7px; +} + +.ConfirmationModal.noImage .Message { + max-width: 395px; + width: 395px; + text-align: center; + position: relative; + left: 0; + top: 4px; +} + +.ConfirmationModal .Message { + margin-top: 0; + float: none; + width: 270px; + position: relative; + top: 30%; + left: 127px; + vertical-align: middle; + font: bold 15px Arial, Helvetica, Sans-Serif; + letter-spacing: 0; + font-size-adjust: none; + font-stretch: normal; + text-align: left; + *left: 63px; + *top: 20%; +} + +.ConfirmationModal div.ImageContainer { + position: absolute; + height: 110px; + width: 110px; + *left: 20px; +} + +.ConfirmationModal.noImage div.ImageContainer { + display: none; +} + +.ConfirmationModal img.GenericModalImage { + display: inline-block; + max-height: 110px; + max-width: 110px; +} + +div.ConfirmationModal div.GenericModalBody { + padding: 0; +} + +div.ConfirmationModal.noImage div.TopBody { + overflow: hidden; + padding: 15px 15px 20px 15px; + height: auto; +} + +div.ConfirmationModal div.TopBody { + padding: 15px 15px 22px 15px; + height: 110px; +} + +div.ConfirmationModal { + padding: 5px; + *top: -150px; +} + +a.genericmodal-close { + margin-left: 400px; +} + +/* ~/CSS/Base/CSS/GroupRoleSetMembersPane.css */ +.GroupMember { + float: left; + display: block; + width: 50px; + margin: 0 3px; +} + +#mid-column .FooterPager { + clear: both; + text-align: center; + margin: 0; + padding-top: 10px; + *padding: 0; +} + +#mid-column .FooterPager input { + width: 30px; +} + +#mid-column .FooterPager span { + display: inline-block; +} + +#mid-column .FooterPager span span, +#mid-column .FooterPager span a { + display: inline-block; + width: 12px; + height: 12px; +} + +#mid-column .FooterPager span span, +#mid-column .FooterPager span a, +#mid-column .FooterPager span div { + float: left; +} + +#mid-column .FooterPager span a:hover { + background-color: #fff; + text-decoration: none; +} + +#mid-column .FooterPager input { + text-align: center; +} + +.pagerbtns { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Groups/blue_arrow_btns_12x12_sprite.png') no-repeat; + position: relative; + top: 4px; +} + +.pagerbtns.previous { + background-position: 0 -24px; +} + +a.pagerbtns.previous:hover { + background-position: 0 -36px; +} + +span.pagerbtns.previous { + background-position: 0 -60px; +} + +.pagerbtns.next { + background-position: 0 0; +} + +a.pagerbtns.next:hover { + background-position: 0 -12px; +} + +span.pagerbtns.next { + background-position: 0 -48px; +} + +.previous { + *top: 18px; +} + +#mid-column .FooterPager div.paging_pagenums_container { + display: inline; + float: none; +} + +#mid-column .FooterPager .paging_wrapper { + margin: 0 5px; + position: relative; + top: 2px; + *top: 0; + *margin-left: 17px; +} + +#mid-column .FooterPager .paging_wrapper input, +#mid-column .FooterPager .paging_wrapper span, +#mid-column .FooterPager .paging_wrapper div, +#mid-column .FooterPager .paging_wrapper { + font-size: 11px; + height: 11px; + line-height: 1em; +} + +#mid-column .FooterPager .paging_wrapper input { + *vertical-align; +} + +.Members_DropDown { + text-align: right; + margin-bottom: 5px; +} + +.Members_DropDown .ReportAbuse { + margin-right: 6px; +} + +.Members_DropDown select { + margin-right: 5px; +} + +.GroupMember .OnlineStatus { + position: absolute; + padding: 2px; +} + +/* ~/CSS/Base/CSS/Groups.css */ +textarea { + resize: none; +} + +#GroupsPeopleContainer .StandardTabGrayActive, +#GroupsPeopleContainer .StandardTabGray { + position: relative; + cursor: pointer; +} + +.groupEmblemThumbnail { + position: relative; + top: -4px; + cursor: pointer; +} + +.groupEmblemThumbnail { + margin-top: 10px; + margin-bottom: 10px; + margin-left: 8px; + margin-right: 8px; + text-align: center; + width: 105px; + overflow: hidden; +} + +#GroupThumbnails { + text-align: center; + margin-bottom: 10px; +} + +.GroupDescriptionThumbnail { + float: left; + clear: none; + margin: 0 10px 10px 0; +} + +.GroupMembers { + width: 100%; +} + +.GroupMembers tr { + padding-bottom: 10px; +} + +.GroupMembers td { + padding: 0 5px 10px 5px; + text-align: center; +} + +.IncompleteFormField { + color: red; +} + +.GroupWallPostButton { + width: 69px; + height: 53px; + margin: 3px 0 4px 0; + float: right; +} + +.GroupWallPostText { + width: 375px; + height: 53px; + float: left; +} + +.GroupDescriptionEdit { + border: none; + border-style: none; +} + +.EmblemAdminImage { + margin: 0x; +} + +.CreateNewGroup { + padding-bottom: 10px; + margin-bottom: 10px; + display: block; + text-align: center; + font-size: 12px; + cursor: pointer; +} + +.CreateNewGroupError { + color: Red; +} + +.GroupMembersAdminTable tr { + text-align: left; +} + +.GroupMembersAdminTable td { + width: 85px; + margin: 2px; +} + +#GroupSearchResults thead tr { + background-color: #B0C4DE; + color: Black; +} + +#GroupSearchResults .GroupEmblemImg { + border: solid 2px #B0C4DE; + padding: 2px; +} + +.selectedSmallThumb { + border: solid 2px #FFE390; +} + +.nonSelectedSmallThumb { + border: solid 2px transparent; +} + +#left-column, +#mid-column, +#right-column { + float: left; + position: relative; + min-height: 100px; +} + +#left-column .StandardBox, +#mid-column .StandardBox, +#right-column .StandardBox { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/standardBox_01_bkg.png) top repeat-x white; + color: #000; +} + +#left-column .StandardBox a, +#mid-column .StandardBox a, +#right-column .StandardBox a { + color: #095fb5; +} + +#left-column .StandardBox .ReportAbuse .AbuseButton a, +#mid-column .StandardBox .ReportAbuse .AbuseButton a, +#right-column .StandardBox .ReportAbuse .AbuseButton a { + color: Red; +} + +#left-column { + width: 166px; + margin: 0 0 0 5px; +} + +#right-column { + width: 166px; +} + +#mid-column { + width: 505px; + margin: 0 20px; +} + +#mid-column.GroupsPage { + width: 661px; +} + +#mid-column .ReportAbuse { + text-align: right; +} + +#GroupThumbnails { + overflow: hidden; + margin: 0; + width: 100%; + position: relative; +} + +.GroupListItemContainer { + clear: left; + padding: 5px 0 5px 14px; +} + +.GroupListItemContainer a { + display: block; +} + +.GroupListItemContainer:hover, +.GroupListItemContainer.selected:hover { + background-color: #fff; + cursor: pointer; +} + +.GroupListItemContainer.selected { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gamesPage_filterArrow.png') 4px center no-repeat; +} + +.selected .GroupListName { + font-weight: bold; +} + +.GroupListImageContainer, +.GroupListName { + float: left; + font-size: 11px; +} + +.GroupListName a, +.GroupListName a:hover, +.GroupListName a:visited { + color: #000; + text-decoration: none; +} + +.GroupListImageContainer img { + background-color: #fff; + border: 1px solid #fff; +} + +.GroupListName { + overflow: hidden; + width: 90px; + height: 32px; + text-align: left; + position: relative; + padding: 0 7px; + padding-top: 12px; +} + +#left-column .StandardBox { + overflow: hidden; + float: left; + text-align: center; + width: 100%; + background: #E8E8E8; +} + +#CreateGroupBtn { + width: 130px; + position: relative; + *left: 0; + margin: 5px 0 10px 0; +} + +.GroupPanelContainer { + overflow: hidden; + padding: 10px; +} + +.GroupPanelContainer .left-col { + width: 25%; + float: left; + margin-right: 2%; + overflow: hidden; +} + +.GroupPanelContainer .left-col div { + text-align: left; +} + +.GroupPanelContainer .right-col { + float: left; + width: 73%; +} + +.GroupPanelContainer .right-col p { + overflow: hidden; +} + +.GroupOwner { + color: gray; + width: 100%; + text-align: center; + margin-top: 10px; +} + +.MyRank { + width: 100%; + font-size: 14px; + color: Gray; + margin-top: 10px; +} + +.MyRank span { + color: #000; +} + +.AdvertiseGroup { + margin-top: 10px; +} + +.ReportAbuse { + font-size: 11px; +} + +#GroupRoleSetsMembersPane .ReportAbusePanel { + float: right; + margin-top: 2px; +} + +.GroupWallPostBtn { + padding: 3px 6px; + position: relative; + top: 32px; + left: 5px; +} + +.GroupControlsBox div { + margin: 6px 0; + text-align: center; +} + +#SearchControls { + width: 865px; + height: 28px; + clear: both; + display: block; + background: #C4C4C4; + border: 1px solid #AAA; + margin: 0 0 15px 0; + left: 5px; + position: relative; + padding: 2px 5px; + top: -5px; +} + +.MyGroupsPage #SearchControls { + top: 0; + text-align: center; +} + +#SearchControls .content { + text-align: center; +} + +.content .SearchKeyword { + width: 350px; +} + +#SearchControls .label { + font-weight: bold; + width: 200px; + font-size: 16px; + position: relative; + top: 1px; + margin-right: 7px; +} + +.FooterPager { + font-family: Arial, Helvetica, sans-serif; +} + +.ClaimOwnershipPanel { + border: 2px solid black; + padding: 2px; + margin-bottom: 10px; +} + +.GroupListContainer { + padding: 0; +} + +.JoinGroupDiv { + margin-top: 10px; +} + +.AlreadyRequestedInvite { + margin-top: 10px; +} + +.RepeaterImage { + width: 20%; + overflow: hidden; + float: left; +} + +.RepeaterImage img { + clear: both; +} + +.RepeaterText { + width: 75%; + float: right; +} + +.GroupWall_PostContainer { + overflow: hidden; + width: 100%; + font-weight: bold; + font-style: italic; + margin-bottom: 5px; +} + +input.default { + font-style: italic; + color: #888; +} + +.GroupWallPane { + padding-bottom: 10px; + position: relative; + overflow: hidden; +} + +.GroupWallPane .AlternatingItemTemplateEven { + background-color: #fff; + clear: both; + padding: 10px; +} + +.GroupWallPane .AlternatingItemTemplateOdd { + background-color: #F2F2F2; + clear: both; + padding: 10px; +} + +.GroupControlsBox input, +.GroupControlsBox button { + width: 125px; +} + +.InsideBoxHeader { + font-size: 18px; + font-weight: bold; + color: #000; + display: block; + clear: both; + padding: 3px; + margin-bottom: 5px; +} + +.StatusView .top { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Groups/bg-speech_top.png') no-repeat; + padding: 5px; + width: 317px; +} + +.StatusView .bottom { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Groups/bg-speech_bottom.png') no-repeat; + padding: 5px; + padding-right: 0; +} + +.StatusView .bottom .content { + float: left; + position: relative; + left: 28px; +} + +.StatusView .ReportAbuse { + display: inline-block; + float: right; +} + +#GroupDescP { + word-wrap: break-word; +} + +#GroupDescP a:hover { + cursor: pointer; +} + +.GroupsPeopleTabs_Container { + display: block; + height: 30px; +} + +.GroupsPeopleTabs_Container div { + float: left; + margin: 0; +} + +#GroupRoleSetsMembersPane .loading { + display: none; + height: 69px; + width: 100%; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/spinners/spinner16x16.gif') no-repeat center; + *float: left; +} + +.GroupWallPane .loading { + display: none; + position: absolute; + top: 0; + height: 100%; + width: 100%; +} + +.GroupWallPane .loading .content { + position: absolute; + top: 0; + height: 100%; + width: 100%; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') no-repeat center; + z-index: 1; +} + +.GroupWallPane .loading .background { + position: absolute; + top: 0; + height: 100%; + width: 100%; + background: #fff; +} + +div.MyAuditPage { + *padding-top: 10px; + position: relative; +} + +.AuditLog { + width: 100%; + font-size: 14px; +} + +.AuditLogContainer { + clear: both; + border-top: 1px solid #afafaf; +} + +.AuditLogContainer td { + margin: 0; +} + +.AuditLogContainer .header td { + border-right: 1px solid #CCC; + border-bottom: 1px solid #ccc; + border-top: none; + padding: 4px; +} + +.AuditLogContainer .header td.Description { + border-right: 1px solid #F1F1F1; +} + +.AuditLogContainer tr.header td { + font-weight: bold; + background-color: #f1f1f1; +} + +.AuditLogContainer td.User { + width: 126px; +} + +.AuditLogContainer td.Rank { + width: 80px; +} + +.AuditLogContainer td.Rank span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + width: 80px; +} + +.AuditLogContainer td.Description { + width: 500px; +} + +.AuditLogContainer td.Date { + width: 85px; +} + +#AuditPage { + padding-top: 20px; +} + +.AuditLogContainer .datarow { + padding-top: 10px; + height: 34px; +} + +.AuditLogContainer .datarow td { + padding: 4px; + border-bottom: 1px solid #ccc; +} + +.GroupAdmin .StandardBox #searchbox { + float: right; + max-width: 100%; +} + +.GroupAdmin .StandardBox .RoleSetDropDownList { + max-width: 220px; +} + +#AuditPage div.SortsAndFilters { + margin: 5px 0 7px 5px; + float: right; +} + +#AuditPage .SortsAndFilters .SortFilterLabel { + font: 12px arial; + color: black; + font-weight: bold; +} + +#AuditPage .SortsAndFilters select { + font-size: 11px; +} + +#AuditPage .roblox-avatar-image img { + width: 13px; + height: 7px; +} + +#AuditPage .roblox-avatar-image img:first-child { + width: 24px; + height: 24px; +} + +#AuditPage .roblox-avatar-image { + float: left; +} + +#AuditPage td.User span.username { + padding-left: 3px; + top: 4px; + position: relative; +} + +#AuditPage #PagingContainerDivBottom { + margin-top: 30px; +} + +#AuditPage h1 a, +#AuditPage h1 a:hover { + color: #363636; + text-decoration: none; +} + +#AuditPage h1 a:hover { + cursor: pointer; +} + +#AuditPage #submitButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/catalog/bg-27px_silver_btn.png) repeat-x; + font: bold 11px Arial, Helvetica, sans-serif; + color: black; + text-decoration: none; + display: inline-block; + border: 1px solid #aaa; + background-position: top left; + padding-top: 1px; + width: 26px; + text-align: center; + height: 15px; + cursor: pointer; + position: relative; + margin-left: 3px; +} + +#AuditPage #usernameTextbox { + margin: 0; + padding: 0; + font-size: 11px; +} + +#AuditPage #userHidden { + padding-top: 2px; + float: left; + display: none; + padding-left: 5px; +} + +#AuditPage .secondLevelHeader { + display: block; + font-size: 16px; + font-weight: bold; + text-transform: uppercase; +} + +#AuditPage .secondLevelHeader a { + color: black; +} + +#AuditPage .secondLevelHeader a:hover { + text-decoration: none; +} + +#AuditPage div.ErrorMessage { + background-color: #FAE4EB; + border: 1px solid #CC0005; + margin-top: 10px; + margin-bottom: 5px; + padding: 3px; + height: 15px; + width: 330px; +} + +/* ~/CSS/Base/CSS/Help.css */ +#Help { + border-style: ridge; + border-color: #ddd; + border-width: 5px; + background-color: #eee; + height: 600px; + padding: 1px; +} + +#Help h1 { + text-indent: 10px; +} + +#Help .salesForce, +#Help .salesForce iframe { + margin-left: 5px; + margin-bottom: 10px; + float: left; + width: 625px; + height: 500px; +} + +#Help .avatar { + text-align: center; + display: block; + float: right; + clear: right; + margin-right: auto; + margin-left: auto; + padding-left: 0; + padding-right: 0; +} + +#Help .descriptionPanels { + background-color: Transparent; + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Speech Bubble 225.gif'); + width: 225px; + height: 235px; + background-repeat: no-repeat; + margin-top: 40px; +} + +#Help .descriptionPanels p { + font-family: Arial, Helvetica, sans-serif; + padding-top: 20px; + padding-right: 40px; + padding-left: 25px; + text-align: left; + color: Navy; + font-size: 9pt; +} + +#Help .navigation { + clear: left; + color: #6e99c9; + border: none; + background-color: Transparent; + font-family: Arial, Helvetica, sans-serif; + font-size: 10pt; + font-weight: normal; + text-decoration: none; + text-align: center; +} + +#Help .navigation .MenuItem { + color: #6e99c9; + font-size: 16px; + line-height: 2em; +} + +#Help .navigation a.MenuItem:link, +#Help .navigation a.MenuItem:visited, +#Help .navigation a.MenuItem:active { + color: #6e99c9; + text-decoration: none; +} + +#Help .navigation a.MenuItem:hover { + text-decoration: underline; +} + +#Help .forumLinks { + font-family: Sans-Serif; + border-width: 3px; + border-color: #ddd; + border-style: groove; + visibility: hidden; + display: none; + filter: alpha(opacity=93); + opacity: .93; + background-color: #eee; + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/help_gradient.png'); + background-repeat: repeat-y; + background-position: left top; + width: 150px; + font-size: 10pt; + text-align: center; + padding: 5px; + line-height: 2em; +} + +/* ~/CSS/Base/CSS/IframeHeader.css */ +.iframeHeader #Nav { + width: 100% !important; +} + +.MiniHeaderBG { + margin-top: -3px; + z-index: 1; + width: 100%; + height: 153px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/MiniclipHeader_BG.PNG) white bottom repeat-x; +} + +#MiniWrapper { + width: 960px; + overflow: hidden; + margin-left: auto; + margin-right: auto; + margin-top: -1px; + margin-bottom: 0; + padding: 0; +} + +.MiniclipHeader { + padding: 0; + border: none; + margin-top: -2px; + margin-left: -7px; + display: block; +} + +/* ~/CSS/Base/CSS/iFrameLogin.css */ +#iFrameLogin { + position: absolute; + top: 26px; + right: 0; + width: 340px; + height: 128px; + border: 1px solid #0C3060; + border-top: none; +} + +.fbSplashPageConnect { + margin: 5px 0; +} + +#facebookSignIn { + text-align: center; + margin-top: 8px; + margin-bottom: 10px; +} + +a.facebook-login, +a.facebook-login:visited { + display: inline-block; + text-decoration: none; + font-weight: normal !important; + font-size: 12px !important; +} + +a.facebook-login:hover span.left, +a.facebook-login:hover span.middle { + background-position: left bottom; +} + +a.facebook-login:hover span.right { + background-position: right bottom; +} + +a.facebook-login span.left, +a.facebook-login span.right, +a.facebook-login span.middle { + float: left; + height: 25px; + line-height: 14px; +} + +a.facebook-login span.left { + width: 27px; + background: url(/img/bg-fblogin_sides.png) left top no-repeat; +} + +a.facebook-login span.middle { + height: 18px; + width: auto; + background: url(/img/bg-fblogin_middle.png) left top repeat-x; + color: #394f7d; + padding: 7px 2px 0 6px; +} + +a.facebook-login span.middle span { + display: block; + color: #fff; + position: relative; + bottom: 16px; +} + +a.facebook-login span.right { + width: 5px; + background: url(/img/bg-fblogin_sides.png) right top no-repeat; +} + +.LoginFormLabel { + font: normal 11px arial; + color: black; +} + +.LoginFormInput { + width: 150px; + height: 19px; + border: 1px solid #A7A7A7; + background: #fff; + padding-left: 4px; + *margin-left: -10px; +} + +.LoginFormFieldSet { + position: relative; + padding-bottom: 35px; + height: 39px; + /* margin-top: -10px; */ +} + +.UserNameDiv { + float: left; + /* width: 156px; */ +} + +.PasswordDiv { + float: right; + /* width: 158px; */ + position: relative; +} + +.ResetPassword { + font: normal 11px Arial; + color: #095FB5; + right: 0; + position: absolute; +} + +.newLogin { + margin: 10px; +} + +#SocialNetworkSignIn { + border-top: 1px solid #ACACAC; +} + +.iFrameBlueLogin { + background: url("/img/btn-login.png") no-repeat; + background-position: 0 0; + height: 23px; + width: 54px; + position: absolute; + right: 0; + top: 50%; + margin-top: -12px; +} + +.iFrameBlueLogin:hover { + background-position: 0 -23px; +} + +.iframe-login-signup { + margin-top: 6px; + float: right; + position: relative; +} + +#header-login .grey-arrow { + color: #666; + font-size: 12px; +} + +#header-login.btn-control.btn-control-large.active { + background-image: none; + background-color: #e1e1e1; + border-color: #000; +} + +#header-login { + font-weight: bold; + display: inline-block; + width: 62px; + position: relative; + cursor: pointer; + letter-spacing: -1px; +} + +#header-signup { + font-family: Arial; + font-weight: bold; + color: #fff; + font-size: 13px; + position: relative; + *top: -2px; +} + +#header-or { + font-family: Arial; + font-weight: normal; + color: #9Ec3E7; + font-size: 13px; + position: relative; + margin: 0 6px; + *top: -2px; +} + +.login-frame { + height: 100%; + width: 100%; +} + +/* ~/CSS/Base/CSS/Inbox.css */ +#InboxContainer { + margin-top: 10px; +} + +#InboxContainer #InboxPane { + float: left; + position: relative; + top: -2px; + width: 700px; +} + +.InboxDateField { + text-align: right; +} + +#InboxContainer h2 { + font-family: Verdana, Sans-Serif; + font-size: 2.5em; + font-weight: normal; + letter-spacing: .5em; + line-height: 1em; + margin: 0 0 10px 0; + padding: 0; +} + +#InboxContainer #Inbox { + border: solid 1px #000; +} + +#InboxContainer .Buttons { + margin: 10px 0; + text-align: center; +} + +#InboxContainer .InboxHeader { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/topNav_black.png); + border: none; + color: #fff; + font: 1.2em/normal Verdana, sans-serif; + font-weight: lighter; + letter-spacing: .15em; + text-align: center; +} + +#InboxContainer .InboxRow { + cursor: pointer; + font: normal 1em/normal Verdana, sans-serif; +} + +#InboxContainer .InboxRow_Unread { + cursor: pointer; + font: bold 1em/normal Verdana, sans-serif; +} + +#InboxContainer .InboxRow:hover, +#InboxContainer .InboxRow_Unread:hover, +#InboxContainer .SystemAlertMessage:hover, +#InboxContainer .SystemAlertMessage_Unread:hover { + background-color: #6e99c9; + color: #fff; +} + +#InboxContainer .InboxHeader a, +#InboxContainer .InboxPager a, +#InboxContainer .InboxRow:hover a, +#InboxContainer .InboxRow_Unread:hover a, +#InboxContainer .SystemAlertMessage:hover a, +#InboxContainer .SystemAlertMessage_Unread:hover a { + color: #fff; +} + +#InboxContainer .InboxPager { + background-color: #999; + font: bold 1.2em/normal Verdana, sans-serif; + letter-spacing: .15em; + text-align: center; +} + +#InboxContainer .SystemAlertMessage, +#InboxContainer .SystemAlertMessage_Unread { + cursor: pointer; + font: normal 1em/normal Verdana, sans-serif; +} + +#InboxContainer .SystemAlertMessage_Unread { + font: bold 1em/normal Verdana, sans-serif; +} + +#Messages .SystemAlertMessage div.RobloxMailIcon, +#InboxContainer .SystemAlertMessage_Unread div.RobloxMailIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/roblox_16x15.png) no-repeat; + height: 15px; + width: 16px; + float: left; + margin-right: 3px; +} + +#Messages .InboxRow_Unread div.RobloxMailIcon, +#Messages .InboxRow div.RobloxMailIcon { + display: none; +} + +/* ~/CSS/Base/CSS/Info.css */ +#InfoContainer { + background-color: #eee; + border: solid 1px #000; + color: #555; + margin: 0 auto; + width: 620px; +} + +#InfoContainer h2 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-size: x-large; + margin: 0; + text-align: center; +} + +#InfoContainer #Content { + font: normal 1em/normal Verdana, sans-serif; + line-height: 1.5em; + padding: 10px 20px 10px 20px; +} + +/* ~/CSS/Base/CSS/Install.css */ +#AlreadyInstalled { + font-size: large; + margin: 44px 44px 44px 44px; +} + +#AlreadyInstalled a { + text-decoration: underline; +} + +/* ~/CSS/Base/CSS/Item.css */ +div.PromoteModalBtn { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-add_to_game-sm.png') no-repeat top left; + display: block; + width: 100px; + height: 23px; + position: relative; + top: 15px; + left: 30px; + margin-right: 5px; +} + +div.PromoteModalBtn:hover { + cursor: pointer; + background-position: bottom left; +} + +.PromoteModalErrorMessage.errorStatusBar { + height: auto; + display: none; + min-height: 0; + padding: 5px; +} + +#PlaceProductPromotionSelectionPanel .thumbs-up-green { + width: 110px; + height: 110px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/thumbs_up.png') no-repeat; + display: block; +} + +.PromoteItemTooltip { + display: inline-block; + position: relative; + left: 55px; + top: -3px; +} + +#ItemContainer { + margin-top: 10px; +} + +#ItemContainer #Item { + float: left; + width: 800px; +} + +#ItemContainer #Thumbnail { + height: 320px; + width: 320px; + padding: 0; + text-align: left; + min-width: 0; + position: relative; +} + +#assetContainer { + float: left; + width: 320px; + overflow: hidden; +} + +#ItemContainer h1 { + margin: 0; + padding: 0; +} + +#ItemContainer h3 { + display: block; +} + +#ItemContainer .item-type { + margin: 2px 0 20px 0; + padding: 0; +} + +.fblike { + margin-left: 20px; +} + +#Summary .SummaryDetails { + margin: 0 20px 5px 20px; + padding-bottom: 40px; + position: relative; + min-height: 249px; + *z-index: 1; + width: 268px; + float: left; +} + +.SummaryDetails .Avatar { + padding: 0 0 8px 0; +} + +#Summary .BuyPriceBoxContainer { + text-align: center; + float: left; + width: 170px; +} + +#Summary .BuyPriceBox { + width: 158px; + background-color: #e1e1e1; + border: 1px solid #a7a7a7; + padding: 5px; +} + +#ItemContainer .GearGenreContainer { + padding: 12px 0 15px 0; + margin-top: 5px; +} + +.GearGenreContainer #GenresDiv, +.GearGenreContainer .GearDiv { + float: left; + width: 135px; +} + +#GenresDiv .label { + margin: 0; +} + +#ItemContainer #Summary #Creator { + float: left; +} + +#Summary .DescriptionPanel { + clear: both; +} + +#ItemContainer #Summary .Description a:hover { + cursor: pointer; +} + +.Description.Full { + white-space: pre; +} + +.Description.body { + white-space: pre-line; + *white-space: pre; + max-height: 200px; + overflow-x: hidden; +} + +#ItemContainer #BuyWithTickets, +#ItemContainer #BuyWithRobux { + margin: 5px 0; +} + +.expires-div { + margin: 0 0 5px 0; +} + +#timer { + margin: 0 0 5px 0; +} + +#Summary .item-detail { + float: left; + padding-left: 5px; +} + +.GenreInfo .GamesInfoIcon { + display: inline-block; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GenreIcons/GenreIconsSprite.png); + width: 16px; + height: 16px; +} + +.RobuxAndTicketsPurchasePanel { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/img-or_divider.png') no-repeat top left; + display: block; + height: 8px; + width: 147px; + margin: 0 0 5px 5px; +} + +.LimitedEditionRemaining, +#RobuxPurchaseDisabledMsg, +#PricePublicDomain, +.PrivateSalesPurchasePanel, +.PrivateSalesPurchasePanel .Price, +#Summary .BuyPriceBox, +.PublicDomainPrice { + margin-bottom: 5px; +} + +.PrivateSalesPurchasePanel .Price { + display: block; +} + +.PrivateSalesPurchasePanel .invisible, +.ItemOptions .invisible, +pre.Description.Full, +.SetListDropDownList .menu a.invisible { + display: none; +} + +#ItemContainer #Summary { + padding: 0; + margin-bottom: 20px; + width: 480px; + float: left; +} + +.BuyPriceBoxContainer .FavoriteStar { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/star.png') no-repeat; + padding: 2px 0 2px 20px; + margin-top: 5px; +} + +#ItemContainer #Summary .label { + margin: 0; +} + +#ItemContainer #Summary .ContentRating { + margin-left: 1px; + margin-top: 3px; +} + +#ItemContainer .UserOwns { + display: none; +} + +#Tabs { + margin-bottom: 10px; +} + +.ui-tabs-hide { + display: none; +} + +#ItemContainer .Ownership { + float: right; +} + +.badge-description { + overflow: hidden; + margin-top: 5px; +} + +.PrivateSales { + padding-top: 20px; +} + +.PrivateSales h2 { + margin: 0 0 15px 0; + display: block; +} + +#UserSalesTab { + width: 330px; + float: left; + margin-right: 7px; +} + +.ItemSalesTable { + width: 100%; +} + +#UserSalesTab .SellerNameAndSerial { + width: 155px; + margin-left: 2px; +} + +#UserSalesTab .SellerName { + margin: 2px 0; + padding: 0; +} + +#UserSalesTab .SerialNum { + margin: 2px 0; + padding: 0; +} + +#UserSalesTab .PriceBuyContainer { + text-align: center; +} + +#UserSalesTab td { + padding-bottom: 10px; +} + +.pgItemsForResale { + text-align: center; +} + +.PriceGraph { + width: 380px; + float: left; + overflow: hidden; + padding-left: 7px; +} + +.PriceGraph .header { + margin-top: 0; +} + +.PriceGraph .Options, +.pricestats { + text-align: center; + margin: 0; + padding: 0; +} + +.pricestats .days30, +.pricestats .days90, +.pricestats .days180 { + display: none; +} + +.pricestats span.selected { + display: inline; +} + +#days30:hover, +#days90:hover, +#days180:hover { + cursor: pointer; +} + +.createSetPanelPopup { + width: 400px; + height: 100%; + padding: 0; + float: left; + display: none; +} + +.createSetPanelPopup div { + float: left; +} + +.closeBtnCircle_35h:hover { + background-position: 0 35px; +} + +.closeBtnCircle_35h { + width: 35px; + height: 35px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/closeBtnCircle_35h.png); +} + +.closeBtnCircle_20h:hover { + background-position: 0 20px; +} + +.closeBtnCircle_20h { + width: 20px; + height: 20px; + cursor: pointer; + margin-left: 395px; + position: absolute; + top: 5px; + left: 5px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-x.png); +} + +.PurchaseModal .simplemodal-close a { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-x.png') no-repeat top left; + display: block; + height: 20px; + width: 20px; + position: absolute; + right: 5px; +} + +.PurchaseModal .simplemodal-close a:hover { + background-position: bottom left; + cursor: pointer; +} + +#ProcessingView { + width: 200px; +} + +#ProcessingView p { + font-size: 14px; + color: #fff; + font-weight: bold; +} + +.AssetRecommenderContainer { + text-align: center; +} + +.AssetRecommenderContainer td { + padding: 0 7px; +} + +.AssetRecommenderContainer tr { + display: block; +} + +.SetList.ItemOptions { + position: relative; + top: 0; + right: 210px; + float: right; +} + +.SetList.ItemOptions a.btn-dropdown, +.ItemOptions a.btn-dropdown-active { + width: 13px; +} + +#ItemContainer #Summary #ReportAbuse { + margin: 0 auto; + padding: 4px; + text-align: center; +} + +.CommentText .SuperSafePanel { + left: 322px; +} + +.CommentsItemTemplate { + display: none; +} + +#ItemContainer .AjaxCommentsContainer { + margin: 10px; + margin-top: 0; + width: 570px; +} + +#ItemContainer .AjaxCommentsContainer { + padding-bottom: 5px; +} + +.Comments .DeleteCommentButton:hover { + cursor: pointer; +} + +.Comments .more span:hover { + cursor: pointer; +} + +.Comments .empty, +.Comments .more { + text-align: center; +} + +.Comments .loading { + background: #fff url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') no-repeat center; + width: 100%; + height: 100px; +} + +#ItemContainer .AjaxCommentsContainer .Comments { + overflow: hidden; + width: 663px; + margin-top: 15px; +} + +#ItemContainer .AjaxCommentsContainer .Comment { + padding: 0; +} + +#ItemContainer .AjaxCommentsContainer .Comment { + margin-bottom: 15px; +} + +#ItemContainer .AjaxCommentsContainer .Commenter { + float: left; + width: 110px; +} + +#ItemContainer .AjaxCommentsContainer .Avatar { + height: 100px; + width: 100px; +} + +#ItemContainer .AjaxCommentsContainer .Post .Audit { + margin-bottom: 5px; +} + +#ItemContainer .AjaxCommentsContainer .Post .Audit .ByLine { + float: left; +} + +#ItemContainer .AjaxCommentsContainer .Post .Audit .AbuseButton { + float: right; +} + +#ItemContainer .AjaxCommentsContainer .PostContainer { + float: left; +} + +#ItemContainer .AjaxCommentsContainer .Post, +#ItemContainer .AjaxCommentsContainer .PostBottom { + float: none; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-comments-extra-long.png') no-repeat; + padding: 15px 15px 15px 35px; + width: 410px; +} + +#ItemContainer .AjaxCommentsContainer .Post { + min-height: 48px; +} + +#ItemContainer .AjaxCommentsContainer .PostBottom { + background-position: bottom left; +} + +#ItemContainer .AjaxCommentsContainer .Content { + overflow: hidden; + margin: 10px 0; +} + +.AjaxCommentsContainer .PostACommentContainer { + margin: 15px 0 0 0; + padding-bottom: 15px; +} + +.AjaxCommentsContainer .PostAComment { + margin: 0; + float: left; +} + +.AjaxCommentsContainer .PostAComment .Buttons { + margin: 10px 0 0 0; + padding: 0 10px 10px 10px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-comments-compose-v2.png') no-repeat -20px bottom; + *background-position: 0 bottom; + *padding-bottom: 0; +} + +#ItemContainer .AjaxCommentsContainer .MultilineTextBox, +#ItemContainer .AjaxCommentsContainer textarea { + min-height: 0; + width: 420px; + background: transparent; + overflow: auto; + border: none; + height: 95px; +} + +#ItemContainer .AjaxCommentsContainer div.MultilineTextBox { + cursor: pointer; +} + +.AjaxCommentsContainer textarea:focus { + outline: none; +} + +#ItemContainer .AjaxCommentsContainer .CommentText { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-comments-compose-v2.png') no-repeat; + padding-left: 20px; + width: 440px; +} + +#ItemContainer .BlueCommentBtn { + float: right; +} + +#CharsRemaining { + margin: 3px 8px; +} + +.AjaxCommentsContainer #CharsRemaining { + float: right; +} + +#ItemContainer .AjaxCommentsContainer .PostAComment { + margin: 10px 0 0 0; +} + +#ItemContainer .AjaxCommentsContainer .PostAComment .Buttons { + margin: 10px 0 0 0; +} + +.btn-blue-ok-sharp { + height: 50px; + width: 102px; + display: inline-block; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn_blue_ok_l.png') top left no-repeat; +} + +.btn-blue-ok-sharp:hover { + cursor: pointer; + background-position: bottom left; +} + +.centered-error-container { + margin-left: auto; + margin-right: auto; + text-align: center; +} + +#ItemContainer #Actions, +#ItemContainer #Actions_Place { + min-width: 0; + overflow: hidden; + top: 420px; + width: 408px; + padding: 5px; + text-align: left; +} + +#ItemContainer #Actions { + padding: 5px; + text-align: left; + width: 230px; +} + +.AbuseReportTemplate { + display: none; +} + +.CustomizeCharacterLink { + display: block; + margin-top: 10px; +} + +.PurchaseModalMessage.SuccessMsg { + padding: 30px 20px 20px 20px; + height: auto; +} + +.PurchaseModal span.Robux, +.PurchaseModal span.Tickets, +.PurchaseModal span.Free { + margin-bottom: 2px; +} + +.PurchaseModalClose { + cursor: pointer; + position: absolute; + right: -18px; + top: -18px; +} + +.PurchaseModal { + width: 435px; + display: none; + position: absolute; + border: 2px solid #272727; + background-color: #E1E1E1; + padding: 5px; +} + +.PurchaseModal .titleBar { + background-color: #E1E1E1; + font-weight: bold; + font-size: 27px; + letter-spacing: -1px; + color: #363636; + height: 38px; + text-align: center; +} + +.PurchaseModalBody { + background-color: #fff; +} + +.PurchaseModalMessage { + padding: 10px; + height: 110px; +} + +.PurchaseModalMessageImage { + display: inline-block; + *display: inline; + *zoom: 1; + width: 110px; + height: 110px; +} + +.PurchaseModalMessageText { + display: inline-block; + *display: inline; + *zoom: 1; + width: 275px; + vertical-align: top; + padding-top: 28px; +} + +.PurchaseModalButtonContainer { + clear: left; + padding-top: 10px; + text-align: center; +} + +.PurchaseModalFooter { + text-align: center; + margin: 10px auto 0; + padding-bottom: 5px; +} + +.ProcessingModal { + width: 300px; + min-height: 50px; + display: none; + position: absolute; +} + +.ProcessingModalBody { + margin: 15px auto; + text-align: center; + vertical-align: middle; + background: none; +} + +.CurrencyColor1 { + color: #080; + padding-left: 20px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_infobox_icons.png) no-repeat 0 -42px; +} + +.CurrencyColor2 { + color: #A61; + padding-left: 20px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_infobox_icons.png) no-repeat 0 -122px; +} + +.CurrencyColorFree { + color: #080; +} + +.calloutParent { + position: relative; +} + +div.callout { + width: 150px; + height: 35px; + min-height: 50px; + position: absolute; + top: -92px; + left: 73px; + color: #ccc; + text-shadow: 0 0 1px #000; + background-color: #444; + background-image: -moz-linear-gradient(top, #444, #444); + border: 1px solid #333; + border-radius: 3px; + box-shadow: 0 0 20px #999; + margin: 10px; + padding: 10px; +} + +.callout::before { + content: ""; + width: 0; + height: 0; + border: .8em solid transparent; + position: absolute; +} + +.callout.top-left::before { + left: 7px; + bottom: -20px; + border-top: 10px solid #444; +} + +.fadeInAndOut { + display: none; +} + +#ResalePanel .btn-negative { + margin-left: 10px; +} + +/* ~/CSS/Base/CSS/LandingGames.css */ +#header { + width: 990px; + margin: 0 auto; + padding: 15px 0 0 0; +} + +#logo { + width: 155px; + margin-left: 15px; + float: left; +} + +#login { + position: relative; + /* margin:15px 24px 0 0; */ + float: right; + color: #fff; + font-size: 12px; +} + +#loginButton { + display: inline-block; + cursor: pointer; + padding: 2px 2px 5px 0; + border: none; + top: 50%; + background-position: 0 7; + position: relative; + left: 83%; +} + +#loginButton:hover { + color: #d8e6fc; +} + +#loginButton span { + padding: 2px 15px 5px 0; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LandingGames/loginArrow.png) no-repeat 40px 7px; +} + +#loginButton:hover span { + background-position: 40px -41px; +} + +#loginBox { + position: absolute; + top: 22px; + right: 0; + color: #000; + display: none; + width: 230px; + background: #edeff3; +} + +#loginButton.active { + color: #00218c; + background-color: #edeff3; +} + +#loginButton.active span { + background-position: 40px -86px; +} + +#loginBox fieldset { + margin: 0 0 5px 0; + display: block; + border: 0; + padding: 0; +} + +fieldset#body { + padding: 10px 15px; + margin: 0; +} + +#loginBox #body fieldset label { + display: block; + float: none; + margin: 0; +} + +#loginBox input { + width: 92%; + border: 1px solid #899caa; + color: #3a454d; + padding: 3px 7px; + font-size: 12px; +} + +#loginBox #loginSubmit { + width: auto; + float: right; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LandingGames/login_btn.png) repeat-x; + color: #fff; + padding: 3px 10px 3px 10px; + border: 1px solid #339cdf; + margin: 5px 0 5px 0; + cursor: pointer; + position: relative; +} + +#loginBox #body fieldset a { + color: #757d85; + text-decoration: underline; + font-size: 12px; +} + +#line { + width: 100%; + height: 1px; + background: #0047ba; +} + +#facebook_btn { + width: 230px; + height: 30px; + margin: 10px 0 0 0; + background: #edeff3; + text-align: center; +} + +input:focus { + outline: none; +} + +#container { + width: 990px; + margin: 0 auto; +} + +#videoContainer { + width: 950px; + height: 371px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LandingGames/video_bg.png) no-repeat; + margin: 0 0 15px 16px; + float: left; +} + +#video { + margin: 6px 0 0 5px; + float: left; +} + +#link_text { + width: 280px; + margin: 150px 0 0 20px; + float: left; +} + +a.crossroads, +a.crossroads:visited { + width: 330px; + height: 298px; + display: block; + margin-right: 10px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LandingGames/crossroads.gif) bottom no-repeat; + cursor: pointer; + float: left; +} + +a.crossroads:hover { + background-position: top; +} + +a.swordfight, +a.swordfight:visited { + width: 300px; + height: 298px; + display: block; + margin-right: 10px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LandingGames/swordfight.gif) bottom no-repeat; + cursor: pointer; + float: left; +} + +a.swordfight:hover { + background-position: top; +} + +a.seemoregames, +a.seemoregames:visited { + width: 330px; + height: 298px; + display: block; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LandingGames/seeMoreGames.gif) bottom no-repeat; + cursor: pointer; + float: left; +} + +a.seemoregames:hover { + background-position: top; +} + +#footer { + font-size: 12px; + color: #457cb1; + background-color: #75a6d8; + margin: 50px auto 0 auto; + text-align: center; +} + +/* ~/CSS/Base/CSS/Language.css */ +.SwitchNowButton { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/SwitchNow.png") top; + width: 158px; + height: 50px; +} + +.NoThanksButton { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/NoThanks.png") top; + width: 145px; + height: 50px; +} + +.LanguageInstructions { + width: 415px; + height: 157px; + margin: 10px auto 10px auto; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/LanguageChangeInstructions.jpg"); +} + +/* ~/CSS/Base/CSS/ManageAccount.css */ +#ManageAccountButton img, +#CancelButtonImg, +#ChangeCreditCardInfoImg { + border: none; +} + +#ManageAccountButton { + text-align: center; +} + +#GoTurboPopupPanel, +#TurnOffTurboPopupPanel { + width: 550px; + text-align: center; +} + +#CurrentAccountUpgrades { + width: 90%; + margin: auto; + text-align: center; +} + +#CurrentAccountUpgrades table { + border-collapse: collapse; + margin-bottom: 15px; + text-align: center; + background-color: #d0d6e0; + width: 225px; + margin-left: auto; + margin-right: auto; +} + +#CurrentAccountUpgrades th { + border-bottom: solid 1px #999; + text-align: center; +} + +.rightCellWall { + border: 1px solid #999; +} + +.CancelBuildersClubMembership, +.ChangeCreditCardInfo { + text-align: center; + margin-top: 5px; +} + +#BCCompareModal { + background-color: White; + border: solid 2px #6e99c9; + margin: 5px; + padding: 10px; +} + +#BuyBCComparePanelTopInfo { + text-align: center; + padding: 10px 40px 10px 40px; + width: 340px; +} + +.BuyBCComparePanelTable { + font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; + font-size: 12px; + background: #fff; + width: 340px; + margin: 0 40px 0 40px; + border-collapse: collapse; + margin-bottom: 15px; +} + +.BCCompareHeaderRow { + color: #2163A5; + padding: 10px 8px; + border-bottom: 1px solid #D3D3D3; + text-align: left; +} + +.BBCCompareRow td { + color: #2163A5; + border-bottom: 1px solid #D3D3D3; + padding-top: 10px; + padding-left: 10px; + padding-bottom: 10px; +} + +.BCCompareModalRow { + width: 130px; + border-left: 1px solid #000; + border-right: 1px solid #000; + background-color: #DFEFFF; +} + +#BCCompareButtons { + text-align: center; + width: 340px; + margin: 0 40px 0 40px; +} + +#upgrades-membership-options .leftBorder { + border-left: 1px solid #D3D3D3; +} + +#upgrades-membership-options .odd #upgrades-membership-options .LeftText { + text-align: left; +} + +.daysConversion { + color: Red; +} + +/* ~/CSS/Base/CSS/Membership.css */ +.AspNet-Login input { + font-size: 1em; +} + +.AspNet-Login label em { + text-decoration: underline; + font-style: normal; +} + +.AspNet-Login .AspNet-Login-FailurePanel { + color: #F00; +} + +.AspNet-Login .AspNet-Login-UserPanel, +.AspNet-Login .AspNet-Login-PasswordPanel, +.AspNet-Login .AspNet-Login-RememberMePanel, +.AspNet-Login .AspNet-Login-SubmitPanel { + padding: .25em .1em 0 0; +} + +.AspNet-Login .AspNet-Login-UserPanel, +.AspNet-Login .AspNet-Login-PasswordPanel, +.AspNet-Login .AspNet-Login-SubmitPanel { + text-align: left; +} + +.AspNet-Login .AspNet-Login-UserPanel label, +.AspNet-Login .AspNet-Login-PasswordPanel label, +#PaneLogin .TextboxLabel { + font-weight: bold; +} + +.AspNet-Login .AspNet-Login-UserPanel input, +.AspNet-Login .AspNet-Login-PasswordPanel input { + width: 9em; +} + +#PaneNewUser { + float: right; + width: 170px; + background-color: #dcdcdc; + padding: 0 22px 22px; +} + +#PaneLogin { + width: 18em; + padding: 0; +} + +#PaneLogin .AspNet-Login div { + margin: 10px; +} + +#LoginView { + border: solid 1px Black; + width: 150px; + height: 250px; +} + +#LoginView h5 { + background-color: #ccc; + border-bottom: solid 1px #000; + margin: 0; +} + +#LoginView #AlreadySignedIn { + background-color: #eee; +} + +#LoginView .Label { + font-weight: bold; +} + +#LoginView .Text { + width: 133px; +} + +#LoginView .AspNet-Login { + height: 225px; + background-color: #eee; +} + +#LoginView .AspNet-Login .AspNet-Login-InstructionPanel, +#LoginView .AspNet-Login .AspNet-Login-HelpPanel, +#LoginView .AspNet-Login .AspNet-Login-UserPanel, +#LoginView .AspNet-Login .AspNet-Login-PasswordPanel, +#LoginView .AspNet-Login .AspNet-Login-RememberMePanel { + padding: 3px 5px 3px 5px; + text-align: left; +} + +#LoginView .AspNet-Login .AspNet-Login-SubmitPanel, +#LoginView .AspNet-Login .AspNet-Create-Account { + padding: 10px 5px 5px 10px; + text-align: center; +} + +#LoginView .AspNet-Login .AspNet-Login-PasswordRecoveryPanel { + padding: 5px 5px 5px 5px; + text-align: center; +} + +#LoginView .AspNet-Login .AspNet-Login-PasswordRecoveryPanel a { + color: #999; + font: normal 9px/normal Verdana, sans-serif; + padding: 5px 5px 5px 5px; + text-align: center; +} + +#LoginView .AspNet-Login .AspNet-Login-PasswordRecoveryPanel a:hover { + color: Blue; +} + +#Sidebars { + float: right; + width: 250px; +} + +#AlreadyRegistered, +#TermsAndConditions { + background-color: #eee; + border: solid 1px #000; + color: #555; + font: normal 12px/normal Verdana, sans-serif; + margin-top: 10px; + padding: 0 20px 10px 20px; +} + +#AlreadyRegistered h3, +#TermsAndConditions h3 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-weight: bold; + margin: 0 -20px 0 -20px; + padding: 4px; + text-align: center; +} + +#TermsAndConditions { + margin-top: 20px; +} + +.Registration { + background-color: #eee; + border: solid 1px #000; + color: #555; + float: left; + margin-top: 10px; + width: 620px; +} + +.Registration h2 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-size: x-large; + margin: 0; + text-align: center; +} + +.Registration h3 { + margin: 10px 0 0 0; + text-align: center; +} + +.Registration fieldset { + font-size: 1.2em; + margin: 15px 0 0 0; +} + +.Registration .TextBox { + vertical-align: middle; + width: 150px; +} + +.Registration .Label { + vertical-align: middle; +} + +.Registration #EnterUsername, +.Registration #EnterPassword, +.Registration #EnterEmail, +.Registration #EnterAgeGroup, +.Registration #EnterChatMode { + margin: 0 auto; + width: 80%; +} + +.Registration .PasswordRow, +.Registration .ConfirmPasswordRow, +.Registration .EmailRow { + height: 5em; + line-height: 5em; + padding: 3px; + text-align: right; +} + +.Registration .UsernameRow { + height: 5em; + line-height: 5em; + padding: 3px; + text-align: left; +} + +.Registration .PasswordErrorMessage { + font-size: 11px; + font-weight: bold; +} + +.Registration .PasswordRow, +.Registration .ConfirmPasswordRow { + height: 3em; + line-height: 3em; +} + +.Registration .AgeGroupRow, +.Registration .ChatModeRow { + font-size: .9em; + margin: 10px 0 10px 100px; +} + +.Registration .Confirm { + margin: 20px 0 20px 0; + text-align: center; +} + +.Registration .Validators { + margin-left: 9px; +} + +.Registration .Legend { + color: Blue; + margin-left: 9px; +} + +.Registration .Suggestion { + font: normal .8em/normal Verdana, sans-serif; + padding-left: 9px; +} + +.Registration label { + margin-right: 5px; +} + +.AgeOptions { + margin: 0 auto; + margin-top: 20px; + width: 490px; +} + +.AgeOptions #Under13, +.AgeOptions #Over12 { + margin: 0; + padding: 0 20px; + width: 200px; + text-align: center; +} + +.AgeOptions #ParentAccount { + margin: 0; + padding: 0 0 0 40px; + width: 400px; + text-align: center; +} + +#AgeOptions .Label { + text-align: center; +} + +/* ~/CSS/Base/CSS/MenuRedesign.css */ +div#NavRedesign { + display: inline-block; + min-height: 36px; + z-index: 1000; + float: left; + *zoom: 1; + *display: inline; +} + +.NavigationRedesign { + color: #fff; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: normal; + line-height: 2em; + text-decoration: none; +} + +.NavigationRedesign { + height: 30px; + text-align: left; + line-height: 20px; +} + +#NavigationRedesignBannerContainer { + text-align: left; + position: relative; + height: 36px; + z-index: 200; + font-family: Arial, Helvetica, sans-serif; +} + +.NavigationRedesign ul { + margin: 0 auto; + padding: 0; +} + +.NavigationRedesign li { + float: left; + list-style: none; + margin: 0; + padding: 7px 8px 0 8px; + height: 28px; + font-size: 14px; + cursor: pointer; + font-weight: bold; +} + +.NavigationRedesign li:hover, +#NavigationRedesignBannerContainer #AuthenticatedUserNameWrapper:hover, +#AlertSpace #SettingsButtonContainer:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-main_menu_hover.png) repeat-x; +} + +#NavigationRedesignBannerContainer #AuthenticatedUserNameWrapper { + min-height: 30px; + width: auto; + cursor: pointer; + float: right; + padding: 5px 5px 0 5px; + margin-top: -10px; + *margin-right: 2px; +} + +.NavigationRedesign a { + display: inline-block; + color: #fff; + *zoom: 1; + *display: inline; +} + +#NavigationRedesignBannerContainer a:hover { + text-decoration: none; +} + +#NavigationRedesignBannerContainer ul li a, +.NavigationRedesign ul li a:visited { + border: 0 solid black; + font-size: 13px; + padding: 0; + text-decoration: none; + outline: none; + font-family: Arial, Helvetica, sans-serif; +} + +#NavigationRedesignBannerContainer span.loginSpan { + top: 0; + max-width: 110px; + white-space: nowrap; +} + +#NavigationRedesignBannerContainer img#over13icon { + top: 1px; +} + +#NavigationRedesignBannerContainer a.btn-logo, +.NavigationRedesign a.btn-logo:visited, +#NavigationRedesignBannerContainer a.btn-logo:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/btn-rbx_logo.png) no-repeat top; + display: inline-block; + width: 116px; + height: 35px; + float: left; + margin-right: 4px; + *zoom: 1; + *display: inline; +} + +#NavigationRedesignBannerContainer a.btn-logo:hover { + background-position: bottom; +} + +#NavigationRedesignBannerContainer #AuthenticatedUserName { + display: inline-block; + color: #fff; + font-size: 11px; + margin-top: 5px; + max-width: 85px; + overflow: hidden; + font-weight: normal; + *margin-top: 10px; +} + +.BannerRedesign { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-rbx_header.png) repeat-x; + height: 36px; + background-color: #114081; + position: fixed; + width: 100%; + z-index: 10001; + top: 0; +} + +#NavigationRedesignBannerContainer #AlertSpace { + background: none; + display: inline-block; + float: right; + height: 20px; + margin-top: 10px; + *zoom: 1; + *display: inline; +} + +#NavigationRedesignBannerContainer .iFrameLoginSignUp { + margin-top: 4px; +} + +#NavigationRedesignBannerContainer #SiteWideHeaderLogin { + display: inline; +} + +#NavigationRedesignBannerContainer .AlertItem { + float: right; + margin-top: -10px; + padding: 10px 5px 0 5px; + cursor: pointer; + min-height: 25px; +} + +#NavigationRedesignBannerContainer .AlertItem .friends_icon, +#NavigationRedesignBannerContainer .AlertItem .message_icon { + float: right; +} + +#NavigationRedesignBannerContainer .AlertItem a { + color: white; +} + +#NavigationRedesignBannerContainer #Alerts { + margin-top: -20px; +} + +#NavigationRedesignBannerContainer .message_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: top; +} + +#NavigationRedesignBannerContainer .MessageAlert:hover .message_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 -20px; +} + +#NavigationRedesignBannerContainer .friends_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 160px; +} + +#NavigationRedesignBannerContainer .FriendsAlert:hover .friends_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 140px; +} + +#NavigationRedesignBannerContainer .AlertItem:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-main_menu_hover.png) repeat-x; +} + +#NavigationRedesignBannerContainer .robux_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 120px; +} + +#NavigationRedesignBannerContainer .RobuxAlert:hover .robux_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 100px; +} + +#NavigationRedesignBannerContainer div.tickets_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 80px; + margin-left: 0; +} + +#NavigationRedesignBannerContainer .TicketsAlert:hover .tickets_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 60px; +} + +#NavigationRedesignBannerContainer .icons { + height: 20px; + width: 20px; + float: left; + margin: -3px 2px -15px 2px; +} + +#NavigationRedesignBannerContainer .MessageAlertCaption { + float: left; +} + +#NavigationRedesignBannerContainer #AuthenticationButton { + top: -10px; +} + +#NavigationRedesignBannerContainer #SettingsButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png); + background-position: 0 40px; + height: 19px; + width: 20px; + float: right; + margin-top: -2px; + cursor: pointer; +} + +#NavigationRedesignBannerContainer #SettingsButtonContainer.active #SettingsButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-icon_sprites.png) repeat-y; + background-position: 0 20px; +} + +#NavigationRedesignBannerContainer .HeaderDivider { + margin: -5px 5px 0 5px; + float: right; + height: 25px; + width: 0; + Border-left: 1px solid #7394c1; +} + +.moreLink { + cursor: pointer; + width: 43px; + text-decoration: none; + outline: none; +} + +.NavigationRedesign li.moreLink { + background: none; +} + +.moreLink .LinkContainer { + height: 35px; + top: -8px; + position: relative; +} + +#hlMore { + margin-top: 8px; + text-decoration: none; + white-space: nowrap; +} + +.moreLink.active #hlMore { + color: black; + margin-top: 0; + background-color: #efefef; +} + +.moreLink span#moreMenuToggle, +.moreLink span#moreMenuToggle:hover { + text-decoration: none; + outline: none; + padding: 0 2px; + cursor: pointer; + border: none; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/bg-drop_down_arrow.png) top no-repeat; + height: 5px; + width: 7px; + display: inline-block; + margin-left: 2px; + top: -1px; + position: relative; + *zoom: 1; + *display: inline; + *margin-bottom: 3px; +} + +.moreLink.active span#moreMenuToggle, +.moreLink.active span#moreMenuToggle:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/bg-drop_down_arrow.png) bottom no-repeat; + top: -1px; +} + +#NavRedesign .dropdownnavcontainer { + margin-top: -8px; + margin-left: -8px; + color: black; + min-height: 100px; +} + +.dropdownnavcontainer .dropdownoption { + position: relative; + cursor: pointer; +} + +#NavRedesign .dropdownmainnav { + background-color: #efefef; + border: 1px solid #777; + display: inline-block; + *display: inline; + zoom: 1; +} + +#NavRedesign .dropdownmainnav a { + color: black; + font-size: 13px; + line-height: 23px; + display: block; +} + +.settingsmainnav a, +.settingsmainnav a:hover { + display: inline-block; + font-size: 13px; + font-family: Arial; + *zoom: 1; + *display: inline; +} + +#NavRedesign .dropdownnavcontainer a:hover, +.settingsmainnav a:hover { + background-color: #d8d8d8; +} + +.NavigationRedesign .moreLink.active:hover .LinkContainer, +.NavigationRedesign li.moreLink.active .LinkContainer { + background-color: #EFEFEF; + border: 1px solid #777; + border-bottom: none; + background-image: none; + height: 35px; + top: -7px; + line-height: 33px; + left: -8px; + position: relative; + padding: 0 5px 0 7px; + display: inline-block; + *zoom: 1; + *display: inline; +} + +#NavigationRedesignBannerContainer .settingsnavcontainer { + position: absolute; + background-color: #efefef; + border: 1px solid #777; + color: black; + width: 115px; + height: 52px; + right: 0; + top: 35px; + z-index: -1; + line-height: 23px; +} + +#NavigationRedesignBannerContainer .settingsmainnav div { + color: black; + padding: 2px 5px; +} + +#NavigationRedesignBannerContainer #AlertSpace #SettingsButtonContainer.active { + background-color: #efefef; + border: 1px solid #777; + border-bottom: none; +} + +#NavigationRedesignBannerContainer #AlertSpace #SettingsButtonContainer { + height: 15px; + width: 20px; + float: right; + padding: 10px 5px; + margin-top: -10px; + border: 1px solid transparent; + cursor: pointer; +} + +#NavigationRedesignBannerContainer .AlertBox { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-alerts-v2.png) no-repeat left; + float: left; + height: 11px; + font: bold 10px Arial, Helvetica, sans-serif; +} + +#NavigationRedesignBannerContainer .AlertBox.Left { + width: 3px; + height: 11px; + background-position: left; + *padding-top: 0; +} + +#NavigationRedesignBannerContainer .AlertBox.Right { + background-position: right; + padding-right: 3px; +} + +.AlertItem .AlertTextWrapper { + margin-left: 17px; +} + +#NavigationRedesignBannerContainer .AlertCaption { + text-align: center; + float: left; + color: white; + font-weight: normal; + font-size: 11px; +} + +.Redesign .subMenu ul li:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/RevisedHeader/bg-sub_menu_hover.png) repeat-x; + background-repeat: repeat no-repeat; +} + +.Redesign .subMenu { + background: #191919; + height: 25px; +} + +.Redesign .subMenu ul { + margin: 0 0 0 10px; +} + +.Redesign .subMenu ul li a { + font-size: 12px; +} + +.dropdownmainnav .dropdownoption span { + margin-left: 1px; + font-weight: normal; + padding: 1px 10px 1px 5px; +} + +#NavigationRedesignBannerContainer .AlertText { + height: 7px; + margin-top: 2px; + color: black; + line-height: 7px; +} + +.mySubmenuFixed.Redesign { + position: fixed; + top: 35px; +} + +#NavigationRedesignBannerContainer .logoutButton { + display: inline-block; + font-size: 11px; + color: white; + float: right; + position: relative; + bottom: 2px; +} + +#iFrameLogin { + position: absolute; + top: 26px; + right: 0; + width: 340px; + height: 128px; + border: 1px solid #0C3060; + border-top: none; +} + +.fbSplashPageConnect { + margin: 5px 0; +} + +#facebookSignIn { + text-align: center; + margin-top: 8px; + margin-bottom: 10px; +} + +#headerLogin .grey-arrow { + color: #666; + font-size: 12px; +} + +#headerLogin.btn-control.btn-control-large.active { + background-image: none; + background-color: #e1e1e1; + border-color: #000; +} + +#headerLogin { + font-weight: bold; + display: inline-block; + width: 62px; + position: relative; + cursor: pointer; + letter-spacing: -1px; +} + +#HeaderSignUp { + font-family: Arial; + font-weight: bold; + color: #fff; + font-size: 13px; + position: relative; + *top: -6px; +} + +#HeaderOr { + font-family: Arial; + font-weight: normal; + color: #9Ec3E7; + font-size: 13px; + position: relative; + margin: 0 6px; + *top: -6px; +} + +.loginFrame { + height: 100%; + width: 100%; +} + +.iFrameLoginSignUp { + float: right; + position: relative; +} + +/* ~/CSS/Base/CSS/Message.css */ +.MessageContainer .MultilineTextBox { + min-height: 50px; +} + +.MessageContainer #AdsPane { + float: left; + width: 160px; +} + +.MessageContainer #MessagePane { + float: left; + margin: 0 0 0 60px; + width: 650px; +} + +.MessageContainer h3 { + text-align: left; + width: 622px; +} + +.MessageContainer #MessagePane .Buttons { + width: 622px; +} + +.MessageContainer #MessagePane .Buttons .Button { + margin: 10px 0 0 10px; + display: inline-block; +} + +.MessageContainer .Label { + font-weight: bold; + padding: 6px 0 3px 0; +} + +.MessageContainer .MessageReaderContainer { + border: solid 1px #000; + padding: 10px; + width: 95%; +} + +.MessageReaderContainer #Message { + text-align: left; +} + +#Message #DateSent { + text-align: left; +} + +#Message #Author { + margin: 0; + text-align: left; +} + +#Message #Subject { + display: inline-block; + *display: inline; + font-weight: bold; + margin: 0; + text-align: center; + overflow: hidden; + width: 350px; + *zoom: 1; +} + +#Message .Body { + text-align: left; + vertical-align: top; +} + +#MessageEditorContainer { + border: solid 1px #000; + padding: 10px; + width: 95%; +} + +.EmptyInbox { + text-align: center; + margin: 20px 0; +} + +.MessageEditor { + text-align: left; +} + +.MessageEditor #From { + text-align: left; + width: 39%; +} + +.MessageEditor #To { + margin: 5px 0 0 0; + text-align: left; + width: 39%; +} + +.MessageEditor .CannedResponsesPanel { + background-color: #eee; + border: solid 1px #000; + margin: 30px 0; + width: 200px; +} + +.MessageEditor .CannedResponsesPanel h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + font-size: 1.3em; + margin: 0; + text-align: center; + display: block; +} + +.MessageEditor #CannedResponses { + margin: 0; + padding: 5px 0; + width: 200px; +} + +.MessageEditor .CannedResponse { + margin: 0; + padding: 7px 5px; + text-align: center; + width: 190px; +} + +.MessageEditor #CannedResponses .Button { + padding: 3px 5px; +} + +.MessageEditor .Body { + text-align: left; + vertical-align: top; +} + +.MessageContainer #Confirmation h3 { + text-align: left; + width: 422px; +} + +.MessageContainer #Confirmation .Buttons { + width: 422px; +} + +.MessageContainer #Confirmation #Message { + border: solid 1px #000; + padding: 10px; + width: 95%; +} + +.MessageReaderContainer #Message { + float: left; + text-align: left; +} + +.ReportAbuse { + text-align: left; +} + +.ReportAbuse .AbuseButton a { + color: #F99; + background: none; + padding-left: 16px; + padding-bottom: 2px; +} + +.ReportAbuse .AbuseButton a:hover { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/abuse.png") no-repeat scroll 0 2px transparent; + color: #F00; +} + +.ReportAbuse img { + display: none; +} + +/* ~/CSS/Base/CSS/MyAccount.css */ +#AccountPageLeft { + float: left; + width: 659px; +} + +#AccountPageRight { + float: right; + width: 310px; +} + +#AccountSettings { + border-bottom: 1px solid #CCC; +} + +.SettingsTitle { + font: normal bold 16px arial; + margin: 10px; +} + +.SettingSubTitle { + margin-left: 10px; + padding-bottom: 15px; +} + +#AccountPageContainer { + font-family: Arial; + padding-bottom: 10px; +} + +#UpdateSettings { + margin: 30px 10px; +} + +.blurbGreyText { + color: #666; + font: italic normal normal 12px arial; +} + +#blurbDesc { + float: left; + position: relative; +} + +#emailBlock { + float: left; + position: relative; +} + +.joinBC { + width: 196px; + height: 34px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Accounts/btn-joinbuildersclub-green-m.png") no-repeat; + display: inline-block; + margin-bottom: 10px; +} + +.joinBC:hover { + background-position: 0 -34px; +} + +a.upgradeBC { + margin-bottom: 10px; + margin-top: 5px; + width: 166px; +} + +a.buyRobux { + width: 166px; + margin-bottom: 10px; +} + +.verifiedEmail { + width: 52px; + height: 13px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Accounts/img-verified.png") no-repeat; + display: inline-block; + vertical-align: middle; +} + +.font12pxStyle { + font: normal 12px arial; +} + +.lightGreyInfoText { + color: #666; + font: normal 11px arial; +} + +.settingsStatusBar { + font: normal 12px arial; + width: 639px; +} + +.settingLabel { + width: 138px; + display: inline-block; +} + +#PrivacySettings { + padding-top: 5px; +} + +#PrivacySettings .form-label { + margin-bottom: 15px; + line-height: 24px; +} + +#PrivacySettings .form-inner.label-column { + margin-left: 10px; +} + +.errorStatusBar { + color: black; + background-color: #FAE5E5; + border: solid 1px #c00; + margin-bottom: 10px; + text-align: left; + padding-left: 10px; + height: inherit; + min-height: 26px; +} + +.emailInput { + width: 170px; + height: 15px; +} + +#birthdayError { + float: left; + height: inherit; + left: 10px; + position: relative; +} + +.fixParentEmail { + position: relative; + right: 28px; +} + +.btn_blue_ok_l { + cursor: pointer; + width: 102px; + height: 50px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Accounts/btn_blue_ok_l.png); +} + +.btn_blue_ok_l:hover { + background-position: 0 50px; +} + +.InlineSuperSafeDiv .SuperSafePanel { + position: relative; + display: inline; +} + +#AccountSettings .standardform { + float: left; + display: none; + position: relative; + top: -14px; +} + +#AccountSettings .confirm-email-tooltip.standardform { + top: -5px; + left: 15px; + display: block; +} + +.blurbSubtext { + width: 500px; +} + +.billing-questions { + padding: 10px; +} + +/* ~/CSS/Base/CSS/MyItem.css */ +#ItemContainer #Summary #DescriptionLabel { + margin-bottom: .4em; + margin-top: .7em; +} + +.resetPlacePadding { + padding: 10px; +} + +#EditItem { + color: #555; + float: left; + font-family: Arial, Sans-Serif; + margin: 0; +} + +#EditItemContainer { + margin: 0 5px; +} + +#EditItemContainer h2 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-family: Arial, Helvetica, sans-serif; + font-size: x-large; + margin: 0; + text-align: center; +} + +#EditItemContainer fieldset { + font-size: 1.2em; + margin: 0; + color: #000; +} + +#EditItemContainer #Confirmation { + border: dashed 1px #f00; + background-color: #ccc; + color: #f00; + margin: 0 auto; + margin-top: 10px; + padding: 10px 5px; + width: 410px; +} + +#EditItemContainer #ItemName { + margin: 0 auto; + margin-top: 10px; + padding: 0; + text-align: left; + width: 420px; +} + +#EditItemContainer #ItemThumbnail { + border: solid 1px #555; + height: 230px; + margin: 0 auto; + margin-top: 10px; + padding: 0; + text-align: left; + width: 420px; +} + +#EditItemContainer #ItemDescription { + margin: 0 auto; + margin-top: 10px; + padding: 0; + text-align: left; + width: 420px; +} + +#EditItemContainer #Comments, +#EditItemContainer #PlaceAccess, +#EditItemContainer #PlaceCopyProtection, +#EditItemContainer #AllowGear, +#EditItemContainer #SetGenres, +#EditItemContainer #VersionHistory, +#EditItemContainer #PublicDomain, +#EditItemContainer #SellThisItem, +#EditItemContainer #PlaceReset, +#EditItemContainer #PlaceBuildAccess, +.MyItemOptions, +.Configure.ProductPromotionsContainer { + padding: 5px; + margin: 10px; +} + +#EditItemContainer #SellThisItem #Pricing { + background-color: #fff; + margin: 15px 5px 5px 5px; + padding: 5px; +} + +#EditItemContainer #SellThisItem #Price { + height: 28px; + margin-top: 10px; +} + +#EditItemContainer #SellThisItem #Price .TextBox { + padding: 2px 4px; + width: 75px; +} + +#EditItemContainer .CopyProtectionRow, +#EditItemContainer .EnableCommentsRow, +#EditItemContainer .PlayerLimit, +#EditItemContainer .PlaceType, +#EditItemContainer .PublicDomainRow, +#EditItemContainer .SellThisItemRow, +#EditItemContainer .ChatSettings, +#EditItemContainer .GearSettings, +#EditItemContainer .GenreSettings, +#EditItemContainer .MembershipLevelSettings { + font-size: .9em; + margin: 10px 35px; +} + +#EditItemContainer .GenreSettings { + margin: 10px 0; +} + +#EditItemContainer .GearSettings { + margin: 10px 40px; +} + +#EditItemContainer .PlaceAccessRow, +#EditItemContainer .ResetPlaceRow { + font-size: .9em; + margin: 10px 0; + text-align: center; +} + +#EditItemContainer .PlaceAccessRow { + margin: 10px 0 10px 100px; + text-align: left; +} + +#EditItemContainer .PlayerLimit .ClassicPlace { + float: left; +} + +#EditItemContainer .PlayerLimit .MegaPlace { + position: relative; + left: 20px; +} + +#EditItemContainer .PlayerLimit .ClassicPlace .NumPlayers { + margin: 5px 0 0 22px; +} + +#ConfigurePlaceContainer .ResetPlaceRow .Button { + margin: 0 auto; +} + +#EditItemContainer .PricingLabel { + float: left; + font-weight: bold; + line-height: 24px; + margin-right: 5px; + text-align: right; + width: 155px; +} + +#EditItemContainer .PerPurchase { + float: left; + font-weight: bold; + line-height: 24px; + margin-right: 5px; + text-align: right; +} + +#EditItemContainer .PricingField_Robux, +#EditItemContainer .PricingField_Tickets { + float: left; + height: 24px; + margin-left: 5px; + margin-top: 5px; + text-align: left; + width: 120px; +} + +#EditItemContainer #PricingError, +#EditItemContainer #PricingErrorMax { + display: inline-block; + *display: inline; + *zoom: 1; + margin: 3px 0 0 10px; +} + +#EditItemContainer .MarketplaceFeeInRobuxLabel, +#EditItemContainer .MarketplaceFeeInTicketsLabel, +#EditItemContainer .UserProfitInRobuxLabel, +#EditItemContainer .UserProfitInTicketsLabel { + display: inline-block; + *display: inline; + *zoom: 1; + height: 18px; +} + +#EditItemContainer .Buttons { + margin: 10px auto; + text-align: center; +} + +#EditItemContainer .Button { + border-color: #555; + color: #555; + cursor: pointer; +} + +#EditItemContainer .Button:hover { + background-color: #6e99c9; + color: #fff; +} + +#EditItemContainer .Label { + font-size: 1.2em; + margin: 0; + padding: 0; +} + +#EditItemContainer .TextBox { + margin: 0; + padding: 5px 10px; + width: 400px; +} + +#EditItemContainer .Multiline { + margin: 0; + padding: 5px 10px; + width: 400px; +} + +#EditItemContainer .Suggestion { + font: normal .8em/normal Verdana, sans-serif; + padding-left: 9px; +} + +#EditItemContainer .ItemConfigRadioButton { + margin-left: 20px; +} + +#EditItemContainer .ItemConfigNotice { + margin: 10px 20px; + font-size: .8em; + color: red; +} + +/* ~/CSS/Base/CSS/MyMoney.css */ +div.MyMoneyPage { + *padding-top: 10px; + position: relative; +} + +.MyMoneyPage ul { + padding: 0; + *position: relative; + *left: -40px; +} + +.MyMoneyPage #TabsContentContainer, +.MyMoneyPage .WhiteSquareTabsContainer { + width: 957px; +} + +.MyMoneyPage div.TabContent { + float: left; + position: relative; +} + +.MyMoneyPage .tipsy { + text-align: left; +} + +.MyMoneyPage .BuyRobuxButton { + position: absolute; + right: 10px; + *right: 18px; + top: 9px; + *top: 8px; +} + +.MyMoneyPage .BuyRobuxButton:hover { + cursor: pointer; +} + +.MyMoneyPage .SortsAndFilters { + margin: 5px 0 7px 5px; +} + +.MyMoneyPage .SortsAndFilters div { + float: left; +} + +.MyMoneyPage td.Member div.Roblox { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/roblox-icon-round-tiny.jpg') no-repeat top left; +} + +.MyMoneyPage .roblox-avatar-image, +.MyMoneyPage .roblox-group-image, +.MyMoneyPage td.Member div.Roblox { + float: left; +} + +.MyMoneyPage .roblox-avatar-image img[title], +.MyMoneyPage .roblox-group-image img[title], +.MyMoneyPage td.Member div.Roblox { + width: 24px; + height: 24px; +} + +.trade-currency .PurchaseModalMessage { + display: inline-block; + width: 415px; + vertical-align: middle; + font: bold 15px Arial, Helvetica, Sans-Serif; + letter-spacing: 0; + margin-bottom: 5px; + float: none; + text-align: center; +} + +#Summary_tab .loading { + position: absolute; + top: 0; + left: 1px; + background: #fff url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') no-repeat center; + width: 100%; + height: 100%; +} + +#Summary_tab .RobuxColumn, +#Summary_tab .TicketsColumn { + float: left; + background-color: #fff; + margin: 0 3px; +} + +#Summary_tab .TicketsColumn { + width: 385px; +} + +#Summary_tab .RobuxColumn { + padding-right: 6px; + width: 390px; +} + +#Summary_tab table, +#MyTransactions_tab table, +#TradeItems_tab table { + width: 100%; +} + +#Summary_tab h2.light { + margin: 0; +} + +#Summary_tab h2 .tickets { + padding-top: 3px; + padding-left: 15px; +} + +#Summary_tab .total h2 { + display: inline; + margin: 0; +} + +#Summary_tab .Categories { + width: 212px; +} + +#Summary_tab td.Credit { + width: 158px; +} + +#Summary_tab .table-header th.Credit { + width: 156px; +} + +#Summary_tab .total td { + width: 380px; + text-align: right; +} + +#Summary_tab .RobuxColumn .total td { + padding-top: 9px; +} + +#Summary_tab .total img { + padding: 0 3px; + position: relative; + top: 2px; +} + +#MyTransactions_tab .TransactionsContainer { + clear: both; +} + +#MyTransactions_tab table, +#TradeItems_tab table { + width: 790px; +} + +#MyTransactions_tab .empty, +#TradeItems_tab .empty { + width: 780px; + text-align: center; +} + +#MyTransactions_tab .loading, +#TradeItems_tab .loading { + background: #fff url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') no-repeat center; + height: 150px; + position: relative; + width: 780px; +} + +#MyTransactions_tab .error, +#TradeItems_tab .error { + height: 1em; + position: relative; + width: 710px; + text-align: center; +} + +#MyTransactions_tab .morerecords td, +#TradeItems_tab .morerecords td { + text-align: center; + width: 100%; + border-top: none; + padding-top: 20px; +} + +#MyTransactions_tab .morerecords td a:hover, +#TradeItems_tab .morerecords td a:hover { + cursor: pointer; +} + +.TradePartner .roblox-avatar-image { + width: 24px; + height: 24px; +} + +#MyTransactions_tab th.Date { + width: 85px; +} + +#MyTransactions_tab td.Date { + width: 86px; +} + +#MyTransactions_tab th.Member { + width: 126px; +} + +#MyTransactions_tab td.Member { + width: 126px; +} + +#MyTransactions_tab th.Description { + width: 435px; +} + +#MyTransactions_tab td.Description { + width: 437px; +} + +#MyTransactions_tab th.Amount { + width: 100px; +} + +#MyTransactions_tab td.Amount { + padding-left: 31px; + width: 75px; +} + +#MyTransactions_tab th.Amount.Robux { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/img-robux.png') no-repeat 10px 12px; +} + +#MyTransactions_tab th.Amount.Tickets { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Tickets.png?v=2') no-repeat 10px 9px; +} + +#MyTransactions_tab .Member span { + padding-left: 3px; + top: 4px; + position: relative; +} + +.MyMoneyPage th.Member div.Roblox { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/roblox-icon-round-tiny.jpg') no-repeat top left; +} + +#MyTransactions_tab td.Date, +#MyTransactions_tab td.Description, +#MyTransactions_tab td.Amount, +#TradeItems_tab td { + padding-top: .5em; +} + +#TradeItems_tab .Date, +#TradeItems_tab .Expires { + width: 81px; +} + +#TradeItems_tab th.Date, +#TradeItems_tab th.Expires { + width: 80px; +} + +#TradeItems_tab .Action { + width: 91px; +} + +#TradeItems_tab th.Action { + width: 90px; +} + +#TradeItems_tab .TradePartner { + width: 161px; +} + +#TradeItems_tab th.TradePartner { + width: 160px; +} + +#TradeItems_tab .Status { + width: 326px; +} + +#TradeItems_tab th.Status { + width: 325px; +} + +#TradeItems_tab .template { + display: none; +} + +/* ~/CSS/Base/CSS/NewToolBox.css */ +#NewToolboxContainer #ToolboxControls { + text-align: left; +} + +#NewToolboxContainer #ToolboxSelector { + margin: 5px; +} + +#NewToolboxContainer #ToolboxSearch { + margin: 0 0 5px 5px; + height: 19px; +} + +#NewToolboxContainer #ToolboxItems { + min-height: 100px; + margin: 10px 5px; +} + +#NewToolboxContainer #Button { + background-color: White; + border: solid 1px black; + cursor: pointer; + float: left; + height: 16px; + margin: 0 0 0 5px; + padding: 1px 0 0 0; + text-align: center; + width: 50px; +} + +#NewToolboxContainer .Navigation { + font-size: 8pt; + margin: 0 0 5px 5px; + height: 22px; + padding-left: 40px; +} + +#NewToolboxContainer .Navigation a { + color: #00c; +} + +#NewToolboxContainer .Navigation a:hover { + text-decoration: underline; +} + +#NewToolboxContainer .Navigation #Previous { + float: left; + text-align: left; +} + +#NewToolboxContainer .Navigation #Location { + text-align: center; + padding: 5px; + float: left; +} + +#NewToolboxContainer .ButtonText { + border-width: 1px; + font-size: 8pt; + color: Black; + text-decoration: none; +} + +#NewToolboxContainer .ButtonText:hover { + font-weight: bold; + letter-spacing: -.1em; +} + +#NewToolboxContainer .Search { + border: solid 1px Black; + float: left; + font-family: Verdana, Sans-Serif; + font-size: 8pt; + height: 15px; + line-height: 1.3em; + padding: 1px 2px 1px 2px; + width: 114px; +} + +#NewToolboxContainer .Page { + font-family: Verdana, Sans-Serif; + margin: 0; +} + +#NewToolboxContainer .Toolboxes { + font-family: Verdana, Sans-Serif; + font-size: 9pt; + font-weight: bold; + width: 190px; +} + +#NewToolboxContainer .ToolboxItem { + height: 64px; + width: 64px; + vertical-align: middle; +} + +#NewToolboxContainer .SearchError { + clear: both; + margin: 1px; + float: none; + padding: 1px; + text-align: center; + color: Red; + font-size: small; +} + +#NewToolboxContainer #SetTabs { + background: #7c7c7c; + color: #fff; + padding-top: 4px; + height: 25px; + clear: both; + font-family: Arial; + font-size: 11px; +} + +#NewToolboxContainer #SetTabs div { + float: left; + padding: 5px 5px 0 5px; + background: #a3a3a3; + cursor: pointer; + height: 20px; +} + +#NewToolboxContainer #SetTabs div.Selected { + background: #f0f0f0; + color: #000; +} + +#NewToolboxContainer #MySets { + margin: 0 4px 0 2px; +} + +#NewToolboxContainer #Inventory { + margin: 0 2px 0 5px; +} + +#NewToolboxContainer #OtherSets { + margin: 0 2px; +} + +#NewToolboxContainer .itemLink { + display: inline-block; + height: 62px; + width: 60px; + cursor: pointer; + border: 1px solid Window; +} + +#NewToolboxContainer .itemLink:hover { + border: solid 1px blue; +} + +/* ~/CSS/Base/CSS/Parents.css */ +#ParentsContainer #CertificateContainer { + float: right; + width: 340px; + padding: 43px 10px; + margin-right: 20px; +} + +#ParentsContainer #ParentsSectionContainerRight { + float: right; + width: 440px; +} + +#ParentsContainer #ParentsSectionContainerLeft { + float: left; + width: 440px; +} + +.ParentsSection { + background-color: #fff; + border: solid 1px #ccc; + height: 120px; + margin-bottom: 20px; + padding: 15px 15px; + width: 370px; +} + +.ParentsSection .SectionIcon { + float: left; + margin-right: 20px; +} + +#ParentsContainer .QuestionsColumnLeft { + width: 300px; + float: left; + padding-right: 12px; + border-right: 1px solid #ccc; +} + +#ParentsContainer .QuestionsColumnLeft p { + margin-top: 0; +} + +#ParentsContainer .QuestionsColumnLeft ul { + padding: 0 0 10px 0; + margin: 0; + list-style: none; +} + +#ParentsContainer .QuestionsColumnLeft li, +#ParentsContainer .QuestionsColumnLeft li a { + cursor: pointer; + font: 13px arial; + color: #095fb5; + padding: 5px 0; +} + +#ParentsContainer .QuestionsColumnRight { + width: 574px; + float: right; + padding-left: 12px; +} + +#ParentsContainer #BCLinks { + height: 450px; +} + +#ParentsContainer #BCLinks .BCLinksSection { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Parents/collapse_bg.jpg') repeat-x bottom; + border: solid 1px #D9D9D9; + height: auto; + padding: 10px; + margin-bottom: 5px; + position: relative; +} + +#ParentsContainer #BCLinks .BCLinksSection .header { + font-size: 13px; + font-weight: bold; +} + +#ParentsContainer #BCLinks .BCLinksSection .header:hover { + cursor: pointer; +} + +#ParentsContainer #BCLinks .BCLinksSection .header .expandArrow { + width: 9px; + height: 9px; + margin-right: 5px; + display: inline-block; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/gray_arrow.png') no-repeat; +} + +#ParentsContainer #BCLinks .BCLinksSection .header .collapseArrow { + width: 9px; + height: 9px; + margin-right: 5px; + display: inline-block; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-expand_arrow.png') no-repeat; +} + +#ParentsContainer .SquareTabGray.selected { + border-bottom: 1px solid #fff; +} + +#ParentsContainer .TestimonialContent ul.TestimonialList { + list-style: none outside none; +} + +#ParentsContainer .TestimonialContent ul.TestimonialList>li:before { + content: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/comment-arrow.png"); + left: -21px; + position: absolute; +} + +#ParentsContainer .TestimonialContent ul.TestimonialList>li { + background: none repeat scroll 0 0 #F6F6F6; + border: 1px solid #DDD; + border-radius: 3px 3px 3px 3px; + margin: 0 0 1.8em; + padding: 1.625em; + position: relative; + margin-left: 90px; + font-size: 13px; +} + +#ParentsContainer .TestimonialContent ul.TestimonialList .Name { + position: absolute; + width: 90px; + height: 40px; + left: -140px; + padding: 10px 5px; + top: 0; +} + +#ParentsContainer .VideoSideColumn { + float: left; + padding-right: 15px; + width: 420px; +} + +#ParentsContainer .VideoColumn { + float: right; + padding: 0 15px 0 15px; + width: 450; +} + +.MyRobloxContainer .Column1a .StandardBox em { + display: none; + font-style: normal; + position: absolute; + z-index: 2; + background: #3B526B; + color: #FFF; + padding: 3px; + border: 4px solid #C6D9FD; + width: 200px; +} + +.MyRobloxContainer .Column1a .StandardBox ul li { + padding: 4px; +} + +/* ~/CSS/Base/CSS/party.css */ +.partyWindow { + color: #666; + font-family: Arial, Helvetica, sans-serif; + font-size: 11px; + width: 250px; +} + +.partyWindow .title { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_blue19h_l.gif') no-repeat left top; + display: block; + text-decoration: none; + padding-left: 2px; + height: 19px; + width: 248px; + cursor: pointer; +} + +.partyWindow .title span { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_blue19h_r.gif') no-repeat right top; + display: block; + height: 15px; + padding: 2px 15px 2px 7px; + text-decoration: none; + color: #fff; +} + +.partyWindow .title_flash { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_white19h_l2.gif') no-repeat left top; +} + +.partyWindow .title_flash span { + background: transparent url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/friendsbar/tab_white19h_r2.gif') no-repeat right top; + color: #444; +} + +.partyWindow .title strong { + display: block; + padding: 2px 15px 4px 6px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/tab_blue21h_r.png") no-repeat right top; + color: #fff; + width: 227px; + font-weight: bold; +} + +.partyWindow .closeparty { + width: 10px; + height: 9px; + margin: 5px 9px 0 0; + cursor: pointer; + position: absolute; + right: 0; + top: 0; + color: #fff; + font-weight: bold; + font-size: 14px; +} + +.partyWindow .main { + clear: both; + width: 248px; + height: auto; + margin: 0; + background: #f2f2f2; + border: 1px solid #a6a6a6; + border-top: 0 none; + overflow: auto; +} + +.partyWindow .kickuser { + float: right; + padding-right: 5px; + color: Red; + cursor: pointer; +} + +#new_party p { + text-align: center; + padding: 40px 0 0 0; +} + +#party_none .main .btn_green21h { + margin: 15px 0 0 77px; +} + +.clear { + clear: both; +} + +.main #new_party_clear { + padding: 40px 0 0 0; +} + +.btn_green21h { + float: left; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_green21h_l.png") no-repeat left top; + padding: 0 0 0 2px; +} + +.btn_green21h a { + display: block; + padding: 2px 14px 4px 10px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_green21h_r.png") no-repeat right top; + color: White; + font-family: verdana; + font-weight: bold; + text-decoration: none; +} + +.btn_green21h:hover { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_green21h_over_l.png") no-repeat left top; +} + +.btn_green21h:hover a { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_green21h_over_r.png") no-repeat right top; +} + +.btn_red21h { + float: left; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_red21h_l.png") no-repeat left top; + padding: 0 0 0 2px; +} + +.btn_red21h a { + display: block; + padding: 2px 14px 4px 10px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_red21h_r.png") no-repeat right top; + color: White; + font-family: verdana; + font-weight: bold; + text-decoration: none; +} + +.btn_red21h:hover { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_red21h_over_l.png") no-repeat left top; +} + +.btn_red21h:hover a { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_red21h_over_r.png") no-repeat right top; +} + +.btn_black21h { + float: left; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_black21h_l.png") no-repeat left top; + padding: 0 0 0 2px; + color: White; +} + +.btn_black21h a { + display: block; + padding: 2px 14px 4px 10px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_black21h_r.png") no-repeat right top; + color: #FFF; + font-family: verdana; + font-weight: bold; + text-decoration: none; +} + +.btn_black21h:hover { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_black21h_over_l.png") no-repeat left top; +} + +.btn_black21h:hover a { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/chat/btn_black21h_over_r.png") no-repeat right top; +} + +.main h1 { + padding: 15px 20px 15px 20px; + font-size: 130%; + text-align: center; +} + +.main #invite_status { + padding: 10px 0 10px 0; +} + +.main p { + padding: 0 0 7px 0; +} + +.main .btn_green21h { + float: left; + margin: 0 0 0 35px; +} + +.main .btn_black21h { + float: right; + margin: 0 35px 0 0; +} + +.main #invite_clear { + padding: 15px 0 0 0; +} + +dt { + float: left; +} + +dd { + margin-left: 30px; +} + +.grey9 { + color: gray; + font-size: 9px; +} + +.status { + color: gray; + font-size: 11px; +} + +.name_me { + font-weight: bold; + color: #06c; +} + +.name_other { + font-weight: bold; + color: #007b00; +} + +.name_status { + font-weight: bold; +} + +.partyWindow { + color: black; + font-size: 11px; + height: auto; +} + +.members dl { + padding: 0 0 0 5px; +} + +.members dt { + padding: 4px 0 0 0; +} + +.members dd { + padding: 4px 0 1px 0; +} + +.main p { + padding: 10px 0 5px 0; + text-align: center; +} + +#chat_messages { + padding: 0 3px 3px 3px; + margin: 5px 5px 0 5px; + height: 217px; + overflow: auto; + background-color: white; + border-style: solid; + border-width: 1px; + border-color: #aaa; +} + +#chat_messages li { + padding: 6px 0 0 0; + list-style-type: none; +} + +#party_game_thumb { + width: 75px; + margin-right: 5px; + float: left; +} + +#party_current_game { + margin: 5px; +} + +#party_game_name { + width: 140px; + float: left; +} + +#party_game_follow_me { + margin-top: 5px; +} + +#chat_input { + margin: 5px 5px 0 5px; + padding-right: 2px; +} + +#chat_input input { + border: 1px solid #ccc; + width: 236px; + height: 40px; +} + +#chat_input textarea { + border: 1px solid #aaa; + overflow: auto; + width: 100%; + height: 50px; +} + +.main #leader_clear { + padding: 15px 0 0 0; +} + +#party_my .main .btn_black21h { + margin: 15px 70px 0 0; +} + +/* ~/CSS/Base/CSS/PersonalServerAccessPrivilegesRoleSet.css */ +.tbxPeople { + color: gray; + border-color: gray; + font-style: italic; +} + +.btnAdd { + border: 1px solid black; + cursor: pointer; +} + +.btnAdd :hover { + background-color: Blue; +} + +.pplList { + overflow-y: auto; + overflow-x: hidden; + border: none; + max-height: 147px; +} + +.pplList div img { + margin-right: 6px; +} + +.PersonalServerRoleSet { + width: 195px; + font-size: 11px; + float: left; +} + +.PersonalServerRoleSet div { + margin-bottom: 5px; + margin-top: 5px; +} + +.papCheckBox { + margin-left: 0; +} + +.papListRemoveUserIcon { + cursor: pointer; + font-weight: bold; + border: 0; + vertical-align: middle; + height: 13px; + width: 13px; +} + +.papListRemoveUserName { + margin-left: 5px; + font-size: 12px; + vertical-align: middle; +} + +#PlaceAccessPrivileges .AccessSection { + margin: 5px; +} + +#PlaceAccessPrivileges .AccessSection .header { + font-size: 12px; + font-weight: bold; + margin-top: 5px; +} + +#PlaceAccessPrivileges .AccessSection .subtext { + font-size: 11px; + color: #888; + font-style: italic; + font-weight: normal; +} + +#PlaceAccessPrivileges .AccessSection .main { + font-size: 12px; + margin-top: 8px; +} + +#PlaceAccessPrivileges .AccessSection select { + width: 150px; +} + +#PlaceAccessPrivileges .divider { + background-color: #ccc; + height: 1px; + margin-bottom: 12px; +} + +/* ~/CSS/Base/CSS/Place.css */ +.ItemPurchaseAjaxContainer .TicketsPurchasePanel, +.GamePassContainer .RobuxPurchasePanel { + text-align: center; + margin-left: 5px; + float: left; +} + +.ItemPurchaseAjaxContainer .PurchaseModalMessageText { + padding-left: 10px; +} + +.ItemPurchaseAjaxContainer span.Free { + color: #080; + font-weight: bold; +} + +.PlacePagePagersItem.template { + display: none; +} + +.PlacePagePagersItem .roblox-item-image { + float: left; + width: 75px; + height: 75px; + margin-right: 5px; +} + +.PlacePagePagersItem .original-image { + height: 75px; + width: 75px; +} + +.PlacePagePagersItem .InfoContainer { + float: left; + font-size: 11px; + height: 85px; + position: relative; + margin-left: 5px; +} + +#GamePassesItemContainer .PlacePagePagersItem .InfoContainer { + height: 95px; +} + +.PlacePagePagersItem .InfoContainer .GreenBuyNowSharpBtn.small.rentable, +.PlacePagePagersItem .InfoContainer .GreenBuyNowSharpBtn.small { + display: block; + position: absolute; + bottom: 0; +} + +.PlacePagePagersItem .InfoContainer a, +.PlaceProductPromotionItem .InfoContainer .TotalSales { + font-weight: bold; +} + +.PlacePagePagersItem .InfoContainer .label { + color: #666; +} + +.PlacePagePagersItem { + width: 32%; + margin-right: 1%; + float: left; + text-align: left; +} + +.PlacePagePagersItem .NameDiv { + width: 100px; + max-height: 30px; + overflow: hidden; +} + +.PlacePagePagersItem .prices-div { + height: 41px; +} + +.PlacePagePagersItem .UserOwns { + display: none; +} + +.PlaceProductPromotionsContainer h3, +.GamePassesDisplayContainer h3 { + margin-bottom: 20px; + text-align: left; +} + +.PlaceProductPromotionsContainer, +.GamePassesDisplayContainer { + width: 720px; + text-align: left; +} + +.PlaceProductPromotionItem { + position: relative; +} + +.PlaceProductPromotionItem .DeleteProductPromotion { + height: 13px; + width: 13px; + display: block; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-x-sm.png') top left no-repeat; + position: absolute; + z-index: 2; + left: 55px; + top: 5px; +} + +#DeleteProductPromotionModal .PurchaseModalMessage { + height: auto; +} + +.PlaceProductPromotionItem .DeleteProductPromotion:hover { + background-position: bottom left; + cursor: pointer; +} + +.GamePassesDisplayContainer { + margin-bottom: 30px; +} + +#GamePassesItemContainer .Robux, +#GamePassesItemContainer .Tickets, +#GamePassesItemContainer .Free { + display: none; +} + +#PromotionsItemContainer, +#GamePassesItemContainer { + height: 95px; + overflow: hidden; +} + +#PromotionsItemContainer.empty, +#GamePassesItemContainer.empty { + height: inherit; +} + +.PromotionsItemContainer.empty.template, +.GamePassesItemContainer.empty.template { + display: none; +} + +#PromotionsItemContainer .loading, +#GamePassesItemContainer .loading { + height: 95px; + width: 100%; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') no-repeat center; +} + +.PlaceProductPromotionsContainer .divider-bottom, +.GamePassesDisplayContainer .divider-bottom { + height: 10px; + width: 720px; + margin-top: 0; + display: block; + clear: left; + margin-bottom: 10px; +} + +.GuestPlayAvatarImage { + border: solid 3px green; +} + +.GuestPlayAvatarImage:Hover { + border: solid 3px #0C0; +} + +#ConfigurePlaceContainer { + background-color: #eee; + border: solid 1px #000; + color: #555; + margin: 0 auto; + width: 620px; +} + +#ConfigurePlaceContainer h2 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-size: x-large; + margin: 0; + text-align: center; +} + +#ConfigurePlaceContainer fieldset { + font-size: 1.2em; + margin: 0; +} + +#ConfigurePlaceContainer #PlaceName { + margin: 0 auto; + margin-top: 10px; + padding: 0; + text-align: left; + width: 420px; +} + +#ConfigurePlaceContainer #PlaceThumbnail { + border: solid 1px #555; + height: 230px; + margin: 0 auto; + margin-top: 10px; + padding: 0; + text-align: left; + width: 420px; +} + +#ConfigurePlaceContainer #PlaceDescription { + margin: 0 auto; + margin-top: 10px; + padding: 0; + text-align: left; + width: 420px; +} + +#ConfigurePlaceContainer #PlaceAccess, +#ConfigurePlaceContainer #PlaceCopyProtection, +#ConfigurePlaceContainer #Comments, +#ConfigurePlaceContainer #PlaceIsDefault, +#ConfigurePlaceContainer #PlaceReset, +#ConfigurePlaceContainer #AllowGear, +#ConfigurePlaceContainer #SetGenres, +#ConfigurePlaceContainer #PlaceBuildAccess { + margin: 0 auto; + margin-top: 10px; + width: 420px; +} + +#ConfigurePlaceContainer .PlaceAccessRow, +#ConfigurePlaceContainer .CopyProtectionRow, +#ConfigurePlaceContainer .EnableCommentsRow, +#ConfigurePlaceContainer .PlaceIsDefaultRow, +.MyItemIndentedOption { + font-size: .9em; + margin: 10px 0 10px 100px; +} + +#ConfigurePlaceContainer .ResetPlaceRow { + font-size: .9em; + margin: 10px 0; + text-align: center; +} + +#ConfigurePlaceContainer .ResetPlaceRow .Button { + margin: 0 auto; +} + +#ConfigurePlaceContainer .Buttons { + margin: 0 auto; + margin-top: 10px; + margin-bottom: 10px; + text-align: center; +} + +#ConfigurePlaceContainer .Button { + border-color: #555; + color: #555; + cursor: pointer; +} + +#ConfigurePlaceContainer .Button:hover { + background-color: #6e99c9; + color: #fff; +} + +#ConfigurePlaceContainer .Label { + font-size: 1.2em; + margin: 0; + padding: 0; +} + +#ConfigurePlaceContainer .TextBox { + margin: 0; + padding: 5px 10px; + width: 400px; +} + +#ConfigurePlaceContainer .MultilineTextBox { + margin: 0; + padding: 5px 10px; + width: 400px; +} + +#ConfigurePlaceContainer .Suggestion { + font: normal .8em/normal Verdana, sans-serif; + padding-left: 9px; +} + +#ConfigurePlaceContainer .popupControl { + border-color: #000; +} + +#ConfigurePlaceContainer .PopUpOption { + font: normal .8em/normal Verdana, sans-serif; + padding: 4px; +} + +#ConfigurePlaceContainer .PopUpInstruction { + font: normal 1.1em/normal Verdana, sans-serif; + padding: 4px; + text-align: center; +} + +#Place_PlacePanel { + float: left; + width: 490px; + margin-right: 10px; +} + +#Place_AuthorPanel { + float: left; + width: 200px; +} + +#Place_GamesPanel { + margin-top: 10px; + width: 700px; + clear: left; +} + +#ConfigureShowcase { + font-family: Verdana, sans-serif; +} + +#ConfigureShowcase h2 { + font-size: 2.5em; + font-weight: normal; + line-height: 1em; + margin: 0; + padding: 0; +} + +#ConfigureShowcase .CallbackStyle { + border: thin blue inset; +} + +#ConfigureShowcase .DragHandle { + width: 161px; + height: 101px; + cursor: move; + border: outset 1px white; +} + +#ConfigureShowcase .ItemArea { + float: left; + font-size: 1.2em; + height: 82px; + padding: 10px; + text-align: left; + width: 500px; +} + +#ConfigureShowcase .ActionsArea { + float: left; + font-weight: bold; + height: 82px; + padding: 10px; + text-align: right; + width: 155px; +} + +#ConfigureShowcase .ReorderCue { + border: dashed thin black; + width: 100%; + height: 101px; +} + +#ConfigureShowcase ul, +#ConfigureShowcase ol { + margin: 0; +} + +#ConfigureShowcase li { + background: #EEE; + border: solid 1px #000; + color: #000; + list-style: none; + margin: 3px 0; + width: 100%; +} + +#ConfigureShowcase blockquote li { + border-style: none; + list-style-type: circle; + margin-left: 20px; +} + +.ABGuestPlayAvatarImage { + padding-top: 5px; +} + +.ABImageSelected { + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/img-check.png) no-repeat; + position: absolute; + height: 35px; + width: 33px; + right: -3px; + top: -7px; +} + +.ABCloseCircle { + cursor: pointer; + position: absolute; + top: -10px; + right: -10px; +} + +.ABPopUp { + background-color: #fff; + width: 516px; + height: 470px; + font-family: Arial, Sans-Serif; +} + +.ABPopUpHeader { + height: 30px; + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/bg-gutter.png) repeat-x; + font: 9px Arial; + color: #404040; + text-decoration: none; +} + +.CurvedBanner { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t1.png) no-repeat left top; + display: inline-block; + float: left; + position: relative; + height: 28px; + width: 3px; + top: 0; + margin-left: 4px; +} + +.HeaderBanner { + margin: 0; + top: 0; + float: left; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t2.png) no-repeat scroll right top transparent; + display: inline-block; + height: 28px; + padding: 6px 0 0 4px; + width: 128px; +} + +.HeaderBanner a { + color: #fff; + height: 18px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/btn_blue18h.png) repeat-x; + background-position: 0 0; + margin: 0 5px; + font-weight: bold; + font-size: 10px; + padding: 2px 5px; + cursor: pointer; +} + +.HeaderBanner a:hover { + color: #fff; + background-position: 0 -18px; + text-decoration: none; +} + +.ABPopUpBody { + height: 300px; + text-align: center; + padding: 30px 40px 30px 40px; + position: relative; +} + +.BodyHeaderText { + font: bold 18px Arial; + display: inline-block; + padding-bottom: 15px; +} + +.Avatars { + height: 125px; + width: 115px; + position: relative; + cursor: pointer; +} + +.Avatars span { + font: bold 14px Arial; +} + +.UnselectedAvatar { + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/bg-character.png) no-repeat top center; +} + +.SelectedAvatar, +.UnselectedAvatar:hover { + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/bg-character.png) no-repeat center bottom; +} + +.ABPopUpFooter { + height: 79px; + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/bg-gutter.png) repeat-x; + padding: 0 10px 0 10px; +} + +.SecureImgs { + margin-top: 7px; + background: #fff; + float: left; + border: 1px solid #404040; + font: 13px Arial; + color: #404040; + text-align: center; + width: 220px; + padding: 5px; +} + +.ABPopUpFooter .SecureImgs span { + display: inline-block; + padding-bottom: 10px; +} + +.ABPopUpFooter a, +.ABPopUpFooter a:hover { + text-decoration: none; +} + +.Message { + margin-top: 12px; + float: right; + width: 200px; + font: 12px Arial; + color: #404040; + text-align: left; + padding: 0; +} + +.ABDownloadButton, +.ABPlayButton { + width: 300px; + margin: auto; + margin-top: 60px; + cursor: pointer; + height: 54px; +} + +.ABDownloadButton { + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn-download.png) no-repeat top center; +} + +.ABPlayButton { + background: transparent url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn-play.png) no-repeat top center; +} + +.ABPlayButton:hover, +.ABDownloadButton:hover { + background-position: center bottom; +} + +#DownloadText { + font: 13px Arial; + color: #404040; + display: inline-block; + padding-top: 3px; +} + +/* ~/CSS/Base/CSS/PlaceItem.css */ +.GamePassesDisplayContainer .robux, +.GamePassesDisplayContainer .tickets { + display: none; +} + +#DeleteProductPromotionModal .thumbs-up-green { + width: 110px; + height: 110px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/thumbs_up.png') no-repeat; + display: block; +} + +.PurchaseModalMessage.SuccessMsg { + padding: 30px 20px 20px 20px; + height: auto; +} + +#DeleteProductPromotionModal .thumbs-up-green { + width: 110px; + height: 110px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/thumbs_up.png') no-repeat; + display: block; +} + +.AbuseReportTemplate { + display: none; +} + +#ItemContainer.PlaceItemContainer { + margin-top: 10px; +} + +#ItemContainer.PlaceItemContainer span.robux, +.PurchaseModal span.robux, +#ItemContainer.PlaceItemContainer span.tickets, +.PurchaseModal span.tickets, +#ItemContainer.PlaceItemContainer span.robux-text, +.PurchaseModal span.robux-text { + margin-bottom: 2px; +} + +#ItemContainer.PlaceItemContainer.PlaceItemContainer #Summary { + border: none !important; + background: none !important; + background-color: #fff; + border: dashed 1px #555; + display: inline; + float: right; + padding: 7px; + width: 235px; + font-size: 11px; +} + +#ItemContainer.PlaceItemContainer.PlaceItemContainer .item-header { + color: #000; + font: bold 18px Arial, Helvetica, Sans-Serif; + padding-bottom: 5px; +} + +.PlaceItemContainer #Actions_Place { + border: none !important; + background: none !important; + float: right !important; + text-align: right !important; + width: auto !important; + padding: 0 !important; +} + +.PlaceItemContainer .PlayGames { + border: none !important; + background: none !important; +} + +#ItemContainer.PlaceItemContainer #Item.PlaceItem { + float: left; + width: 709px; +} + +.PlaceItem { + font-family: Arial, Sans-Serif; + padding: 0 5px !important; +} + +#ItemContainer.PlaceItemContainer #Thumbnail_Place { + border: solid 1px #eee; + padding: 0; + text-align: left; + min-width: 0; + width: 420px; +} + +#ItemContainer.PlaceItemContainer #Actions, +#ItemContainer.PlaceItemContainer #Actions_Place { + background-color: #fff; + min-width: 0; + overflow: hidden; + top: 420px; + width: 408px; + padding: 5px; + text-align: left; +} + +#ItemContainer.PlaceItemContainer #Actions { + padding: 5px; + text-align: left; + width: 230px; +} + +.AddRemoveFavorite { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/favoriteStar_20h.png) no-repeat 0 -20px; + margin: 0; + display: inline-block; + position: relative; + top: 3px; + *display: inline; + *zoom: 1; + padding-top: 4px; + padding-left: 25px; + height: 18px; +} + +.AddRemoveFavorite:hover, +.AddRemoveFavorite.Favorited { + background-position: 0 0; +} + +.PlaceItemContainer #Summary .SummaryDetails { + width: 270px; + float: left; + margin: 0 20px 5px 20px; + padding-bottom: 40px; + position: relative; + min-height: 249px; + *z-index: 1; +} + +#GenresDiv .label { + margin: 0; +} + +#ItemContainer.PlaceItemContainer #Summary #Creator { + float: left; +} + +#ItemContainer.PlaceItemContainer #Summary .Description { + font-weight: normal; + line-height: normal; + max-height: none; + line-height: 1.5em; + padding: 0; + overflow-x: hidden; + text-align: left; +} + +#ItemContainer.PlaceItemContainer #Summary .Description a:hover { + cursor: pointer; +} + +#ItemContainer.PlaceItemContainer #Summary #ReportAbuse { + margin: 0 auto; + padding: 4px; + text-align: center; +} + +.OwnerPlaceActionPanel { + position: absolute; + text-align: right; + width: 250px; +} + +.OwnerPlaceAction { + height: 20px; + margin-top: 5px; +} + +.PlaceItemHR { + background-color: #848484; + border: 0; + color: #848484; + height: 1px; + margin-left: 0; + margin-top: 0; +} + +#ItemContainer.PlaceItemContainer .PlayGames { + background-color: #ccc; + border: dashed 1px Green; + color: Green; + margin-top: 10px; + padding: 10px 5px; + text-align: center; + width: 408px; +} + +#ItemContainer.PlaceItemContainer .BadgeStats { + width: 720px; + padding: 10px 0; +} + +#ItemContainer.PlaceItemContainer .RunningGames { + background-color: #ccc; + border: dashed 1px #555; + color: #555; + margin-top: 10px; + padding: 10px 5px; + text-align: center; + width: 408px; +} + +#ItemContainer.PlaceItemContainer .GameInstances { + background-color: #fff; + border: solid 1px #000; + color: #555; + width: 408px; +} + +#ItemContainer.PlaceItemContainer .RefreshRunningGames { + margin: 10px 0; + text-align: center; +} + +#ItemContainer.PlaceItemContainer .PlayGames .Button { + background-color: #fff; +} + +#ItemContainer.PlaceItemContainer .PlayGames .Button:Hover { + background-color: #fff; + border: solid 1px Green; + color: Green; +} + +.SummaryDetails .Avatar { + padding: 0 0 8px 0; +} + +.GroupBuildRunningGameItem { + border: solid 2px #50F; +} + +.VisitButton, +.VisitButtonDisabled { + display: inline; + width: 10px; +} + +.VisitButtonSoloPlay, +.VisitButtonBuild, +.VisitButtonEdit { + margin-left: 8px; + height: 50px; +} + +.VisitButtonDisabled { + opacity: .5; + filter: alpha(opacity=50); +} + +.MultiplayerVisit, +.MultiplayerVisitDisabled { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Play.png); + width: 250px; + height: 48px; +} + +.MultiplayerVisitDisabled { + cursor: default; + display: none; +} + +.SoloVisit { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/PlaySolo.png); + width: 143px; + height: 48px; +} + +.SoloVisitText { + display: none; +} + +.BuildSolo { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/BuildSolo2.png); + width: 143px; + height: 48px; +} + +div.VisitButtonsRight a.BuildSolo { + float: left; + margin-top: 3px; +} + +.EditButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/EditMode2.png); + width: 143px; + height: 48px; + float: left; + margin-top: 10px; + margin-bottom: 10px; + display: inline; +} + +.PersonalServerAccessDenied { + color: red; + line-height: 1.5em; + text-align: left; + margin: 15px 0; +} + +.PlaceInfoIcons { + text-align: center; +} + +.iPublic, +.iLocked, +.iUnlocked, +.SharedIcon, +.CopyLockedIcon, +.AllGearIcon, +.GenreGearIcon, +.NoGearIcon { + display: inline-block; + width: 16px; + height: 16px; +} + +.iPublic { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/public.png); +} + +.iLocked { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/locked.png); +} + +.iUnlocked { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/unlocked.png); +} + +.SharedIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Shared.png); +} + +.CopyLockedIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/CopyLocked.png); +} + +.AllGearIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Suitcase16x16.png); +} + +.GenreGearIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GenreSuitcase16x16.png); +} + +.NoGearIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/NoSuitcase16x16.png); +} + +#BadgeStatsHeader, +#PassStatsHeader { + color: #666; + font: bold 13px Arial, Helvetica, Sans-Serif; + padding-left: 5px; +} + +.BadgeStatsHR { + margin-left: 0; + *margin-left: -10px; + width: 708px; +} + +#BadgeStats, +#PassStats { + width: 708px; +} + +.PlaceItemContainer .BadgeStatsHR { + width: 720px; +} + +.PlaceItemContainer #BadgeStats, +.PlaceItemContainer #PassStats { + width: 720px; +} + +#BadgeStats .BadgeTable, +#PassStats .BadgeTable { + border: 0; + border-spacing: 0; + font: normal 12px arial, helvetica, sans-serif; + width: 100%; +} + +#BadgeStats .BadgeTable a, +#PassStats .BadgeTable a { + color: #496780; +} + +#BadgeStats .BadgeRow, +#BadgeStats .AlternatingBadgeRow, +#PassStats .BadgeRow, +#PassStats .AlternatingBadgeRow { + height: 100px; +} + +#BadgeStats .AlternatingBadgeRow, +#PassStats .AlternatingBadgeRow { + background-color: #eee; + color: #000; +} + +#BadgeStats .BadgeIconColumn, +#PassStats .BadgeIconColumn { + text-align: center; + width: 100px; +} + +#BadgeStats .BadgeDescriptionColumn, +#PassStats .BadgeDescriptionColumn { + width: 60%; + padding-right: 50px; + padding-left: 5px; +} + +#BadgeStats .BadgeStatsColumn, +#PassStats .BadgeStatsColumn { + width: 26%; + padding-left: 5px; +} + +#BadgeStats .BadgeEmptyTableColumn, +#PassStats .BadgeEmptyTableColumn { + width: 100%; +} + +#BadgesShowContainer, +#PassesShowContainer { + text-align: center; + margin-top: 5px; + font: bold 12px Arial, Helvetica, sans-serif; +} + +#BadgesShowMore, +#PassesShowMore { + cursor: pointer; +} + +div.BadgeStats .divider-bottom { + margin-bottom: 10px; +} + +#GamePassesPagerContainer { + margin-top: 10px; +} + +.PlaceItemContainer .GamePassContainer .template { + display: none; +} + +.PlaceItemContainer .GamePassContainer .roblox-item-image img { + width: 75px; + height: 75px; +} + +#GamePassContainer #RobuxPurchaseDisabledPanel { + display: none; +} + +.GamePassContainer .PublicDomainPurchasePanel { + float: left; + margin-left: 5px; +} + +.GamePassContainer .PublicDomainPrice { + text-align: center; +} + +.section { + padding: 8px 0 0 0; +} + +#Summary .item-detail { + float: left; + padding-left: 5px; +} + +#placeContainer { + float: left; + width: 420px; + overflow: hidden; +} + +.groupBuildingGameText { + font-weight: bold; + font-style: italic; + line-height: 24px; +} + +h3.RecommendationHeader2 { + padding-left: 5px; + padding-top: 5px; + width: 100%; +} + +h3.RecommendationHeader2 a { + margin-left: 13px; +} + +.WideAspectRatio { + font: bold 11px Arial, Helvetica, Sans-Serif; + padding: 0 7px; + width: 160px !important; +} + +.WideAspectRatio .AssetThumbnail { + background-color: #FFF; + border: 1px #000; + height: 100px; + width: 160px; +} + +.WideAspectRatio .AssetDetails { + overflow: hidden; + padding: 5px; + height: 90px; + width: 158px; +} + +.WideAspectRatio .AssetName a { + line-height: 1.5em; + vertical-align: top; +} + +.DescriptionSeeMore { + cursor: pointer; +} + +.SignupButtonBlue, +.SignupButtonBlue:hover { + width: 120px; + height: 50px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-sign_up-blue-lg.png) no-repeat top; + margin: 0 auto; +} + +.SignupButtonBlue:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-sign_up-blue-lg.png) no-repeat bottom; +} + +#ItemContainer.PlaceItemContainer #Summary { + padding: 0; + margin-bottom: 20px; + *width: 480px; + float: left; +} + +.PlaceItemContainer .fblike { + margin-left: 0; +} + +.Description.Full { + white-space: pre; +} + +.Description.body { + white-space: pre-line; + *white-space: pre; + max-height: 200px; + overflow-x: hidden; +} + +#ItemContainer.PlaceItemContainer #Thumbnail { + border: none; +} + +#ItemContainer.PlaceItemContainer #Summary .label { + color: #666; + margin: 0; +} + +/* ~/CSS/Base/CSS/PlaceLauncher.css */ +.PlaceLauncherStatus { + color: #333; + display: none; + font-size: 16px; + font-weight: bolder; + line-height: 19px; +} + +.PlaceLauncherStatusBackBuffer { + position: relative; + display: none; +} + +.CancelPlaceLauncherButton { + background-color: White; + border: none; + color: Blue; + cursor: pointer; + font-size: 12px; +} + +.CancelPlaceLauncherButton:Hover, +.CancelPlaceLauncherButton:Active { + background-color: White; + border: none; + color: Blue; + cursor: pointer; + text-decoration: underline; +} + +.PlaceLauncherModal { + border: none; + color: Black; + height: 125px; + margin: 1.5em; + padding: 10px; + text-align: center; + width: 360px; +} + +#FeaturedGameButtonContainer, +#FeaturedGameButtonContainerABTest { + border: none; + width: 330px; + height: 267px; +} + +.FeaturedGameButton { + cursor: pointer; + position: absolute; + right: 60px; + top: 28px; +} + +.FeaturedGameButton.International, +.FeaturedGameButton.International:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/StyleGuide/I18N_play_now.png) top; + height: 214px; + width: 215px; + cursor: pointer; +} + +.FeaturedGameButton.International:hover { + background-position: bottom; +} + +.FeaturedGameButtonABTest, +.FeaturedGameButtonABTest:hover { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/playRoblox01.png); + background-position: 0 0; + background-repeat: no-repeat; + position: absolute; + top: 20px; + right: 65px; + height: 214px; + width: 215px; + cursor: pointer; +} + +.FeaturedGameButtonABTest:hover { + background-position: 0 -214px; +} + +.VisitButtonsGuestCharacter { + display: inline-block; + *display: inline; + padding: 10px 5px; + cursor: pointer; +} + +/* ~/CSS/Base/CSS/Profile.css */ +legend span { + color: #777; + line-height: 6px; +} + +#EditProfileContainer { + background-color: #eee; + border: solid 1px #000; + color: #555; + margin: 0 auto; + width: 620px; +} + +#EditProfileContainer h2 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-size: x-large; + margin: 0; + text-align: center; +} + +#EditProfileContainer h3 { + text-align: center; +} + +#EditProfileContainer fieldset { + font-size: 1.2em; + margin: 15px 0 0 0; +} + +#EditProfileContainer .MultilineTextBox { + width: 250px; +} + +#EditProfileContainer .TextBox { + vertical-align: middle; + width: 150px; +} + +#EditProfileContainer .Label { + vertical-align: middle; +} + +#EditProfileContainer #Confirmation { + border: dashed 1px #f00; + background-color: #ccc; + color: #f00; + font-family: Verdana, Sans-Serif; + margin: 0 auto; + margin-top: 10px; + padding: 10px 5px; + text-align: center; + width: 410px; +} + +#EditProfileContainer #AgeGroup, +#EditProfileContainer #ChatMode, +#EditProfileContainer #PrivacyMode, +#EditProfileContainer #ResetPassword, +#EditProfileContainer #Blurb { + margin: 0 auto; + width: 60%; +} + +#EditProfileContainer #EnterEmail { + margin: 0 auto; + width: 60%; + text-align: left; +} + +#EditProfileContainer .Buttons { + margin: 20px 0 20px 0; + text-align: center; +} + +#EditProfileContainer .AgeGroupRow, +#EditProfileContainer .ChatModeRow { + font-size: .9em; + margin: 10px 0 10px 100px; +} + +#EditProfileContainer .ResetPasswordRow { + margin: 10px 0; + text-align: center; +} + +#EditProfileContainer .BlurbRow { + padding: 10px 4px 10px 4px; + text-align: right; +} + +#EditProfileContainer .Legend { + color: Blue; + margin-left: 9px; +} + +#EditProfileContainer .Suggestion { + font: normal .8em/normal Verdana, sans-serif; + padding-left: 9px; +} + +#EditProfileContainer .Validators { + margin-left: 9px; +} + +.GrayButton, +.GrayButton:link, +.GrayButton:visited, +.GrayButton:active { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/bg-form_btn_lg-tile.png) repeat-x top left; + border: 1px solid #777; + padding: 4px 8px 0; + height: 21px; + font: 13px Arial, Helvetica, sans-serif; + color: #000; + text-align: center; + display: block; + float: left; +} + +.GrayButton:hover { + background-position: bottom left; + border-color: #888; + text-decoration: none; +} + +.GrayButton.Disabled { + border: 1px solid #ccc; + color: #a7a7a7; + cursor: default; +} + +.GrayButton.Disabled:hover { + background-position: top left; +} + +.GrayDropdown { + position: relative; + text-align: left; + display: block; + float: left; +} + +.GrayDropdown .Button { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/bg-drop_down_btn.png) no-repeat right top; + border: 1px solid #777; + padding: 4px 17px 0 8px; + height: 21px; + font: 13px Arial, Helvetica, sans-serif; + color: #000; + text-align: center; + display: block; + position: relative; + z-index: 2; +} + +.GrayDropdown .Button:hover { + background-position: right center; + border-color: #888; + text-decoration: none; +} + +.GrayDropdown .Button.Active { + background-position: right bottom; + border-bottom: none; + height: 22px; +} + +.GrayDropdown .Menu { + background-color: #efefef; + border: 1px solid #777; + position: absolute; + top: 26px; + z-index: 1; + font: 12px normal Arial, Helvetica, sans-serif; + width: 100px; + display: none; +} + +.GrayDropdown .Menu .Item { + display: block; + text-decoration: none; + color: #000; + padding: 2px 8px; + margin: 4px 0; + cursor: pointer; +} + +.GrayDropdown .Menu .Item.Disabled { + color: #A7A7A7; +} + +.GrayDropdown .Menu .Item:hover { + background-color: #095fb5; + color: #fff; +} + +.GrayDropdown .Menu .Item.Disabled:hover { + background-color: inherit; + color: #a7a7a7; + cursor: default; +} + +.SendMessageProfileBtnDiv { + position: relative; + display: inline-block; + float: left; +} + +.SendMessageProfileBtnDiv .SuperSafePanel { + left: 7px; +} + +#updateStatusBox .SuperSafePanel { + left: 474px; +} + +.friend-request-button:hover { + cursor: pointer; +} + +.friend-request-button.Disabled:hover { + cursor: default; +} + +/* ~/CSS/Base/CSS/Q.css */ +.FrontPagePanel { + float: left; + border: solid 1px black; + margin: 5px; + background-color: White; +} + +#SignInPane { + border: none; + margin-left: 0; + width: 152px; + height: 250px; +} + +#Movie { + width: 424px; + height: 250px; +} + +#FrontPageRectangleAd { + margin: 5px 0 5px 5px; + width: 300px; + height: 250px; + background-color: Transparent; +} + +#SalesPitch { + margin-left: 0; + width: 586px; + height: 90px; +} + +#WhatsNew { + margin-left: 0; + width: 586px; + height: 280px; +} + +#RandomFacts { + float: right; + margin-right: 0; + width: 300px; + height: 150px; +} + +.RandomFactoid { + text-align: center; + height: 32px; + width: 290px; + padding: 2px; + overflow: hidden; +} + +#marqueecontainer { + position: relative; + width: 300px; + height: 100px; + background-color: white; + overflow: hidden; +} + +.RandomFactoid img { + float: left; +} + +#ParentsCorner { + margin-right: 0; + width: 300px; + height: 220px; + _height: 240px; +} + +#ParentsCorner #Inside { + padding: 10px; +} + +.ShieldImage { + float: left; + padding: 5px; +} + +.TrusteeSeal { + float: left; + width: 140px; + padding: 5px; +} + +#NewsFeeder { + margin-right: 0; + width: 158px; +} + +#FrontPageBannerAd { + margin-left: 0; + width: 728px; + height: 90px; + background-color: Transparent; +} + +.BadAdButton { + border: 0; + font-size: .8em; + z-index: 100; + font-family: Verdana; + padding: 0; + position: relative; + text-align: center; + height: 8px; + top: -1px; + right: 0; +} + +.BadAdButton:hover { + border: solid 1px #000; + text-decoration: none; +} + +/* ~/CSS/Base/CSS/RevisedCharacterSelectModal.css */ +.Revised .VisitButtonGirlGuest, +.Revised .VisitButtonBoyGuest, +.Revised .VisitButtonGirlGuest:hover, +.Revised .VisitButtonBoyGuest:hover { + width: 180px; + background-repeat: no-repeat; + height: 228px; + display: inline-block; + padding: 0; +} + +.Revised .VisitButtonGirlGuest { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/AB-female_character.jpg); + background-position: center; +} + +.Revised .VisitButtonBoyGuest { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/AB-male_character.jpg); + background-position: center; + margin-right: 25px; +} + +.Revised .VisitButtonGirlGuest:hover { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/AB-female_character.jpg); + background-position: bottom; +} + +.Revised .VisitButtonBoyGuest:hover { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/AB-male_character.jpg); + background-position: bottom; + margin-right: 25px; +} + +.Revised .Title { + text-align: center; + color: #333; + font-size: 24px; + font-weight: bold; + padding: 5px 0; +} + +.RevisedCharacterSelectBody { + background-color: #fff; + padding: 10px; +} + +.RevisedCharacterSelectSignup { + width: 72px; + height: 20px; + float: left; +} + +.RevisedCharacterSelectSignup { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/sign_up_small.png); + background-position: top; +} + +.RevisedCharacterSelectSignup:hover { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/sign_up_small.png); + background-position: bottom; +} + +.Revised .HaveAccount { + float: right; + color: #095fb5; + font-family: Arial; + font-size: 14px; + cursor: pointer; +} + +.Revised.GuestModePromptModal { + width: 475px; + border: 2px solid #333; + padding: 0 5px 5px 5px; + background-color: #e1e1e1; +} + +.RevisedFooter { + height: 38px; + width: 90%; + margin: 0 auto; + border-top: 1px solid #e1e1e1; + text-align: center; +} + +/* ~/CSS/Base/CSS/Sets.css */ +textarea { + resize: none; +} + +#MySets_Tab, +#SubscribedSets_Tab { + float: left; +} + +#SetsContainer { + margin: 15px; +} + +#SetsPane { + position: relative; + top: -1px; + clear: both; + min-height: 300px; +} + +#SetsPane.StandardBox { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/standardBox_01_bkg.png) top repeat-x white; +} + +#SetInfoPane { + float: left; + margin: 5px 5px 20px 5px; + *margin: 5px 5px 10px 5px; + width: 775px; + position: relative; +} + +#SetIconIMG { + margin: 1px; +} + +#DeleteUnsubscribe_delete, +#DeleteUnsubscribe_unsubscribe, +#Edit_button, +#SortButtonDiv, +.setspage_subscribe_btn { + float: left; + margin-right: 3px; + top: 0; +} + +#SetsPane #DeleteUnsubscribe_delete a:hover, +#SetsPane #DeleteUnsubscribe_unsubscribe a:hover, +#SortButtonDiv a:hover, +.setspage_subscribe_btn a:hover { + cursor: pointer; +} + +.setspage_subscribe_btn { + top: 4px; +} + +.ReportAbusePanel { + float: right; + clear: right; + margin: 8px; +} + +.SetNameLong { + padding: 0; + padding-bottom: 5px; + float: left; +} + +#SetInfoPane .SetIcon { + float: left; +} + +#SetInfoPane .SetInfo { + float: left; + padding-left: 10px; +} + +#SetSubscribersOwner { + clear: left; +} + +#EditDeleteSubscribe_Container { + margin: 3px 1px; +} + +#EditDeleteSubscribe_Container .button-container { + clear: left; +} + +.DisplaySetInfo { + float: left; + width: 604px; +} + +#SelectedSetDescription { + float: left; + clear: left; + padding: 5px; + padding-left: 0; + width: 500px; + overflow: hidden; + word-wrap: break-word; +} + +#SetsList { + overflow: auto; + margin-top: 5px; +} + +#SetsContainer .divider-left { + float: left; + width: 785px; +} + +#AssetSetItems { + min-height: 300px; + text-align: center; + position: relative; + clear: both; +} + +#SetsListContainer { + float: left; + width: 150px; + position: relative; +} + +.content.left { + float: left; + width: 95px; +} + +.content.right { + float: left; + width: 480px; + padding: 0 5px; +} + +.content.right input, +.content.right textarea { + width: 100%; +} + +.content.right textarea { + height: 50px; +} + +.SetList-Set { + margin: 0; + list-style-type: none; + width: 100%; + overflow: hidden; + padding-bottom: 5px; + height: 35px; +} + +.SetList-Set:hover { + cursor: pointer; +} + +.SetList-SetContainer { + clear: both; + padding: 5px 13px; + position: relative; +} + +.SetList-SetContainer img { + margin-right: 5px; + background-color: #fff; +} + +.SetList-SetContainer div { + float: left; +} + +.SetList-SetContainer .name { + text-decoration: none; + text-align: left; + float: left; + position: relative; + top: 6px; + width: 85px; +} + +.SetList-SetContainer .name a:hover { + text-decoration: none; +} + +.SetList-Set.selected { + background-color: #EFEFEF; + border-top: 1px solid #CCC; + border-bottom: 1px solid #CCC; + font-weight: bold; +} + +.SetList-Set:hover { + background-color: #EFEFEF; +} + +#SetsList ul { + margin: 0; + padding: 0; +} + +#CreateFind_Button { + float: right; +} + +#HasNoSubscribedSetsPanel, +#HasNoOwnedSetsPanel { + text-align: center; + width: 100%; +} + +#SetUrlDiv { + text-align: center; + padding: 15px; +} + +.editSetPanelPopup { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; +} + +.editSetPanelPopup .mask { + background: #000; + -moz-opacity: .50; + filter: alpha(opacity=50); + opacity: .50; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; +} + +.Paging_Input { + width: 20px; + text-align: center; +} + +#editSetContainerDiv .sort-msg { + width: 100%; + clear: both; + text-align: center; + position: relative; + top: 20px; +} + +.ButtonDiv { + text-align: right; + float: left; + position: relative; +} + +.ButtonDiv.bottom { + float: none; + text-align: center; +} + +#MoreDescButton:hover { + cursor: pointer; +} + +#PagingContainerDivTop, +#PagingContainerDivBottom { + text-align: center; + margin: 5px 0 0 0; +} + +#PagingContainerDivBottom { + margin: 5px 0 5px 0; +} + +#PagingContainerDivTop div, +#PagingContainerDivBottom div { + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; +} + +.PagingContainerDivTop { + text-align: center; + margin: 5px 0 0 0; +} + +.PagingContainerDivTop div { + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; +} + +.paging_pagenums_container a { + padding: 0 3px; +} + +#AssetSetItems .item { + width: 115px; + height: 140px; + float: left; + margin: 10px; + border: 1px solid #E5E5E5; + position: relative; + text-align: center; + z-index: 500; +} + +.item .link_container { + overflow: hidden; + width: 110px; + height: 140px; + display: inline-block; +} + +#AssetSetItems .setitem_options { + position: absolute; + top: 2px; + right: 2px; + display: none; + height: 20px; + width: 20px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Sets/btn-gear_sprite.png') left -1px; +} + +#AssetSetItems .setitem_options:hover { + background-position: left bottom; + cursor: pointer; + display: none; +} + +#AssetSetItems .setitem_options:hover { + display: block; +} + +#AssetSetItems .item:hover .setitem_options, +#AssetSetItems .setitem_options.true, +#AssetSetItems .setitem_options.true2 { + display: block; +} + +.setitem_options .spacer { + position: absolute; + top: 0; + right: -2px; + width: 115px; + height: 75px; + display: none; + background: #fff; + opacity: 0; + -ms-filter: “alpha(opacity=0)”; + filter: alpha(opacity=0); + -khtml-opacity: 0; + -moz-opacity: 0; +} + +.setitem_options .container.outer { + position: absolute; + top: 20px; + right: -2px; + width: 115px; + overflow: hidden; + display: none; +} + +.setitem_options .container.inner { + position: relative; + text-align: left; + border: 1px solid #aaa; + background-color: #fff; + top: -75px; + font-size: 11px; +} + +#AssetSetItems .item:hover { + background-color: #F5F5F5; + border-color: #C2C2C2; +} + +#AssetSetItems .link_container.handle:hover { + cursor: move; +} + +#AssetSetItems .item a { + text-decoration: none; +} + +#AssetSetItems .item img { + width: 100px; + height: 100px; + margin-top: 8px; +} + +.newversion_banner { + height: 14px; + width: 93px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Sets/update_available.png') top left no-repeat; + position: absolute; + top: 5px; + left: 3px; +} + +.NewVersionDropDown { + position: absolute; + border: 1px solid gray; + background-color: #fff; + display: none; + width: 113px; + z-index: 900; +} + +.NewVersionDropDownItem { + display: block; + cursor: pointer; + width: 100%; + padding: 2px; +} + +.NewVersionDropDownItem:hover { + background-color: #6e99c9; +} + +.SetsPagePopupContainer .PurchaseModalMessage { + height: auto; +} + +.SetsPagePopupContainer p { + margin: 0; + padding: 0; + margin-top: 10px; +} + +.SetsPagePopupContainer textarea { + width: 408px; + height: 100px; + resize: none; +} + +.CreateEditSetTitle, +.MoveItemModalTitle { + text-align: center; + font-size: 16px; + font-weight: bold; + padding: 10px 10px 0 10px; +} + +.moveItemContainerDiv { + text-align: center; + width: 380px; + padding: 20px 10px; + float: left; +} + +#SetsPane .loading { + width: 788px; + height: 99%; + position: absolute; + top: 0; + left: 0; + background-color: white; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') center no-repeat #fff; + margin: 5px; + z-index: 5000; + opacity: .75; + -ms-filter: “alpha(opacity=75)”; + filter: alpha(opacity=75); + -khtml-opacity: .75; + -moz-opacity: .75; +} + +#SetsList.CarouselPager .arrow-prev, +#SetsList.CarouselPager .arrow-next { + display: none; +} + +#SetsContainer .StandardPanelWhite { + padding-top: 0; + background-color: #fff; + width: 100%; + padding-left: 5px; +} + +.ButtonDiv input { + float: left; + margin: 0; + margin-right: 3px; +} + +#SetsContainer .message-container { + margin-bottom: 0; + margin-top: 50px; +} + +/* ~/CSS/Base/CSS/ShadowedStandardBox.css */ +.Centered { + margin-left: auto; + margin-right: auto; +} + +.ShadowedStandardBox { + position: relative; + z-index: 0; + _padding-bottom: 6px; + _overflow-y: hidden; + margin-bottom: 10px; +} + +.ShadowedStandardBox .Header { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/HeaderGradientW800.png) repeat-y top left; + text-align: center; + color: White; + height: 20px; + line-height: 20px; + font-size: 15px; + font-weight: bold; + display: block; + position: relative; + z-index: 0; + white-space: nowrap; +} + +.ShadowedStandardBox .Content { + position: relative; + z-index: 0; + border: 2px solid #6e99c9; + background-color: White; + height: 100%; + _height: 3000px; + padding: 10px 10px 10px 10px; +} + +.Shadow { + display: block; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ShadowAlpha.png) no-repeat bottom right !important; + background: #D3DEFF; + height: 100%; + _height: 3000px; + width: 100%; + position: absolute; + top: 6px; + left: 6px; + z-index: -1; +} + +.ShadowedStandardBox .Button { + cursor: pointer; + background-color: #B6CCE4; + color: #435D77; + text-decoration: none; + border: solid 1px #ccc; + padding: 3px 10px 3px 10px; + font-family: Verdana; + font-size: 10px; + font-weight: bold; + text-align: center; + white-space: nowrap; +} + +.ShadowedStandardBox .Button:link, +.ShadowedStandardBox .Button:visited { + background-color: #B6CCE4; + color: #435D77; + text-decoration: none; +} + +.ShadowedStandardBox .Button:hover, +.ShadowedStandardBox .Button:active { + background-color: #5F84A8; + color: White; + text-decoration: none; +} + +.OutlineBox { + z-index: 0; + position: relative; + margin-top: 16px; + padding-top: 14px; + margin-bottom: 10px; + border: solid 2px #B6CCE4; +} + +.OutlineBox .OB_HeaderPositioner { + z-index: 1; + position: absolute; + top: -16px; + left: 0; + width: 100%; +} + +.OutlineBox .OB_Header { + z-index: 1; + display: block; + width: 90%; + margin-left: auto; + margin-right: auto; + background-color: White; + border: solid 2px #B6CCE4; + text-align: center; + font-size: 18px; + font-weight: bold; + padding: 2px 2px 2px 2px; +} + +.OutlineBox .OB_Content { + padding-top: 5px; +} + +/* ~/CSS/Base/CSS/ShareRoblox.css */ +#InviteAFriendContainer { + margin-top: 10px; +} + +#InviteAFriendContainer h3 { + margin: 0 auto; + padding: 0 0 10px 0; + text-align: left; + width: 700px; +} + +#InviteAFriendContainer #Exposition { + margin: 0 auto; + padding: 0 0 10px 0; + width: 700px; +} + +#InviteAFriendContainer .Button { + border: solid 1px #000; + color: #000; + font-family: Verdana, Sans-Serif; + margin: 0 0 0 10px; + padding: 3px 10px 3px 10px; + text-decoration: none; +} + +#InviteAFriendContainer .MultilineTextBox { + border: 2px solid #CCC; + font-family: Arial, Sans-Serif; + line-height: 1.5em; + padding: 5px 5px 5px 5px; + width: 92%; +} + +#InviteAFriendContainer .TextBox { + border: 2px solid #CCC; + font-family: Arial, Sans-Serif; + padding: 5px 5px 5px 5px; + width: 92%; +} + +#InviteAFriendContainer .Label { + font-weight: bold; +} + +#InviteAFriendContainer #InvitationElements { + margin: 0 auto; + padding: 5px 5px 5px 5px; + width: 688px; +} + +#InviteAFriendContainer #Name, +#InviteAFriendContainer #Recipients, +#InviteAFriendContainer #Message { + margin: 15px 0 0 0; +} + +#InviteAFriendContainer .FormLabel { + float: left; + width: 94px; +} + +#InviteAFriendContainer .FormField { + float: left; + width: 317px; + text-align: left; +} + +#InviteAFriendContainer .FormNotes { + float: right; + font-family: Verdana; + font-size: xx-small; + width: 277px; + text-align: left; +} + +#InviteAFriendContainer #Confirmation h3 { + margin: 0 auto; + text-align: left; + width: 400px; +} + +#InviteAFriendContainer #Confirmation #Message { + border: solid 1px #000; + margin: 0 auto; + padding: 10px 10px 10px 10px; + width: 380px; +} + +#InviteAFriendContainer #Confirmation .Buttons { + margin: 0 auto; + width: 400px; +} + +#ShareRobloxRibbon { + margin: 15px 0; + padding: 3px; + text-align: center; +} + +#ShareRobloxRibbon a { + text-decoration: none; + color: #000; +} + +.ShareRobloxButton { + padding: 4px; + margin: 4px 6px; + border: 3px solid #B2C1D2; + background: #A5D0FF; + color: #000; + cursor: pointer; + font-size: 16px; +} + +.ShareRobloxButtonCurrent { + padding: 4px; + margin: 4px 6px; + border: 3px solid #B2C1D2; + background: #527396; + color: #FFF; + cursor: pointer; + font-size: 16px; + text-decoration: none; +} + +.ShareRobloxButton:hover { + background: #527396; + color: #FFF; +} + +.clearing { + clear: both; +} + +#PleaseUpgradeMeContainer { + margin-top: 10px; +} + +/* ~/CSS/Base/CSS/Signup.css */ +div.Signup { + margin: 0 auto; + color: #666; + float: left; + background: #E1E1E1; + border: 1px solid #BCBCBC; + height: 248px; + width: 260px; + margin-right: 5px; + text-align: center; +} + +div.Signup h2 { + text-align: center; + border-bottom: none; + text-transform: uppercase; + font-family: Arial; + font-size: 16px; + font-weight: bold; + padding-top: 9px; + color: black; +} + +div.Signup .formRow { + float: left; + width: 250px; + padding: 2px 0 6px 13px; +} + +div.Signup .formRow label { + float: left; + padding: 0; + width: 60px; + text-align: left; + font-size: 11px; + color: black; + top: -3px; + position: relative; +} + +div.Signup .formRow input { + float: left; + border: 1px solid #999; + padding: 3px; + width: 140px; +} + +div.Signup .formRow select { + padding: 1px; + margin: 0; +} + +div.Signup .formRadio { + float: left; + width: 158px; + text-align: left; +} + +div.Signup .formRadio input { + width: auto; + float: none; + border: 0; +} + +div.SignupWrapper .formRow .formRadio input { + width: auto; + float: none; + border: 0; +} + +div.Signup .formRadio label { + width: auto; + float: none; + font-size: 12px; +} + +div.Signup .formSelect { + float: left; + width: 185px; + text-align: left; +} + +input#MaleBtn { + margin-left: 0; +} + +input#FemaleBtn { + margin-left: 20px; +} + +.SignupWrapper { + width: 760px; + margin: 0 auto; + font: Arial; +} + +.SignupWrapper .title { + text-align: center; +} + +.SignupWrapper h1 { + font-size: 40px; + font-weight: bold; + color: #363636; + display: block; + letter-spacing: -2px; +} + +.SignupWrapper .SignupBox { + width: 540px; + border-right: 1px solid #ccc; + float: left; + margin-top: 25px; + padding-top: 10px; +} + +.SignupWrapper .LowerRightBox { + float: left; + padding-left: 10px; + width: 190px; + padding-top: 15px; +} + +.SignupWrapper .UpperRightBox { + border-bottom: 1px solid #ccc; + float: left; + width: 175px; + height: 36px; + padding-right: 30px; + padding-left: 10px; + margin-top: 25px; + padding-top: 10px; +} + +.SignupWrapper .loginLink { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/btn-login-gray-small.png); + background-position: top left; + width: 51px; + height: 23px; + cursor: pointer; + float: right; +} + +.SignupWrapper .fbLoginButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/btn-login_with_fb.png); + background-position: top left; + width: 170px; + height: 25px; + cursor: pointer; + display: block; + text-align: center; + margin-top: 10px; +} + +.SignupWrapper .signupMainButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/btn-sign_up-mainpage.png); + background-position: top left; + width: 119px; + height: 50px; + cursor: pointer; + display: block; + margin: 0 auto; +} + +.SignupWrapper .submitMainButton { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/btn-submit.png); + background-position: top left; + width: 134px; + height: 50px; + cursor: pointer; + display: block; + margin: 0 auto; +} + +.SignupWrapper .signupMainButton:hover, +.SignupWrapper .fbLoginButton:hover, +.SignupWrapper .loginLink:hover, +.SignupWrapper .submitMainButton:hover { + background-position: bottom left; +} + +.SignupWrapper .Termsandconditions { + padding-top: 20px; + font-size: 11px; + padding-bottom: 7px; +} + +div.SignupWrapper div.rightFormColumn { + float: left; + width: 350px; +} + +div.SignupWrapper .inputColumn { + float: left; + width: 183px; + text-align: left; +} + +div.SignupWrapper .formRadio { + float: left; + width: 132px; + text-align: left; +} + +div.SignupWrapper .formRow { + float: left; + padding: 2px 0 14px 23px; +} + +div.SignupWrapper .formRow label, +div.NewEmailForm .formRow span.FormTitle { + float: left; + padding: 0; + width: 140px; + text-align: left; + margin-top: 4px; +} + +div.SignupWrapper .formRow input { + width: 170px; + float: left; +} + +div.SignupWrapper .formRow select { + float: left; + margin-left: 0; +} + +div.SignupWrapper .formRadio label { + width: auto; + float: none; + font-size: 12px; + font-weight: normal; +} + +div.SignupWrapper .formSelect { + float: left; + text-align: left; +} + +input#MaleBtn { + margin-left: 0; +} + +input#FemaleBtn { + margin-left: 20px; +} + +div.SignupWrapper .formRow input.newsletterCheck { + width: auto; + margin-right: 10px; + margin-top: 1px; + border: 0; +} + +div.NewEmailForm .formRow span.FormTitle { + width: 100px; +} + +div.NewEmailForm .SignupBox { + width: 477px; + border: none; + float: none; + margin: 0 auto; +} + +div.NewEmailForm .submitMainButton { + float: left; +} + +div.NewEmailForm .noThanksLink { + padding-left: 10px; + top: 18px; + position: relative; + color: #888; +} + +.SignupWrapper #birthdayError { + left: -5px; +} + +.SignupWrapper #genderError { + top: -12px; + left: -2px; +} + +.SignupWrapper #CaptchaContainer { + width: 315px !important; + margin: 0 auto !important; + padding-bottom: 20px; + padding-top: 5px; +} + +div.NewEmailForm #NewsletterCheckText { + font-size: 12px; + font-weight: normal; + padding: inherit; + margin-top: 1px; + width: 300px; +} + +.validation { + float: left; + position: relative; + width: 140px; + height: 14px; +} + +.validator-container { + position: absolute; + width: 180px; + height: 48px; +} + +.validator-tooltip-top, +.validator-tooltip-bottom { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-bubble.png) no-repeat right top; + width: 180px; + height: 3px; +} + +.validator-tooltip-bottom { + background-position: right bottom; +} + +.validator-tooltip-main { + width: 165px; + color: #a00; + font-weight: normal; + font-size: 11px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/bg-bubble.png) no-repeat left center; + padding-left: 15px; +} + +.validator-tooltip-main p { + margin: 0; +} + +/* ~/CSS/Base/CSS/tipsy.css */ +.tipsy { + font-size: 10px; + position: absolute; + padding: 5px; + z-index: 100000; +} + +.tipsy-inner { + background-color: #000; + color: #FFF; + max-width: 200px; + padding: 5px 8px 4px 8px; + text-align: center; +} + +.tipsy-inner { + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} + +.tipsy-arrow { + position: absolute; + width: 0; + height: 0; + line-height: 0; + border: 5px dashed #000; +} + +.tipsy-arrow-n { + border-bottom-color: #000; +} + +.tipsy-arrow-s { + border-top-color: #000; +} + +.tipsy-arrow-e { + border-left-color: #000; +} + +.tipsy-arrow-w { + border-right-color: #000; +} + +.tipsy-n .tipsy-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; +} + +.tipsy-nw .tipsy-arrow { + top: 0; + left: 10px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; +} + +.tipsy-ne .tipsy-arrow { + top: 0; + right: 10px; + border-bottom-style: solid; + border-top: none; + border-left-color: transparent; + border-right-color: transparent; +} + +.tipsy-s .tipsy-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; +} + +.tipsy-sw .tipsy-arrow { + bottom: 0; + left: 10px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; +} + +.tipsy-se .tipsy-arrow { + bottom: 0; + right: 10px; + border-top-style: solid; + border-bottom: none; + border-left-color: transparent; + border-right-color: transparent; +} + +.tipsy-e .tipsy-arrow { + right: 0; + top: 50%; + margin-top: -5px; + border-left-style: solid; + border-right: none; + border-top-color: transparent; + border-bottom-color: transparent; +} + +.tipsy-w .tipsy-arrow { + left: 0; + top: 50%; + margin-top: -5px; + border-right-style: solid; + border-left: none; + border-top-color: transparent; + border-bottom-color: transparent; +} + +/* ~/CSS/Base/CSS/Toolbox.css */ +#NewToolboxContainer { + border: 1px solid #828790; + border-bottom: 0; +} + +#NewToolboxContainer #ToolboxControls { + text-align: left; +} + +#NewToolboxContainer #ToolboxSelector { + padding: 8px 7px 8px; + background-color: #F0F0F0; + height: 20px; + border-bottom: 1px solid #CCC; +} + +#NewToolboxContainer #ToolboxSearch { + height: 19px; + float: left; +} + +#NewToolboxContainer #ToolboxItems { + min-height: 100px; + margin: 10px 2px; +} + +#ToolBoxScrollWrapper { + overflow-y: scroll; + border-bottom: 1px solid #828790; + clear: both; +} + +#NewToolboxContainer #Button { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/IDE/btn-search_glass.png") right no-repeat; + border: solid 1px #A7A7A7; + cursor: pointer; + float: left; + height: 18px; + width: 18px; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/IDE/btn-search_glass.png") right no-repeat; + border-left: 0; +} + +#NewToolboxContainer .Navigation { + font-size: 8pt; + margin: 0 0 5px 5px; + height: 22px; +} + +#ResultStatus { + padding: 2px; + font-size: 11px; + font-family: arial; + margin-left: 5px; +} + +#NewToolboxContainer .Search { + border: solid 1px #A7A7A7; + float: left; + font-family: Arial; + font-size: 12px; + height: 16px; + padding: 1px 2px 1px 2px; + width: 86px; + margin-right: 0; + border-right: 0; + color: black; +} + +#NewToolboxContainer .Page { + font-family: Verdana, Sans-Serif; + margin: 0; +} + +#NewToolboxContainer .Toolboxes { + font-family: Verdana, Sans-Serif; + font-size: 8pt; + height: 20px; + border: 1px solid #A7A7A7; + float: left; + min-width: 135px; +} + +#NewToolboxContainer .ToolboxItem { + height: 64px; + width: 64px; + vertical-align: middle; + margin: 10px; + float: left; +} + +#NewToolboxContainer .SearchError { + clear: both; + margin: 1px; + float: none; + padding: 1px; + text-align: center; + color: Red; + font-size: small; +} + +.toolboxDisplayText { + font: normal normal bold 12px Arial; + color: #444; + float: left; + margin-top: 3px; + margin-right: 5px; +} + +#NewToolboxContainer #SetTabs { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ide/bg-tab-inactive.png"); + color: #fff; + height: 19px; + clear: both; + font-family: Arial; + font-size: 11px; + border-bottom: 1px solid #828790; +} + +#NewToolboxContainer #SetTabs div { + float: left; + padding: 2px 8px 0 6px; + cursor: pointer; + height: 18px; + font: normal normal bold 12px Arial; + border-right: 1px solid #828790; + color: #363636; +} + +#NewToolboxContainer #SetTabs div.Selected { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ide/bg-tab-active.png"); + color: #444; +} + +#NewToolboxContainer #MySets { + margin: 0 4px 0 2px; +} + +#NewToolboxContainer .itemLink { + display: inline-block; + height: 62px; + width: 60px; + cursor: pointer; + border: 1px solid Window; +} + +#NewToolboxContainer .itemLink:hover { + border: solid 1px #ccc; +} + +#NewToolboxContainer .greyText { + color: #888; + font-style: italic; +} + +.filterText { + font-size: 11px; + font-family: arial; + color: #000; + margin-top: 4px; +} + +.searchFilter { + margin: 7px; +} + +.dropdownImg { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/IDE/img-dropdown_arrow.png) no-repeat; + position: absolute; + width: 7px; + display: block; + height: 6px; + top: 7px; + right: 6px; + z-index: 11; +} + +#NewToolboxContainer .SetList a.btn-dropdown, +#NewToolboxContainer a.btn-dropdown-active { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Sets/bg-drop_down_btn.png) no-repeat 0 -3px; + border: solid 1px #A7A7A7; + padding: 2px 16px 0 6px; + height: 16px; + font: normal 11px Arial; + color: #666; + width: 35px; + float: none; +} + +#NewToolboxContainer .SetList a.btn-dropdown:hover { + background-position: 0 -29px; +} + +#NewToolboxContainer .SetList a.btn-dropdown-active { + background-position: 0 -54px; + border-bottom: none; + height: 18px; +} + +#NewToolboxContainer .SetListDropDownList .menu a { + width: 41px; +} + +#NewToolboxContainer .SetListDropDownList .menu { + width: 57px; + border: solid 1px #A7A7A7; +} + +#NewToolboxContainer .SetListDropDown { + *top: -2px; +} + +.hidden { + display: none; +} + +/* ~/CSS/Base/CSS/Trade.css */ +.TradeWindowContainer { + height: 608px; + width: 882px; +} + +.TradeHeader { + margin-left: 15px; + max-height: 20px; + padding: 10px 5px 15px 0; +} + +.TradeTitle { + color: #000; + font-family: Arial; + font-size: 16px; + font-weight: 700; +} + +.TradingPartner { + color: #000; + font-family: Arial; + font-size: 11px; + font-weight: 400; +} + +.MakeTradeButton, +.MakeTradeButton:hover, +.MakeTradeButton.disabled { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/btn-make_trade.png) top; + height: 50px; + width: 179px; + margin: 0 auto; +} + +.MakeTradeButton:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/btn-make_trade.png) bottom; + cursor: pointer; +} + +.OfferList { + min-height: 125px; +} + +.LockImage { + height: 15px; + padding-right: 2px; + width: 15px; +} + +.LockImage.Green { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/img-trade_icon_green_small.png); +} + +.LockImage.Red { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/img-trade_icon_red_small.png); +} + +.OfferItems { + min-height: 68px; + padding-left: 2px; +} + +.OfferHeaderWrapper { + width: 100%; + margin: 0 auto; + padding: 15px 0 5px 5px; +} + +.OfferHeader { + color: black; + font-family: Arial; + font-size: 15px; + font-weight: 700; +} + +.Offer { + background: #e1e1e1; + border: 1px solid #a7a7a7; + display: inline-block; + min-height: 355px; + width: 268px; + margin: 0 0 0 20px; +} + +.ExitText { + color: #000; + cursor: pointer; + float: right; + font-family: Arial; + font-size: 12px; + font-weight: 400; + text-align: right; + *margin-top: -15px; +} + +#ButtonCancel, +#ButtonCancel:hover, +#ButtonYes, +#ButtonYes:hover { + cursor: pointer; + width: 176px; + float: left; + height: 50px; +} + +#ButtonYes, +#ButtonYes:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/yes-gray2.png) top; + margin-right: 10px; + width: 100px; +} + +#ButtonYes:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/yes-gray2.png) bottom; +} + +#ButtonCancel, +#ButtonCancel:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/cancel-blue2.png) top; + width: 101px; +} + +#ButtonCancel:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/cancel-blue2.png) bottom; +} + +.InventoryContainer { + width: 559px; + margin: 0 5px; +} + +.InventoryContainer .InventoryHeaderWrapper { + margin-bottom: 10px; +} + +.InventoryContainer .InventoryHeader { + color: #363636; + font: bold 15px Arial; +} + +.InventoryContainer .InventoryDropDownContainer { + color: #363636; + font: bold 11px Arial; +} + +.InventoryContainer .InventorySmall { + color: #000; + font: normal 11px Arial; +} + +.InventoryContainer .InventoryHandle { + height: 208px; +} + +.InventoryContainer .InventoryRowContainer { + display: block; + height: 250px; + width: 576px; +} + +.InventoryContainer .PagingContainerDivTop { + text-align: center; + padding: 8px 0 12px; +} + +.InventoryContainer .paging_wrapper { + color: #363636; + font-family: Arial; + font-size: 11px; +} + +.InventoryItemContainerInner { + width: 60px; + z-index: 1; +} + +.InventoryItemContainerInner, +.InventoryItemContainerInner:hover { + background: #FFF; + border: 0; + outline: 0; + overflow: visible; + position: absolute; + margin: 0; + padding: 0; +} + +.InventoryItemContainerInner:hover { + position: absolute; +} + +.SmallInventoryItem { + background: #FFF; + border: 1px solid #ccc; + height: 60px; + position: relative; + width: 60px; +} + +.SmallInventoryItem .InventoryItemContainerInner { + height: 60px; + position: relative; + width: 60px; +} + +.LargeInventoryItem .InventoryItemContainerInner { + height: 94px; + width: 76px; +} + +.SmallInventoryItem:hover .InventoryItemContainerInner { + border: 1px solid #ccc; + height: 155px; + left: -25px; + top: -28px; + width: 109px; + z-index: 6; +} + +.LargeInventoryItem, +.RobuxTradeRequestItem { + background: #FFF; + border: 1px solid #ccc; + height: 94px; + position: relative; + width: 76px; +} + +.RobuxTradeRequestItem { + float: left; + top: 4px; + height: 94px; + margin: 0 2px; +} + +.LargeInventoryItem:hover .InventoryItemContainerInner { + border: 1px solid #ccc; + height: 182px; + left: -17px; + top: -25px; + width: 109px; + z-index: 6; +} + +#TradeRequest .LargeInventoryItem:hover .InventoryItemContainerInner { + border: 1px solid #ccc; + height: 157px; + left: -17px; + top: -25px; + width: 109px; + z-index: 6; +} + +.InventoryItemName { + color: #000; + font: bold 10px Arial, sans-serif; + text-align: center; + width: 69px; +} + +.SmallInventoryItem .InventoryItemName { + display: none; + height: 30px; + padding: 0 2px; + overflow: hidden; + margin: auto; +} + +.LargeInventoryItem .InventoryItemName { + display: block; + height: 30px; + overflow: hidden; + text-align: center; + line-height: 14px; +} + +.InventoryItemContainerInner:hover .InventoryItemName { + display: block; + text-align: center; + width: 96%; + margin: 0; +} + +.ItemInfoLabel, +.InventoryItemContainerInner:hover .ItemInfoLabel { + color: #666; + display: none; + font: 9px Arial, sans-serif; + margin-left: 6px; + margin-right: 3px; + text-align: left; + padding: 0; +} + +.ItemInfoData, +.InventoryItemContainerInner:hover .ItemInfoData { + color: #006c00; + display: none; + font: bold 9px Arial, sans-serif; + margin-left: 2px; + padding: 0; +} + +.InventoryItemContainerInner .InventoryItemSerial, +.InventoryItemContainerInner .SerialNumberTotal { + color: #000; + display: none; + font: 9px Arial, sans-serif; + margin: 0; + padding: 0; +} + +.InventoryItemContainerInner .HoverContent { + display: block; + line-height: 15px; +} + +.InventoryItemContainerInner .ItemImg { + border: 0; + height: 60px; + outline: 0; + text-align: center; + width: 60px; + padding: 0; +} + +.InventoryContainer .AddButton, +.InventoryContainer .RequestButton { + cursor: pointer; +} + +.LargeInventoryItem:hover .ItemImg { + height: 83px; + width: 83px; + margin: 5px 5px 5px 2px; +} + +.SmallInventoryItem:hover .ItemImg { + margin-left: -1px; + margin-top: -3px; +} + +.InventoryItemContainerOuter { + float: left; + padding: 4px 2px; +} + +div.ItemLinkDiv { + height: 60px; + width: 60px; + margin: auto; +} + +#TradeConfirmModal { + padding: 5px; + *margin-top: -150px; +} + +.LargeInventoryItem:hover div.ItemLinkDiv { + height: 88px; + width: 88px; +} + +div.TradeItemSilverButtonContainer, +.InventoryItemContainerInner:hover div.TradeItemSilverButtonContainer { + display: none; + left: 5px; + padding-top: 6px; + width: 94px; + margin: auto; +} + +.InventoryItemContainerInner:hover div.TradeItemSilverButtonContainer { + display: block; +} + +a.TradeItemSilverButton, +a.TradeItemSilverButton:hover, +a.TradeItemSilverButtonDisabled { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-small_silver_tile.png) repeat-x top; + border: 1px solid #a7a7a7; + color: #000; + display: block; + font: normal 11px Arial, Helvetica, sans-serif; + height: 15px; + padding-top: 1px; + text-align: center; + text-decoration: none !important; +} + +a.TradeItemSilverButton:hover { + background-position: bottom; + border-color: #777; +} + +a.TradeItemSilverButtonDisabled { + border: 1px solid #CCC; + color: #A7A7A7; + cursor: default; +} + +.SendTrade, +.SendTrade:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/sendTrade2.png) top; + cursor: pointer; + height: 50px; + width: 176px; + margin: 0 auto 10px auto; +} + +.SendTrade:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/sendTrade2.png) bottom; +} + +.TradeDivider { + border-top: 1px solid #A7A7A7; + height: 15px; + margin-left: 5px; + width: 574px; +} + +.ErrorText { + font-size: 12px; + font-weight: normal; + text-align: left; +} + +.ErrorTextContainer { + background-color: #FAE5E5; + border: 1px solid #C00; + width: 258px; + margin-left: 20px; + margin-top: 5px; + padding: 5px; + display: none; + float: left; +} + +.ModalButtonContainer { + margin: 0 102px 0 102px; + height: 60px; +} + +.BlankItem { + background: #FFF; + border: 1px solid #ccc; + float: left; + height: 60px; + width: 60px; + margin: 4px 2px 0; +} + +.BlankItem.LargeInventoryItem { + background: #FFF; + border: 1px solid #ccc; + height: 94px; + position: relative; + width: 73px; + margin: 4px 2px 0; +} + +.MissingItemContainer { + border: 1px solid #ccc; + height: 93px; + position: relative; + width: 73px; + float: left; + margin: 4px 2px 0; +} + +.MissingItem { + height: 80px; + width: 60px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/missing_user_asset.png) no-repeat; + margin: 5px auto; +} + +.MissingItem.Deleted { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/deleted_user_asset.png) no-repeat; +} + +.RBXImg { + margin: 0 2px; + position: relative; + top: 2px; +} + +.OfferValue, +.RobuxCost { + color: #006800; + margin-right: 5px; + font-weight: bold; +} + +.OfferValueContainer { + clear: both; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 11px; + text-align: right; + display: inline; + float: right; + margin-top: 2px; +} + +.Offer .OfferValueContainer { + margin-right: 5px; +} + +.OpenTradeButton, +.OpenTradeButton:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/tradeItems.png) top; + cursor: pointer; + float: right; + height: 23px; + margin-right: 10px; + *margin-top: -24px; + width: 91px; +} + +.OpenTradeButton:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/tradeItems.png) bottom; +} + +#ButtonAcceptTrade, +#ButtonAcceptTrade:hover, +#ButtonCounterTrade, +#ButtonCounterTrade:hover, +#ButtonDeclineTrade, +#ButtonDeclineTrade:hover { + margin-right: 5px; + cursor: pointer; +} + +#ButtonCancelTrade, +#ButtonCancelTrade:hover { + cursor: pointer; + margin-left: 5px; +} + +div#TradeRequest { + width: 593px; + padding: 5px; + *top: -200px; +} + +#TradeRequest div.ActionButtonContainer { + padding-bottom: 10px; + margin: 30px auto -3px auto; + text-align: center; +} + +#TradeRequest .ButtonOK, +#TradeRequest .ButtonOK:hover { + float: left; + cursor: pointer; + position: relative; +} + +#TradeRequest div.ReviewButtonContainer { + padding-bottom: 10px; + text-align: center; + margin: 30px auto -3px auto; + *padding-top: 0; +} + +#TradeRequest .ViewButtonContainer { + padding-bottom: 10px; + width: 100px; + margin: 30px auto -3px auto; + *padding-top: 0; +} + +.TradePartnerName { + color: #095fb5; +} + +#TradeRequest .TradeExpiration { + color: #666; + font-family: Arial; + font-size: 11px; + text-align: center; +} + +#TradeRequest .TradeRequestText { + color: #363636; + font-family: Arial; + font-size: 15px; + font-weight: 700; + text-align: center; +} + +#TradeRequest .roblox-avatar-image img[Title] { + height: 142px; + width: 106px; +} + +#TradeRequest .roblox-avatar-image img[style] { + left: 15px !important; +} + +#TradeRequestExpiration.Red { + color: #C00; +} + +#TradeRequest .roblox-avatar-image { + margin: 12px auto -12px; +} + +#TradeRequest .LeftContentContainer { + border-right: 1px solid #CCC; + display: inline; + float: left; + height: 321px; + width: 148px; + margin: 12px 0 0 0; +} + +#TradeRequest .closeBtnCircle_20h { + cursor: pointer; + margin-left: 573px; + position: absolute; + top: 5px; +} + +#TradeRequest .OfferHeaderWrapper { + padding: 5px 0 5px 5px; + width: 410px; +} + +.InventoryDropDowns { + *margin-top: -15px; +} + +.InventoryContainer .InventoryDropDowns, +.TradeWindowContainer .Inventories { + float: right; +} + +.Inventories { + width: 580px; +} + +.InventoryItemContainerInner .RBXImg, +div.FooterButtonPlaceHolder, +.HeaderButtonPlaceHolder { + display: none; +} + +.TradeWindowContainer .GenericModal { + *top: -50px; +} + +div.InventoryItemContentContainer { + text-align: center; + position: relative; + margin-left: -2px; + padding: 0 2px; +} + +div.InventoryDropDownContainer.noItems { + text-align: center; + font-size: 11px; +} + +div.LargeInventoryItem div.InventoryNameWrapper { + overflow: hidden; + text-align: center; + height: 30px; + padding: 0 2px; +} + +.InventoryItemContainerInner:hover .ItemInfoLabel, +.InventoryItemContainerInner:hover .ItemInfoData, +.InventoryItemContainerInner:hover .InventoryItemSerial, +.InventoryItemContainerInner:hover .SerialNumberTotal, +.InventoryItemContainerInner:hover .RBXImg { + display: inline; +} + +a.ViewTradeLink, +.AddToOffer, +.RequestFor { + cursor: pointer; +} + +.InventoryItemContainerInner .InventoryItemLink, +#TradeRequest .roblox-avatar-image div { + text-align: center; +} + +#TradeRequest a:hover, +.TradeWindowContainer a:hover { + color: black; +} + +.Offer .OfferRobuxWrapper { + height: 50px; + margin: 5px auto; + text-align: center; +} + +.Offer img.OfferRobux { + position: relative; + top: 2px; +} + +.Offer.TradeSystemRobux .AddRobuxBox { + font: normal 11px Arial, Helvetica, sans-serif; + width: 80px; + border: 1px solid #A7A7A7; + height: 17px; + padding: 1px 0 0 3px; +} + +.Asterisk { + font-size: 17px; + line-height: 14px; + position: relative; + top: 5px; + font-weight: bold; + padding-left: 1px; +} + +.ValueEntered { + display: none; + color: #006800; + font-weight: bold; +} + +#TradeRequest .OfferContainer { + min-height: 290px; + margin-bottom: 5px; + margin-top: 7px; + width: 417px; + float: left; +} + +#TradeRequest.TradeSystemRobux .RobuxItemAsterisk { + display: none; + margin-left: 3px; +} + +#TradeRequest .RobuxAmountWrapper { + font-weight: bold; + font-size: 10px; + text-align: center; + height: 27px; + padding: 0 2px 10px 2px; +} + +.FeeNote { + margin-left: 5px; + font-weight: normal; +} + +.TradeWindowContainer .FeeNote { + margin-left: 20px; + margin-top: 130px; + font-size: 10px; +} + +.Offer .RobuxTopLinePositionElement { + display: inline; + position: relative; + margin: 0 auto; +} + +#TradeRequest .FeeNote { + font-size: 11px; +} + +#TradeRequest .FeeNoteContainer { + padding-top: 40px; + height: 17px; + padding-bottom: 5px; +} + +.paging_previous:hover { + cursor: pointer; + background-position: left 72px; +} + +.paging_next:hover { + cursor: pointer; + background-position: left 120px; +} + +.paging_pagenums_container .selected { + font-weight: bold; +} + +.paging_previous, +.paging_next { + height: 24px; + width: 24px; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Sets/blue_arrow_btns_sprite.png'); + background-position: left top; +} + +.paging_previous { + background-position: left 96px; +} + +.paging_previous.disabled { + cursor: default; + background-position: left 24px; +} + +.paging_next.disabled { + background-position: left 48px; + cursor: default; +} + +.paging_wrapper { + position: relative; + top: -6px; + *top: -3px; + margin: 0 10px; +} + +.paging_wrapper input { + *position: relative; + *top: 1px; +} + +/* ~/CSS/Base/CSS/UnifiedModal.css */ +.unifiedModal { + background-color: #e1e1e1; + font: bold 27px Arial; + letter-spacing: -2px; + color: #363636; + border: 2px solid #272727; + text-align: center; + position: relative; +} + +.unifiedModalContent { + text-align: left; + background-color: White; + color: #000; + font: Bold 15px Arial; + margin-left: 5px; + margin-right: 5px; + margin-bottom: 5px; + letter-spacing: normal; +} + +.unifiedModalSubtext { + color: #666; + font: bold 12px Arial; + border: none; + letter-spacing: normal; + cursor: pointer; + text-align: center; + margin-top: 10px; + padding-bottom: 5px; +} + +.smallModal { + width: 425px; +} + +.closeBtnCircle_20h:hover { + background-position: 0 20px; +} + +.closeBtnCircle_20h { + width: 20px; + height: 20px; + cursor: pointer; + position: absolute; + top: 5px; + left: 5px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-x.png); +} + +.unifiedModal .smallModal .closeBtnCircle_20h { + margin-left: 395px; +} + +/* ~/CSS/Base/CSS/Upgrades.css */ +#CancelBuildersClubContainer, +#PaymentMethodsContainer, +#PaymentContainer, +#PayPalContainer, +#CashContainer { + background-color: #fff; + font-family: Arial, Sans-Serif; + margin: 0 auto; + padding: 20px 80px; +} + +#UpgradeCompleteContainer, +#CancelAccountUpgradeContainer, +#ManageAccountUpgradesContainer, +#AccountUpgradesConfirmationContainer { + background-color: #fff; + font-family: Arial, Sans-Serif; + margin: 0 auto; +} + +#AccountUpgradesConfirmationContainer, +#CancelAccountUpgradeContainer { + border: solid 2px #6e99c9; + padding: 10px 10px 20px 10px; +} + +#CancelBuildersClubContainer h2, +#PaymentMethodsContainer h2, +#PaymentContainer h2, +#PayPalContainer h2, +#CashContainer h2, +#UpgradeCompleteContainer h2, +#ManageAccountUpgradesContainer h2, +#CancelAccountUpgradeContainer h2, +#AccountUpgradesConfirmationContainer h2 { + font-family: Arial, Sans-Serif; + font-size: 2.5em; + font-weight: normal; + line-height: 1em; + margin: 0; + padding: 0; +} + +#UpgradeCompleteContainer h2, +#CancelAccountUpgradeContainer h2, +#ManageAccountUpgradesContainer h2, +#AccountUpgradesConfirmationContainer h2 { + font-size: 2em; + letter-spacing: .1em; + line-height: 1.5em; + margin: 0 auto; + margin-top: 10px; + width: 600px; +} + +#UpgradeCompleteContainer p, +#ManageAccountUpgradesContainer p, +#AccountUpgradesConfirmationContainer p { + line-height: 1.6em; +} + +#RobloxCentralBank { + border-bottom: solid 1px #000; +} + +#MembershipOptions .Label { + text-align: center; +} + +#PaymentMethodsContainer .PaymentMethods { + border: none; + margin: 20px auto; + padding: 10px; + width: 600px; +} + +#PaymentMethodsHeader { + margin: 0 auto; + padding-left: 60px; + width: 600px; +} + +.PaymentMethodRow { + font-family: Arial, Helvetica, Sans-Serif; + background-color: transparent; + color: #090; +} + +.PaymentMethodRow:hover { + background-color: #f2f2f2; + cursor: pointer; + color: #00d900; +} + +.PaymentMethodRowUnavailable a { + color: #090; +} + +.PaymentMethodRow td, +.PaymentMethodRowUnavailable td { + border: none; + padding: 20px; +} + +#PaymentMethodsContainer .PaymentMethodName { + color: #333; + font-weight: bold; + font-size: medium; +} + +#Legend { + margin-top: 10px; +} + +#CurrentBalance { + color: #333; +} + +#PaymentContainer #Account, +#PaymentContainer #BillingInfo, +#PaymentContainer #ProductAndPricing, +#PaymentContainer #ProductAndPricing1, +#PaymentContainer #CreditCard, +#PayPalContainer #ConfirmDetails, +#CashContainer #ConfirmDetails, +#PayPalContainer #Notes, +#CashContainer #Notes { + margin-bottom: 20px; +} + +#PaymentContainer #Pay, +#PayPalContainer #Continue { + margin: 0 auto; + text-align: center; +} + +.PaymentDropDownList { + padding: 5px; + width: 95%; +} + +#PaymentContainer .Label, +#PayPalContainer .Label, +#CashContainer .Label { + float: left; + font-size: 1.25em; + height: 40px; + line-height: 40px; + padding: 0 10px; + vertical-align: middle; + width: 250px; +} + +#PaymentContainer .BokuLabel { + float: none; + font-size: 1em; + font-weight: bold; + height: 20px; + line-height: 20px; + padding: 0 6px 0 0; + vertical-align: middle; +} + +#ConfirmDetails .Detail { + background-color: #EEE; + border-bottom: solid 1px #CCC; + border-top: solid 1px #CCC; + height: 40px; + line-height: 40px; +} + +#PaymentContainer .Field, +#PayPalContainer .Field, +#CashContainer .Field { + float: left; + height: 40px; + line-height: 40px; + padding: 0 10px; + vertical-align: middle; + width: 400px; +} + +#PaymentContainer .BokuField { + float: none; + font-size: 1em; + height: 20px; + line-height: 20px; + padding: 0 6px 0 0; + ; + vertical-align: middle; +} + +#BokuOrderSummary { + font-weight: bold; + font-size: 1.25em; + padding: 0 20px 0 5px; + vertical-align: middle; +} + +#PaymentContainer .Button, +#PayPalContainer .Button { + font-size: 16px; + margin: 0 3px; +} + +#PaymentMethodsContainer .ExistingSubscription { + font-size: 16px; + color: Blue; + width: 50%; + text-align: center; +} + +#PayPalContainer .PayPalDisallowedMessage { + font-size: 16px; + padding-bottom: 12px; + color: Blue; + width: 90%; +} + +#ProductAndPricing, +#ProductAndPricing1 { + float: left; + width: 865px; +} + +#ProductAndPricing .TotalRowName, +#ProductAndPricing .TotalRowPrice { + font-size: 14px; + font-weight: bold; + padding-top: 10px; +} + +.TotalRowName, +.TotalRowPrice, +.ProductName, +.SuperchargeProductName, +.ProductPrice, +.SuperchargeProductPrice { + float: left; + font-weight: bold; +} + +.ProductName, +.TotalRowName, +.SuperchargeProductName { + width: 640px; +} + +.ProductPrice, +.TotalRowPrice, +.SuperchargeProductPrice { + width: 200px; +} + +.SuperchargeProductName, +.SuperchargeProductPrice { + color: #E6B800; +} + +#PaymentDetails #Account .Field, +#PaymentDetails #ProductAndPricing .Field, +#PayPalContainer #ConfirmDetails .Field, +#CashContainer #ConfirmDetails .Field { + font-size: 1.25em; + font-weight: bold; +} + +#PaymentDetailsTable { + width: 400px; +} + +#UpgradeCompleteContainer #Message, +#CancelAccountUpgradeContainer #Message, +#ManageAccountUpgradesContainer #CurrentAccountUpgrades, +#AccountUpgradesConfirmationContainer #Message { + background-color: #eee; + border: solid 1px #ccc; + margin: 0 auto; + margin-top: 15px; + padding: 10px; + width: 580px; +} + +#ManageAccountUpgradesContainer #CurrentAccountUpgrades { + margin-top: 25px; + font-family: Arial, Helvetica, Sans-Serif; +} + +.ExtensionNote { + margin: 10px 0; +} + +.UpgradeStatus { + font-weight: bold; + margin: 20px; + text-align: center; +} + +#BuildersClubContainer { + font-family: Arial, Sans-Serif; + margin: 0 auto; + width: 900px; +} + +#BuildersClubContainer #LeftColumn { + background-color: #fff; + width: 575px; + float: left; + margin-top: 10px; +} + +#BuildersClubContainer #LeftColumn #MembershipOptions { + margin-bottom: 50px; + padding: 10px 10px 0 10px; +} + +#BuildersClubContainer #LeftColumn #MembershipOptions .MembershipButton { + margin: 0 4px 0 4px; + float: left; + width: 130px; +} + +#BuildersClubContainer #LeftColumn #MembershipOptions .BCButtonLabel { + color: #6e99c9; + margin-top: 4px; + text-align: center; +} + +#BuildersClubContainer #LeftColumn h1 { + font-size: 20px; + color: #6e99c9; + font-style: italic; + font-weight: bold; +} + +#MembershipOptionsTable { + width: 500px; + margin: auto; +} + +#MembershipOptionsTable tr { + text-align: center; +} + +#MembershipOptionsTable td { + width: 100px; + margin: 38px; +} + +#MembershipOptionsTable td .BCButton { + padding-left: 35px; + padding-right: 0; +} + +#MembershipOptionsTable .BCText { + padding-right: 20px; + width: 150px; + text-align: left; +} + +.TurboSpan { + color: #72942E; +} + +#upgrades-membership-options { + font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif; + font-size: 13px; + background: #fff; + padding-top: 10px; + clear: left; + width: 100%; + border-collapse: collapse; + text-align: center; +} + +#upgrades-membership-options th { + font-size: 15px; + font-weight: normal; + color: #2163A5; + padding: 5px 8px; + border-bottom: 1px solid #D3D3D3; + line-height: 32px; +} + +#upgrades-membership-options th img { + float: left; +} + +#upgrades-membership-options td { + color: #2163A5; + padding: 5px 10px; +} + +#upgrades-membership-options tbody tr:hover td { + color: Maroon; +} + +#upgrades-membership-options .leftBorder { + border-left: 1px solid #D3D3D3; + width: 150px; +} + +#upgrades-membership-options .odd { + background: #e8edff; +} + +#upgrades-membership-options .LeftText { + text-align: left; +} + +#BuildersClubContainer #LeftColumn #WindowsOnlyWarning { + padding-left: 10px; + padding-bottom: 1px; +} + +#BuildersClubContainer #RightColumn { + margin: 10px 0 10px 5px; + width: 290px; + float: right; +} + +.RightColumnBox, +#UpgradeCompleteContainer { + border: 2px solid #6e99c9; + margin-bottom: 20px; + padding: 10px; + background-color: #fff; +} + +.RightColumnBox a { + text-decoration: underline; +} + +.RightColumnBox h2 { + float: left; + font-size: 14px; + color: Maroon; +} + +.RightColumnBox h3 { + text-align: left; + font-size: 11px; + clear: both; +} + +.RightColumnBox h1 { + float: left; + font-size: 16px; + color: Maroon; + padding-left: 10px; + font-weight: bold; +} + +.RightColumnManageAccount { + border-left: 2px solid #6e99c9; + border-bottom: 2px solid #6e99c9; + border-right: 2px solid #6e99c9; + background-color: #fff; + margin-bottom: 20px; +} + +#CancelMembership { + padding-top: 10px; + padding-bottom: 10px; + text-align: center; +} + +#RightColumn #ManageAccountBody { + padding: 10px; +} + +#RightColumn #ManageAccount #CancelMembershipButton, +#RedirectToLoginLink { + text-align: center; +} + +.OBCSellButton { + border: 0; + cursor: pointer; + top: 218px; + position: absolute; +} + +.cardPanelLeft { + margin: 25px 0 15px 12px; + float: left; +} + +.cardPanelRight { + margin-right: 12px; + margin-top: 10px; + float: right; +} + +.centeredImage { + margin-bottom: 10px; +} + +#GameCardButtonContainer { + clear: both; + margin: 15px 0; +} + +.WhereToBuyTableCell, +WhereToBuyTableCellRight { + width: 320px; + padding: 10px 0; +} + +.WhereToBuyTableCellRight { + text-align: left; +} + +.AwardAssetDisplayList { + display: inline-block; + *display: inline; + *zoom: 1; + vertical-align: top; + width: 100px; + height: 135px; +} + +.PaymentTextBox { + padding: 5px; + width: 90%; +} + +.PaymentLabel { + width: 120px; + font-weight: bold; +} + +.PaymentPadding { + padding: 5px; +} + +.AutoRecurText { + color: Red; + display: none; +} + +.PayTypesLeftColumn, +.PayTypesRightColumn { + float: left; + clear: none; + margin: 0; + padding: 0; + padding-bottom: 12px; + text-align: right; + width: 115px; +} + +.PayTypesRightColumn { + padding-left: 18px; + width: 133px; + text-align: left; +} + +.PayTypesCenter { + text-align: center; +} + +div.GiftCards { + height: 625px; +} + +.GiftCards #Column1 { + display: inline-block; + float: left; + left: 14px; + position: relative; +} + +.GiftCards #Column2 { + display: inline-block; + float: right; + height: 496px; + position: relative; + right: 14px; +} + +.GiftCards #Products { + position: relative; + top: -4px; + cursor: pointer; +} + +.GiftCards #GiftForm { + padding: 10px; + background: #E1E1E1; + width: 400px; + color: black; + border: 1px solid #A7A7A7; +} + +.GiftCards #ErrorDiv { + color: orange; + font-weight: bold; +} + +.GiftCards #PurchaseButtonContainer { + text-align: right; + margin-top: 16px; + font-weight: bold; + color: black; +} + +.GiftCards #CreateHeader { + color: #363636; + font: bold 40px Arial; + margin: 10px 0 0 14px; + letter-spacing: -2px; +} + +.GiftCards .GiftHeader { + color: black; + font: normal 16px Arial; + margin: 10px 0; + text-transform: uppercase; + font-weight: bold; +} + +.GiftCards .GCProduct { + background-repeat: no-repeat; + height: 109px; + width: 421px; + margin: 12px 0; + position: relative; +} + +.GiftCards .GCTheme { + display: inline-block; + *display: inline; + *zoom: 1; + background-repeat: no-repeat; + height: 77px; + width: 103px; + margin: 0 12px 0 0; + position: relative; + cursor: pointer; +} + +.GiftCards #GCTheme1 { + *margin: -14px 12px 0 132px; +} + +.GiftCards #GCTheme2 { + *margin: -14px 12px 0 0; +} + +.GiftCards .CheckMark { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Gifting/img-unchecked.png); + position: absolute; + top: 7px; + right: 7px; + width: 25px; + height: 24px; +} + +.GiftCards .GCProductSelected .CheckMark { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Gifting/img-checked.png); +} + +.GiftCards .ThemeCheckMark { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Gifting/img-checked-small.png) no-repeat 0 -25px; + position: absolute; + top: 3px; + right: 4px; + height: 17px; + width: 19px; +} + +.GiftCards .GCThemeSelected .ThemeCheckMark { + background-position: 0 0; +} + +.GiftCards #Product0 { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/new/gifting_bc.jpg") center no-repeat; +} + +.GiftCards #Product0:hover { + background-color: #283d68; +} + +.GiftCards #Product1 { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/new/gifting_tbc.jpg") center no-repeat; +} + +.GiftCards #Product1:hover { + background-color: #630; +} + +.GiftCards #Product2 { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/new/gifting_obc.jpg") center no-repeat; +} + +.GiftCards #Product2:hover { + background-color: #000; +} + +.GiftCards #Product3 { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/new/gifting_anyAmount.jpg") center no-repeat; +} + +.GiftCards #Product3:hover { + background-color: #004d00; +} + +.GiftCards .GCThemeClassic { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-thumb-classic.png") no-repeat 0 0; +} + +.GiftCards .GCThemeClassic:hover { + background-position: 0 -77px; +} + +.GiftCards .GCThemeChristmas { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-thumb-christmas.png") no-repeat 0 0; +} + +.GiftCards .GCThemeChristmas:hover { + background-position: 0 -77px; +} + +.GiftCards .GCThemeJustForYou1 { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-thumb-justforyou1.png") no-repeat 0 0; +} + +.GiftCards .GCThemeJustForYou1:hover { + background-position: 0 -77px; +} + +.GiftCards .GCThemeJustForYou2 { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-thumb-justforyou2.png") no-repeat 0 0; +} + +.GiftCards .GCThemeJustForYou2:hover { + background-position: 0 -77px; +} + +.GiftCards .ThemePreview { + position: absolute; + width: 261px; + height: 194px; + top: 30px; + right: 20px; + display: none; +} + +.GiftCards .GCThemeClassic .ThemePreview { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-preview-classic.png") no-repeat 0 0; +} + +.GiftCards .GCThemeChristmas .ThemePreview { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-preview-christmas.png") no-repeat 0 0; +} + +.GiftCards .GCThemeJustForYou1 .ThemePreview { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-preview-justforyou1.png") no-repeat 0 0; +} + +.GiftCards .GCThemeJustForYou2 .ThemePreview { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/gifting/theme-preview-justforyou2.png") no-repeat 0 0; +} + +.GiftCards .Hint { + color: Orange; + font: bold 19px Arial, Helvetica, Sans-Serif; +} + +.GiftCards .GCProduct input { + color: #888; +} + +.GiftCards .GCProductSelected input { + color: #000; +} + +.GiftCards .GiftFieldInput { + width: 240px; +} + +.GiftCards .GiftFieldLabel { + color: black; + display: inline-block; + font-weight: bold; + padding-left: 10px; + width: 120px; +} + +.GiftCards #CustomValueDollars { + text-align: right; + width: 50px; +} + +.GiftCards #CustomValueCents { + width: 20px; +} + +.PreviewGiftCard, +.EditGiftCard { + color: #00f; + text-decoration: underline; + cursor: pointer; + font-weight: bold; +} + +.PreviewGiftCard:hover, +.EditGiftCard:hover { + color: #00d; +} + +.OrderSummary #ThankYou { + font: bold 18px Arial, Helvetica, Sans-Serif; +} + +.OrderSummary #SummaryText { + margin: 12px 0 18px 10px; + line-height: 1.5em; +} + +.OrderSummary #GiftCardContainer { + margin: 0 0 10px 10px; +} + +.OrderSummary #GiftCardTable .Header { + font-weight: bold; +} + +.OrderSummary .PurchaseAnother { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-purchase_another.png) no-repeat; + display: inline-block; + *display: inline; + width: 219px; + height: 50px; +} + +.OrderSummary .PurchaseAnother:hover { + background-position: 0 -50px; +} + +.OldStyle .MicroNode { + display: block; + margin: 15px auto; + text-align: center; +} + +.boku-products-container .country-container { + margin-bottom: 20px; + margin-top: 25px; +} + +.boku-products-container .form-label { + margin-bottom: 10px; +} + +/* ~/CSS/Base/CSS/Upload.css */ +#post-image-main, +#upload-video-main { + font-size: 16pt; + font-weight: bold; + text-align: center; +} + +#post-image-main a, +#post-image-main a:hover, +#upload-video-main a, +#upload-video-main a:hover { + text-decoration: none; +} + +#post-image-ul, +#upload-video-ul { + text-align: left; + font-weight: normal; + font-size: 12pt; +} + +#post-image-small, +#upload-video-small { + font-weight: normal; + font-size: 12pt; +} + +#post-image-footer, +#upload-video-footer { + text-align: right; +} + +#post-image-footer a, +#upload-video-footer a { + font-size: 12pt; + font-weight: bold; + text-decoration: none; +} + +#post-image-footer a:hover, +#upload-video-footer a:hover { + text-decoration: none; +} + +/* ~/CSS/Base/CSS/User.css */ +#UserContainer #LeftBank { + float: left; + text-align: center; + width: 444px; +} + +#UserContainer #RightBank { + float: right; + text-align: center; + width: 444px; +} + +#UserContainer #LeftBank #UserPageLargeRectangleAd { + border: none; +} + +#UserPlacesPane { + clear: both; + background-color: #FFF; +} + +#UserPlacesPane { + clear: both; + background-color: #FFF; +} + +.FriendRequestsPane, +#UserModelsContainer { + clear: both; + text-align: center; +} + +#UserBadgesPane, +#UserStatisticsPane { + margin: 10px 0 0 0; +} + +#UserStatisticsPane { + text-align: left; +} + +#FriendsPane, +#FavoritesPane { + clear: right; + margin: 10px 0 0 0; +} + +#UserAssetsPane { + margin-bottom: 10px; +} + +#UserBadgesPane #UserBadges { + background-color: #fff; + text-align: center; +} + +#ProfilePane h4 { + background-color: #ccc; + border-top: solid 1px #000; + color: #333; + font-family: Arial, Helvetica, sans-serif; + font-size: 1.3em; + margin: 0; + text-align: center; +} + +#ProfilePane p { + margin: .9em 0; + line-height: 1.6em; +} + +#UserAssetsPane #UserAssets h4, +#UserBadgesPane #UserBadges h4, +#UserPlacesPane #UserPlaces h4, +#UserStatisticsPane #UserStatistics h4, +#FavoritesPane #Favorites h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-family: Arial, Helvetica, sans-serif; + margin: 0; + text-align: center; +} + +#UserPlacesPane #UserPlaces h4 { + background-color: #6e99c9; + color: #fff; + font-family: Verdana, Sans-Serif; + font-size: 1.4em; + font-weight: normal; + letter-spacing: .1em; + line-height: 1.5em; +} + +#UserStatisticsPane #UserStatistics { + background-color: #eee; + padding-bottom: 10px; +} + +#UserStatisticsPane #UserStatistics h4 { + margin-bottom: 5px; +} + +#UserStatisticsPane #UserStatistics .Statistic { + line-height: 1.8em; + margin: 0 auto; + width: 385px; +} + +#UserStatisticsPane #UserStatistics .Label { + float: left; + text-align: right; + width: 178px; +} + +#UserStatisticsPane #UserStatistics .Value { + float: right; + width: 177px; +} + +#UserModelsContainer { + text-align: left; +} + +#Friends { + margin-top: 10px; +} + +#Friends h4, +#FriendRequests h4 { + font-size: 10pt; + font-weight: bold; + line-height: 1em; + margin-bottom: 5px; + margin-top: 5px; +} + +.NoResults { + line-height: 1.3em; + padding: 10px; + text-align: center; +} + +.Badge { + margin: 10px 10px; + text-align: center; +} + +.FriendsPager { + margin-left: auto; + margin-right: auto; +} + +#FriendsContainer .paging_wrapper { + position: relative; + margin: 0 10px; + top: 2px; +} + +#FriendsContainer .paging_input { + width: 20px; + text-align: center; + font-size: 12px; +} + +.Friend { + width: 125px; + height: 180px; + overflow: hidden; +} + +.FriendContainer { + float: left; + margin: 10px; +} + +.Friend .Avatar { + text-align: center; +} + +.Friend .Summary, +.Friend .Options { + margin-top: 5px; + text-align: center; +} + +#UserContainer .CollapsiblePanelHint { + color: #999; + padding: 5px; + text-align: center; +} + +#UserContainer #AssetsMenu { + float: left; + width: 158px; +} + +#UserContainer #AssetSearchOption { + float: left; +} + +#UserContainer #AssetUploadOption { + float: right; +} + +#UserContainer #AssetsList { + clear: both; +} + +#UserAssetsPane .AssetsMenuItem { + padding: 10px; + text-align: left; +} + +#UserAssetsPane .AssetsMenuItem:hover { + background: #EFEFEF; +} + +#UserAssetsPane .AssetsMenuItem_Selected { + padding: 10px; + background: #EFEFEF; + border: 1px solid #CCC; + font-weight: bold; + border-right: none; + text-align: left; +} + +#UserAssetsPane .AssetsMenuButton, +#UserAssetsPane .AssetsMenuButton_Selected { + color: #363636; + font: normal 14px/normal Arial; + text-decoration: none; +} + +#UserAssetsPane .AssetsMenuButton_Selected { + font-weight: bold; +} + +#UserPlaces .PanelFooter, +#GroupPlaces .PanelFooter, +#Favorites .PanelFooter { + background-color: #fff; + color: #333; + font-family: Verdana, Sans-Serif; + margin: 0; + padding: 3px; +} + +#UserPlaces .AccordionHeader { + background-color: #ccc; + border: solid 1px #000; + cursor: pointer; + font: bold 1em/normal Verdana, sans-serif; + letter-spacing: .1em; + margin: 1px 0; + padding: 1px 1em; + text-align: left; +} + +#UserPlaces .AccordionHeader:hover { + background-color: #6e99c9; + color: #fff; +} + +#UserPlaces .Place .PlayStatus { + margin: 5px 0 0 0; + display: inline; +} + +#UserPlaces .Place .PlayOptions { + margin: 10px 0 0 0; + display: block; + min-height: 48px; +} + +#UserPlaces .Place .PlayOptions .Button { + border-color: #333; + color: #333; + margin: 0 3px; +} + +#UserPlaces .Place .PlayOptions .Button:hover { + background-color: #6e99c9; + color: #fff; +} + +#UserPlaces .Place .Statistics { + border-top: dashed 1px #555; + border-left: dashed 1px #555; + border-right: dashed 1px #555; + color: #555; + font: normal 1em/normal Verdana, sans-serif; + letter-spacing: .1em; + line-height: 1.7em; + margin: 0; +} + +#UserPlaces .Place .Thumbnail { + border: solid 1px #555; + margin: 0; +} + +#UserPlaces .Place .Description { + border: dashed 1px #555; + color: #555; + font: normal 1em/normal Verdana, sans-serif; + max-height: 75px; + line-height: 1.7em; + margin: 5px 0 0 0; + padding: 5px 0; + overflow: auto; + text-align: left; +} + +#UserPlaces .Place .Configuration { + border-bottom: dashed 1px #555; + border-left: dashed 1px #555; + border-right: dashed 1px #555; + font: normal 1em/normal Verdana, sans-serif; + line-height: 1.7em; + padding: 5px 10px; +} + +#UserContainer #AssetsContent { + float: left; + font-family: Verdana, Sans-Serif; + margin: 0 auto; + margin-left: 28px; + margin-right: 28px; + min-width: 0; + padding-bottom: 10px; + padding-left: 0; + padding-right: 0; + position: relative; + text-align: left; + width: 685px; +} + +#UserContainer #AssetsContent .HeaderPager, +#UserContainer #FavoritesContent .HeaderPager, +#UserContainer #AssetsContent .FooterPager, +#UserContainer #FavoritesContent .FooterPager { + clear: both; + margin: 0 12px 0 10px; + padding: 2px 0; + text-align: center; +} + +#UserContainer #AssetsContent .HeaderPager, +#UserContainer #FavoritesContent .HeaderPager { + margin-bottom: 10px; +} + +#UserContainer #AssetsContent .HeaderPager .Label, +#UserContainer #FavoritesContent .HeaderPager .Label, +#UserContainer #AssetsContent .FooterPager .Label, +#UserContainer #FavoritesContent .FooterPager .Label { + font-size: 1em; + vertical-align: middle; +} + +#UserContainer .Asset { + margin: 0 10px 15px 10px; + vertical-align: top; + width: 112px; +} + +#UserContainer .Asset .AssetThumbnail { + border: solid 1px #CCC; + height: 110px; + position: relative; + text-align: center; + width: 110px; +} + +#UserContainer .Asset .AssetDetails { + overflow: hidden; + padding: 2px 0 6px 0; + text-align: left; + width: 110px; +} + +#UserContainer .AssetName a { + font-size: .9em; + font-weight: bold; + line-height: 1.5em; + vertical-align: top; +} + +.AssetsBullet { + padding-right: 3px; +} + +#UserContainer .Label, +#UserContainer .Detail, +#UserContainer .DetailHighlighted, +#UserContainer .PriceInRobux, +#UserContainer .PriceInTickets { + font-size: .8em; +} + +#UserContainer .DetailHighlighted { + color: Red; + font-weight: bold; +} + +#UserContainer .PriceInRobux { + color: Green; + font-weight: bold; +} + +#UserContainer .PriceInTickets { + color: #fbb117; + font-weight: bold; +} + +.UserOnlineMessage { + font-family: Verdana; + font-size: 8pt; + color: Red; +} + +.UserOfflineMessage { + font-family: Verdana; + font-size: 8pt; + color: Gray; +} + +.AdPanel { + position: relative; + margin: 0 auto; + z-index: 999; +} + +.BanishButtonOverlay { + background-color: #eee; + border: solid 1px #444; + font-size: .8em; + padding: 1px 3px 2px 3px; + position: absolute; + text-align: center; + top: 0; + right: 0; +} + +.BanishButtonOverlay:hover { + background-color: #fff; + border: solid 1px #000; + text-decoration: none; +} + +.DeleteButtonOverlay { + background-color: #eee; + border: solid 1px #444; + font-size: .8em; + padding: 1px 3px 2px 3px; + position: absolute; + right: 2px; + text-align: center; + top: 2px; +} + +.DeleteFavoriteOverlay { + background-color: #eee; + border: solid 1px #444; + font-size: .8em; + padding: 1px 3px 2px 3px; + position: relative; + left: -57px; + text-align: center; + top: -97px; +} + +.DeleteButtonOverlay:hover { + background-color: #fff; + border: solid 1px #000; + text-decoration: none; +} + +.PlaceAccessIndicator { + color: #000; +} + +.SubscriptionStatusPanel { + width: 348px; + font-weight: bold; + margin-top: 5px; + padding: 5px 5px 5px 5px; + border: solid 1px black; + background-color: #ccc; +} + +.ProfileAlertPanel { + width: 348px; + padding: 5px 5px 5px 5px; + background-color: #FFF; + border: solid 1px black; + height: 64px; +} + +.UserBlurb { + overflow: hidden; + width: 348px; + padding: 5px 5px 5px 5px; + line-height: 20px; + background-color: #FFF; + margin-bottom: 10px; +} + +#AccountSettingsForm { + font-size: 11px; + line-height: 18px; +} + +#AccountSettingsForm fieldset { + border: 1px solid #ddd; + padding: 5px 5px 5px 5px; +} + +#OwnedSetsContainerDiv, +#SubscribedSetsContainerDiv { + text-align: center; + padding-bottom: 25px; + height: auto; +} + +#OwnedSetsContainerDiv .TiledSets, +#SubscribedSetsContainerDiv .TiledSets { + width: 110px; + height: 90px; +} + +.TiledSets { + float: left; + margin: 10px 10px; + text-align: center; +} + +#OwnedSetsContainerDiv .AssetCreator, +#SubscribedSetsContainerDiv .AssetCreator { + font-size: .8em; +} + +#OwnedSetsContainerDiv .SetsPager_Container, +#SubscribedSetsContainerDiv .SetsPager_Container { + clear: both; + text-align: center; + position: absolute; + bottom: 11px; + width: 100%; + *left: 0; +} + +#OwnedSetsContainerDiv .loading, +#SubscribedSetsContainerDiv .loading { + text-align: center; + height: 350px; + position: relative; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/ProgressIndicator4.gif') center no-repeat; +} + +#OwnedSetsContainerDiv .NoSets, +#SubscribedSetsContainerDiv .NoSets { + position: relative; + top: 10px; +} + +#ToggleBetweenOwnedSubscribedSets:hover { + cursor: pointer; +} + +#BadgesDisplayPane input[disabled], +#UserGroupsPane input[disabled], +#FriendRequests input[disabled] { + background-position: 0 -27px; + cursor: default; +} + +/* ~/CSS/Base/CSS/Utility.css */ +.MyRobloxContainer { + font-family: Verdana, Sans-Serif; + margin: 0 auto; + width: 900px; +} + +.MyRobloxContainer h1 { + display: block; +} + +.ThemeStandardColorBackground { + background: #6e99c9; +} + +.StandardBox, +.StandardBoxWhite, +.StandardBoxGray { + float: none; + border: 2px solid #6e99c9; + background-color: White; + padding: 10px 10px 10px 10px; + margin-bottom: 10px; + display: block; +} + +.StandardBoxWhite { + *zoom: 1; +} + +.StandardBoxGrey { + float: inherit; + border: 2px solid #6e99c9; + background-color: #A6A6A6; + padding: 10px 10px 10px 10px; + margin-bottom: 10px; + display: block; +} + +.StandardBoxHeader, +.StandardBoxHeaderGray, +.StandardTabWhite, +.StandardTabGray, +.StandardTabGrayActive { + float: none; + background-color: #6e99c9; + text-align: center; + color: White; + font-size: 16px; + font-weight: bold; + padding: 5px 12px 5px 12px; + display: block; + *display: inline; + *zoom: 1; +} + +.StandardBoxHeaderGray { + background-color: #A6A6A6; +} + +.StandardTabWhite, +.StandardTabGrayActive, +.StandardTabGray { + display: inline-block; + height: 26px; + z-index: 2; + position: relative; + *display: inline; + *zoom: 1; +} + +.StandardTabWhite span { + *padding-right: 14px; +} + +.StandardTabGray { + background-color: #b4cde9; + margin-right: 4px; +} + +.StandardTabGrayActive { + margin-right: 4px; +} + +.StandardTabGray a, +.StandardTabGrayActive a { + color: White; +} + +.StandardTabGray a:hover, +.StandardTabGrayActive a:hover { + text-decoration: none; +} + +.StandardTabGray:hover, +.StandardTabGrayActive { + background-color: #6c98cb; + color: White; +} + +#GroupsPeopleContainer .StandardTabGray, +#GroupsPeopleContainer .StandardTabGrayActive { + position: relative; + top: -4px; +} + +.Column1a { + width: 290px; + float: left; + margin-top: 10px; +} + +.Column2a { + margin-top: 10px; + width: 600px; + float: right; +} + +.Column1a .StandardBox { + width: 266px; +} + +.Column1a .StandardBoxHeader, +.Column1a .StandardBoxHeaderGray { + width: 266px; +} + +.Column2a .StandardBox { + width: 576px; +} + +.Column2a .StandardBoxHeader, +.Column2a .StandardBoxHeaderGray { + width: 576px; +} + +.Column1b { + margin-top: 10px; + width: 190px; + float: left; + margin-right: 15px; +} + +.Column2b { + margin-top: 10px; + width: 490px; + float: left; +} + +.Column3b { + margin-top: 10px; + width: 190px; + float: right; +} + +.Column1b .StandardBox { + width: 166px; +} + +.Column1b .StandardBoxHeader, +.Column1b .StandardBoxHeaderGray { + width: 166px; +} + +.Column2b .StandardBox { + width: 466px; +} + +.Column2b .StandardBoxHeader, +.Column2b .StandardBoxHeaderGray { + width: 466px; +} + +.Column3b .StandardBox { + width: 166px; +} + +.Column3b .StandardBoxHeader, +.Column3b .StandardBoxHeaderGray { + width: 166px; +} + +.Column1c { + margin-top: 10px; + width: 590px; + float: left; +} + +.Column2c { + margin-top: 10px; + width: 290px; + float: right; +} + +.Column1c .StandardBox { + width: 556px; +} + +.Column1c .StandardBoxHeader, +.Column1c .StandardBoxHeaderGray { + width: 556px; +} + +.Column2c .StandardBox { + width: 266px; +} + +.Column2c .StandardBoxHeader, +.Column2c .StandardBoxHeaderGray { + width: 266px; +} + +.Column1d { + margin-top: 10px; + width: 440px; + float: left; +} + +.Column2d { + margin-top: 10px; + width: 440px; + float: right; +} + +.Column1d .StandardBox, +.Column1d .StandardBoxWhite { + width: 416px; +} + +.Column1d .StandardBoxHeader, +.Column1d .StandardBoxHeaderGray, +.Column1d .StandardTabWhite { + width: 416px; +} + +.Column2d .StandardBox, +.Column2d .StandardBoxWhite { + width: 416px; +} + +.Column2d .StandardBoxHeader, +.Column2d .StandardBoxHeaderGray, +.Column2d .StandardTabWhite { + width: 416px; +} + +.Column1e { + margin-top: 10px; + margin-left: 10px; + width: 150px; + float: left; +} + +.Column2e { + margin-top: 10px; + width: 790px; + margin-left: 10px; + float: left; +} + +.Column1e .StandardBox { + width: 136px; +} + +.Column1e .StandardBoxHeader, +.Column1e .StandardBoxHeaderGray { + width: 126px; +} + +.Column2e .StandardBoxGray { + width: 726px; + padding: 5px; +} + +.Column2e .StandardBoxHeader, +.Column2e .StandardBoxHeaderGray { + width: 356px; +} + +#GamesLeftColumn { + padding: 20px 5px; +} + +.NewMenuLook #GamesLeftColumn { + background: none; + border: none; + padding: 9px 0; +} + +.GamesPageHeader { + font-size: 40px; + color: #363636; + font-weight: bold; + letter-spacing: -2px; + margin-left: 9px; +} + +.Column1f { + margin-top: 10px; + width: 375px; + float: left; +} + +.Column2f { + margin-top: 10px; + margin-left: 20px; + width: 570px; + float: left; +} + +.Repeater { + border: 0; + width: 100%; +} + +.Repeater .AlternatingItemTemplateOdd { + background-color: #F3F3F3; + padding: 5px 5px 5px 5px; +} + +.Repeater .AlternatingItemTemplateEven { + background-color: #fff; + padding: 5px 5px 5px 5px; +} + +.Repeater .RepeaterImage { + float: left; + vertical-align: top; + margin: 5px 5px 5px 5px; +} + +.Repeater .RepeaterText { + float: left; + vertical-align: top; + margin: 5px 5px 5px 5px; +} + +.Repeater .RepeaterImageNoFloat { + text-align: left; + vertical-align: top; + padding-left: 5px; +} + +.Repeater .RepeaterTextNoFloat { + text-align: left; + vertical-align: top; + padding: 5px; +} + +.Repeater thead { + font-size: 15px; + font-weight: normal; + color: #2163A5; + border-bottom: 1px solid #D3D3D3; +} + +.Column2b .Repeater .AlternatingItemTemplateOdd, +.Column2b .Repeater .AlternatingItemTemplateEven { + width: 466; + height: 50px; +} + +.GreySearchBar { + background-color: #7F7F7F; + border-color: #385D8A; + width: 150px; + color: White; + cursor: default; +} + +.GreySearchButton { + background-color: #7F7F7F; + border-color: #385D8A; + width: 50px; + color: White; +} + +.DescriptionText { + font-size: 14px; + padding: 10px; + background: #D2E3F7; +} + +.tab_white_31h_container .ajax__tab_header { + font-family: verdana, tahoma, helvetica; + font-size: 11px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-line.gif) repeat-x bottom; +} + +.tab_white_31h_container .ajax__tab_outer { + margin: 0; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-right.gif) no-repeat right; + height: 21px; +} + +.tab_white_31h_container .ajax__tab_inner { + padding-left: 3px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-left.gif) no-repeat; +} + +.tab_white_31h_container .ajax__tab_tab { + height: 13px; + padding: 4px; + margin: 0; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab.gif) repeat-x; +} + +.tab_white_31h_container .ajax__tab_hover .ajax__tab_outer { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-hover-right.gif) no-repeat right; +} + +.tab_white_31h_container .ajax__tab_hover .ajax__tab_inner { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-hover-left.gif) no-repeat; +} + +.tab_white_31h_container .ajax__tab_hover .ajax__tab_tab { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-hover.gif) repeat-x; +} + +.tab_white_31h_container .ajax__tab_active .ajax__tab_outer { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-active-right.gif) no-repeat right; +} + +.tab_white_31h_container .ajax__tab_active .ajax__tab_inner { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-active-left.gif) no-repeat; +} + +.tab_white_31h_container .ajax__tab_active .ajax__tab_tab { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/tab-active.gif) repeat-x; +} + +.tab_white_31h_container .ajax__tab_body { + font-family: verdana, tahoma, helvetica; + font-size: 10pt; + border: 1px solid #999; + border-top: 0; + padding: 8px; + background-color: #fff; +} + +.rbx2only { + display: none; +} + +.GreenButton, +.RedButton, +.RedButton2 { + display: inline-block; + font: bold 14px Arial, Helvetica, Sans-Serif; + cursor: pointer; + *display: inline; + *zoom: 1; +} + +.GreenButton span, +.RedButton span, +.RedButton2 span { + margin: 0 0 0 4px; + display: block; + padding: 7px 12px 0 5px; + cursor: pointer; + color: White; +} + +.GreenButton span a, +.RedButton span a, +.RedButton2 span a { + color: White; + text-decoration: none; +} + +.GreenButton:hover, +.RedButton:hover { + background-position: 0 -30px; + cursor: pointer; +} + +.GreenButton span:hover, +.RedButton span:hover { + background-position: right -30px; + cursor: pointer; +} + +.GreenButton:hover, +.RedButton:hover, +.RedButton2:hover { + text-decoration: none; +} + +.GreenButton { + height: 30px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn_green_30h_t1.png) no-repeat; +} + +.GreenButton span { + height: 23px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn_green_30h_t2.png) no-repeat top right; +} + +.RedButton { + height: 30px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn_red_30h_t1.png) no-repeat; +} + +.RedButton span { + height: 23px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/btn_red_30h_t2.png) no-repeat top right; +} + +.RedButton2 { + height: 40px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn_red_40h_t1.png) no-repeat; +} + +.RedButton2 span { + height: 28px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn_red_40h_t2.png) no-repeat top right; + padding: 12px 12px 0 5px; +} + +.RedButton2:hover { + background-position: 0 -40px; + cursor: pointer; +} + +.RedButton2 span:hover { + background-position: right -40px; + cursor: pointer; +} + +.Money { + color: #090; +} + +.SuccessBox, +.ResultSuccessBox { + border: solid 2px #a6dba6; + color: #090; + font-weight: bold; + padding: 5px; +} + +.ErrorBox, +.ResultErrorBox { + border: solid 2px #ffa6a6; + color: #f00; + font-weight: bold; + padding: 5px; +} + +.SuccessBox, +.ErrorBox { + margin: 10px 0; +} + +.ResultSuccessBox, +.ResultErrorBox { + height: 50px; +} + +.ResultContainer { + height: 105px; + padding: 10px 0; + vertical-align: top; +} + +.SuccessBox p { + margin: 0; +} + +.MessageBox { + width: 305px; + float: right; +} + +.MessageBox img { + float: left; + padding: 0 5px 7px 0; + height: 40px; +} + +.MessageBox div { + padding-left: 5px; +} + +.GameCardSpecialOffer { + height: 40px; + font-weight: bold; + padding-top: 4px; + font-size: 12px; +} + +.GameCardText, +.GameCardMessage { + float: right; + padding: 0; + width: 318px; +} + +.GameCardMessageBox { + border: solid 2px #ffa6a6; + color: #f00; + font-weight: bold; + padding: 5px; + *height: 66px; + margin: 20px 0; +} + +.GameCardPromo { + font-weight: bold; + font-size: 16px; + color: #333; +} + +.BoxTextAligned { + margin-left: 10px; + position: relative; + top: -20px; +} + +.GamecardBoxTextAligned { + margin-left: 10px; + position: relative; + top: -20px; + color: #333; +} + +.ResultBoxTextAligned { + margin-left: 10px; + position: relative; + top: -40px; + left: 50px; + width: 75%; + display: block; +} + +#SuccessMessageSubText, +.GameCardMessage { + color: #333; + font-size: .8em; + padding-top: 5px; +} + +#RedeemHeader { + color: #363636; + font: bold 24px Arial, Helvetica, sans-serif; + margin: 6px 6px 8px; + width: 50%; + float: left; +} + +#RedeemContainer { + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + color: Black; + z-index: 1; +} + +#RedeemContainer a { + color: #095fb5; +} + +#RedeemContainer a:hover { + text-decoration: none; +} + +#RedeemContainer #pin { + height: 21px; + font-size: 12px; +} + +#RedeemContainer #HowToUse { + margin-left: 12px; + font-size: 15px; + font-weight: bold; + margin-bottom: 4px; +} + +#RedeemContainer ol { + line-height: 16px; + font-size: 12px; + font-weight: bold; +} + +#RedeemContainer ol li span { + font-weight: normal; +} + +.OnePaymentFormDiv { + font-size: 11px; + color: #666; +} + +.BigLinks { + font-size: 16px; + font-weight: bold; +} + +.SkinnyRightArrow { + cursor: pointer; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow_skinny55h_right.png) no-repeat; + width: 12px; + height: 55px; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.SkinnyRightArrow:hover { + background-position: 0 -55px; +} + +.SkinnyRightArrowDisabled { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow_skinny55h_right.png) no-repeat 0 -110px; + width: 12px; + height: 55px; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.SkinnyLeftArrow { + cursor: pointer; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow_skinny55h_left.png) no-repeat; + width: 12px; + height: 55px; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.SkinnyLeftArrow:hover { + background-position: 0 -55px; +} + +.SkinnyLeftArrowDisabled { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow_skinny55h_left.png) no-repeat 0 -110px; + width: 12px; + height: 55px; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.BlueLeftArrow { + cursor: pointer; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow_36px_left.png) no-repeat; + width: 36px; + height: 36px; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.BlueLeftArrow:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow36px_leftOn.png) no-repeat; +} + +.BlueRightArrow { + cursor: pointer; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow_36px_right.png) no-repeat; + width: 36px; + height: 36px; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.BlueRightArrow:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/arrow36px_rightOn.png) no-repeat; +} + +.BCHat { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Games/gamesPage_bcHelmet.png) no-repeat; + width: 35px; + height: 29px; + display: inline-block; + margin-top: 3px; + *display: inline; + *zoom: 1; +} + +.notificationBox { + display: inline-block; + background-color: #f00; + color: #fff; + height: 16px; + min-width: 18px; + width: auto; + font-size: 14px; + font-weight: bold; + margin: 2px 2px 4px 2px; + padding: 0 2px; + line-height: 1.1em; + text-align: center; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; +} + +.notificationBoxIE { + display: inline-block; + color: #fff; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/bg-notifications.png); + background-repeat: repeat-x; + background-position: left top; + min-width: 24px; + width: auto; + height: 16px; + text-align: center; + font-size: 14px; + font-weight: bold; + *display: inline; + *zoom: 1; +} + +.gray-ok-button { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-ok-gray.png) no-repeat; + width: 102px; + height: 50px; + cursor: pointer; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.gray-ok-button:hover { + background-position: 0 -50px; +} + +.learn-more-button { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/btn-learn_more.png) no-repeat; + width: 159px; + height: 50px; + cursor: pointer; + display: inline-block; + *display: inline; + *zoom: 1; +} + +.learn-more-button:hover { + background-position: 0 -50px; +} + +.SimpleModal { + background-color: #E1E1E1; + border: 2px solid #272727; + display: none; + padding: 5px; + position: absolute; + width: 435px; +} + +.SimpleModal .titleBar { + background-color: #E1E1E1; + color: #363636; + font: bold 27px Arial, Helvetica, Sans-Serif; + height: 38px; + letter-spacing: -2px; +} + +.SimpleModal .modalBody { + background: #FFF; + padding: 5px; + font: 15px Arial, sans-serif; +} + +.SimpleModal ul { + margin: 0; + padding: 0 15px; +} + +.SimpleModal li { + margin: 10px 0; +} + +/* ~/CSS/Base/CSS/VideoPreRoll.css */ +#videoPrerollPanel { + display: none; + width: 713px; + height: 473px; + padding: 20px 20px 20px 35px; + background-color: #fff; +} + +#videoPrerollTitleDiv { + font-family: Arial, Sans-Serif; + font-size: 17px; + font-weight: bold; + padding-bottom: 20px; +} + +#videoPrerollMainDiv { + width: 391px; + height: 312px; + margin: 0; + padding: 0; + float: left; +} + +#videoPrerollCompanionAd { + width: 300px; + height: 250px; + margin: 0; + padding-top: 25px; + padding-left: 20px; + float: left; +} + +#videoPrerollLoadingDiv { + margin-left: auto; + margin-right: auto; + font-family: Arial, Sans-Serif; + font-weight: bold; + font-size: 12px; + clear: both; + width: 584px; + padding-top: 30px; +} + +#videoPrerollLoadingBar { + width: 582px; + height: 8px; + border: 1px solid #697D03; + background-color: #808081; +} + +#videoPrerollLoadingBarCompleted { + background-color: #cbff01; + height: 8px; + width: 0; + padding: 0; + margin: 0; +} + +#videoPrerollJoinBC { + text-align: center; + font-size: 15px; + font-family: Arial, Sans-Serif; + font-weight: bold; + padding-top: 22px; +} + +#videoPrerollJoinBCButton { + width: 180px; + height: 40px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/VideoPreRoll/btn-buildersclub.png); + background-position: top; + display: inline-block; + vertical-align: middle; +} + +#videoPrerollJoinBCButton:hover { + background-position: bottom; +} + +/* ~/CSS/Base/CSS/StyleGuide.css */ +body { + background-color: #fff; + margin: 0; +} + +body, +.text, +pre { + font-family: Arial, Helvetica, sans-serif; + color: #000; + font-size: 12px; +} + +.text { + font-weight: normal; +} + +.tip-text { + padding-top: 2px; + color: #666; + display: block; + font-size: 11px; +} + +h1, +h1 a, +h1 a:visited, +h1 a:active, +h1 a:link { + font-size: 40px; + font-weight: bold; + letter-spacing: -2px; + margin: 12px 0 12px 0; + color: #363636; + letter-spacing: -2px; + margin: 12px 0 12px; +} + +h1 a, +h1 a:visited, +h1 a:active, +h1 a:link { + margin: 0; +} + +h1 a:hover { + text-decoration: none; +} + +h2 .text, +h2 { + font-size: 16px; + font-weight: bold; + color: #000; + text-transform: uppercase; +} + +h2.title { + margin-top: 20px; + margin-bottom: 20px; +} + +h2.light { + font-size: 16px; + font-weight: normal; + color: #000; +} + +h3, +h3 a { + font-size: 15px; + font-weight: bold; + color: #363636; +} + +.divider-top { + border-top: 1px solid #ccc; +} + +.divider-bottom { + border-bottom: 1px solid #ccc; +} + +.divider-left { + border-left: 1px solid #ccc; +} + +.divider-right { + border-right: 1px solid #ccc; +} + +.blank-box { + border: 1px solid #ccc; +} + +.dark-box { + border: 1px solid #bcbcbc; + background: #e1e1e1; + padding: 5px; +} + +.sub-divider-bottom { + border-bottom: 1px solid #ededed; +} + +a.text-link { + font-weight: normal; + text-decoration: none; + color: #095fb5; +} + +a.text-link:hover { + text-decoration: underline; +} + +.table td, +.table th { + padding: 5px; + border-top: 1px solid #ccc; + margin: 0; + float: left; + text-align: left; +} + +table.table { + border-top: 1px solid #9e9e9e; +} + +.table-header th { + border-left: 1px solid #ccc; + font-weight: bold; + background-color: #f1f1f1; + border-top: none; +} + +.table-header .first { + border-left: 1px solid #f1f1f1; +} + +.tool-tip { + border: 1px solid #ccc; + font-weight: normal; + font-size: 12px; + margin-left: 20px; + position: relative; + width: 120px; + padding: 5px; +} + +.tool-tip span { + color: #a00; +} + +.tool-tip .right { + position: absolute; + left: -10px; + top: 50%; + margin-top: -5px; +} + +.tool-tip .bottom { + position: absolute; + top: -10px; + left: 5px; +} + +.validator-checkmark { + width: 15px; + height: 13px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/UI/img-check.png) no-repeat; + margin-left: 5px; + display: none; +} + +.text-box { + border: 1px solid #a7a7a7; + padding: 0 3px; + font-weight: normal; +} + +.text-box.text-box-small { + height: 18px; + font-size: 11px; + line-height: 18px; + border: 1px solid #a7a7a7; +} + +.text-box.text-box-medium { + height: 21px; + font-size: 12px; + line-height: 19px; +} + +.text-box.text-box-large { + height: 25px; + line-height: 24px; + font-size: 13px; +} + +.text-box.text-area-medium { + line-height: 19px; +} + +.btn-control, +.btn-control:active, +.btn-control:link, +.btn-control:visited, +.btn-control:hover { + border: 1px solid #777; + padding: 0 6px; + color: #000; + text-decoration: none; + background-color: #ccc; + text-align: center; + font-weight: normal; + cursor: pointer; + background-position: top; + display: inline-block; + *zoom: 1; + *display: inline; +} + +.btn-control:hover { + background-position: bottom; + border-color: #888; + text-decoration: none; +} + +.btn-control.disabled { + border: 1px solid #ccc; + cursor: default; + color: #a7a7a7; + background-position: center; +} + +.btn-control.btn-control-small { + height: 18px; + line-height: 18px; + font-size: 11px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/StyleGuide/btn-control-small-tile.png); +} + +.btn-control.btn-control-medium { + height: 21px; + line-height: 21px; + font-size: 12px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/StyleGuide/btn-control-medium-tile.png); +} + +.btn-control.btn-control-large { + height: 25px; + line-height: 24px; + font-size: 13px; + padding: 0 7px; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/StyleGuide/btn-control-large-tile.png); +} + +a.btn-control.top-level { + font-weight: bold; +} + +.btn-large, +.btn-medium, +.btn-small { + margin: 0; + display: inline-block; + zoom: 1; + text-align: center; + font-weight: bold; + text-decoration: none; + letter-spacing: -1px; + border-width: 1px; + border-style: solid; + cursor: pointer; + *display: inline; + *vertical-align: top; +} + +.PurchaseModal .btn-large, +.PurchaseModal .btn-medium, +.PurchaseModal .btn-small { + *margin-right: 5px; + *vertical-align: top; +} + +.btn-large { + padding: 9px 13px 0 13px; + height: 39px; + min-width: 70px; + font-size: 23px; + line-height: 27px; + background-position: left 0; +} + +.btn-large:hover, +.btn-medium:hover, +.btn-small:hover { + text-decoration: none; +} + +.btn-large:hover { + background-position: left -48px; +} + +.btn-medium { + padding: 4px 13px 0 13px; + height: 28px; + min-width: 62px; + font-size: 20px; + line-height: 23px; + background-position: left -96px; +} + +.btn-medium:hover { + background-position: left -128px; +} + +.btn-small { + padding: 1px 7px 0 7px; + height: 20px; + min-width: 40px; + font-size: 15px; + line-height: 18px; + background-position: left -160px; +} + +.btn-small:hover { + background-position: left -181px; +} + +.btn-primary, +.btn-primary:link, +.btn-primary:active, +.btn-primary:visited { + border-color: #007001; + background-color: #007001; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-green.png); + color: #013401; +} + +.btn-neutral, +.btn-neutral:link, +.btn-neutral:active, +.btn-neutral:visited { + border-color: #0852b7; + background-color: #0852b7; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue.png); + color: #00243d; +} + +.btn-negative, +.btn-negative:link, +.btn-negative:active, +.btn-negative:visited { + border-color: #565656; + background-color: #565656; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray.png); + color: #222; +} + +.btn-disabled-primary, +.btn-disabled-primary:hover, +.btn-disabled-neutral, +.btn-disabled-neutral:hover, +.btn-disabled-negative, +.btn-disabled-negative:hover { + cursor: default; + background-position: left -202px; +} + +.btn-disabled-primary, +.btn-disabled-primary:link, +.btn-disabled-primary:active, +.btn-disabled-primary:visited { + background-color: #99c699; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-green.png); + border-color: #99c699; + color: #9aa89a; +} + +.btn-disabled-neutral, +.btn-disabled-neutral:link, +.btn-disabled-neutral:active, +.btn-disabled-neutral:visited { + background-color: #9cbae2; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue.png); + border-color: #9cbae2; + color: #99a7b1; +} + +.btn-none { + display: none; +} + +.btn-disabled-negative, +.btn-disabled-negative:link, +.btn-disabled-negative:active, +.btn-disabled-negative:visited { + background-color: #bbbcbb; + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray.png); + border-color: #bbbcbb; + color: #a5a5a5; +} + +.btn-text { + display: block; + margin: 0; + position: relative; + color: #fff; +} + +.btn-text:hover { + text-decoration: none; +} + +.btn-large .btn-text { + bottom: 26px; +} + +.btn-medium .btn-text { + bottom: 22px; +} + +.btn-small .btn-text { + bottom: 17px; +} + +.btn-large-green-play, +.btn-play, +.btn-play:active, +.btn-play:visited, +.btn-play:link { + padding-left: 60px; + border-color: #007001; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-lg-green-play.png) no-repeat left top; + color: #013401; + min-width: 26px; +} + +.blue-arrow { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue-arrow-md.png) right top; + border-color: #0852b7; + color: #00243d; + padding-right: 36px; + min-width: 41px; +} + +.gray-arrow { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray-arrow-md.png) right top; + border-color: #565656; + color: #222; + padding-right: 36px; + min-width: 41px; +} + +.gray-arrow:hover, +.blue-arrow:hover { + background-position: right -64px; +} + +.disabled-blue-arrow, +.disabled-blue-arrow:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue-arrow-md.png) right -32px; + border-color: #9cbae2; + color: #99a7b1; + padding-right: 36px; + cursor: default; + min-width: 41px; +} + +.disabled-gray-arrow, +.disabled-gray-arrow:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray-arrow-md.png) right -32px; + border-color: #bbbcbb; + color: #a5a5a5; + padding-right: 36px; + cursor: default; + min-width: 41px; +} + +.pager.first, +.pager.last { + display: none; +} + +.pager.previous { + display: inline-block; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/Arrows/btn-silver-left-27.png') no-repeat top left; + width: 27px; + height: 27px; +} + +.pager.next { + display: inline-block; + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/Arrows/btn-silver-right-27.png') no-repeat top left; + width: 27px; + height: 27px; +} + +.page.text { + position: relative; + top: -8px; + padding: 5px; + *top: -4px; +} + +.pager.previous:hover, +.pager.next:hover { + background-position: bottom left; + cursor: pointer; +} + +.pager.disabled, +.pager.disabled:hover { + background-position: 0 -27px; + cursor: default; +} + +.dropdown { + position: relative; + text-align: left; + display: block; + float: left; +} + +.dropdown .button { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/buttons/bg-drop_down_btn.png) no-repeat right top; + font-size: 13px; + color: #000; + text-align: center; + display: block; + position: relative; + z-index: 2; + height: 21px; + padding: 4px 17px 0 8px; + border: 1px solid #777; + bottom: -1px; +} + +.dropdown .button:hover { + background-position: right center; + border-color: #888; + text-decoration: none; +} + +.dropdown .button.active { + background-position: right bottom; + border-bottom: none; +} + +.dropdown .button.gear { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/BuildPage/btn-gear_sprite_27px.png); + height: 27px; + border: none; + bottom: 0; + width: 40px; + padding: 0; +} + +.dropdown .dropdown-list { + background-color: #efefef; + border: 1px solid #777; + position: absolute; + top: 26px; + z-index: 1; + font-size: 12px; + font-weight: normal; + display: none; + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + padding-left: 0; + white-space: nowrap; +} + +.dropdown .dropdown-list li { + display: block; + text-decoration: none; + color: #000; + padding: 2px 8px; + margin: 4px 0; + cursor: pointer; +} + +.dropdown .dropdown-list li:hover { + background-color: #095fb5; + color: #fff; +} + +.dropdown .dropdown-list li a { + display: block; + color: inherit; + text-decoration: none; +} + +span.robux { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Icons/img-robux.png') no-repeat 0 1px; + color: #060; + font-weight: bold; + padding: 0 0 2px 20px; + font-size: 12px; +} + +span.tickets { + background: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Tickets.png') no-repeat 0 1px; + color: #A61; + padding: 0 0 2px 20px; + font-weight: bold; + font-size: 12px; +} + +.robux-text { + color: #060; + font-weight: bold; +} + +.form-outer { + overflow: hidden; + width: 100%; + clear: both; +} + +.form-label { + font-size: 13px; + color: black; + font-weight: bold; +} + +.form-inner.label-column { + float: left; + margin-right: 5px; +} + +.form-label { + font-size: 13px; + color: black; + font-weight: bold; +} + +.form-inner.input-column { + overflow: hidden; + text-align: left; +} + +.form-select { + margin: 0 5px 0; + height: 21px; +} + +.emphasizedText { + font-style: italic; +} + +.error-message { + color: black; + background-color: #FAE5E5; + border: solid 1px #c00; + margin-bottom: 10px; + text-align: left; + padding: 3px 10px; +} + +.footnote { + color: #666; +} + +.urgent-text { + color: #c00; + font-weight: bold; +} + +a[disabled=disabled], +a[disabled=disabled]:hover, +a[disabled], +a[disabled]:hover { + text-decoration: none; + cursor: default; + color: #808080; +} + +.stat-label { + font-size: 11px; + color: #888; + line-height: 1.5em; +} + +.stat { + font-size: 11px; + color: #000; + line-height: 1.5em; +} + +.hint-text { + font-style: italic; + color: #ccc; +} + +.status-confirm { + background-color: #e5effa; + border: 1px solid #06C; + padding: 5px 10px; +} + +.status-error { + background-color: #FAE5E5; + border: 1px solid #C00; + padding: 5px 10px; +} + +.info-tool-tip { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/Buttons/questionmark-12x12.png) no-repeat; + padding-left: 10px; +} + +.tab-container { + overflow: hidden; + padding-left: 5px; +} + +.redesign .tab_white_31h_container .ajax__tab_inner, +.tab { + float: left; + background-color: #D6D6D6; + padding: 7px; + border: 1px solid #9e9e9e; + font: bold 15px arial; + margin: 4px 2px 0 1px; + border-bottom-width: 0; + position: relative; + top: -1px; +} + +.redesign .tab_white_31h_container .ajax__tab_hover .ajax__tab_inner, +.tab:hover { + background-color: #e9e9e9; + cursor: pointer; +} + +#ItemContainer .redesign .tab_white_31h_container .ajax__tab_inner h3, +.tab a { + color: #363636; + font-size: 15px; + font-weight: bold; +} + +.redesign .tab_white_31h_container .ajax__tab_active .ajax__tab_inner, +.tab.active { + background-color: #fff; + margin-top: 0; + padding: 9px 7px 9px 7px; + border-bottom: 0; + position: relative; + border-color: #ccc; + z-index: 1; + margin: 0 1px 0 0; + top: 1px; +} + +.redesign .tab_white_31h_container .ajax__tab_panel, +.tab-content { + top: -1px; + position: relative; + background-color: #fff; + border-top: 1px solid #CCC; +} + +.arrow { + cursor: pointer; + background-repeat: no-repeat; + width: 17px; + height: 50px; + display: inline-block; +} + +.arrow:hover { + background-position: 0 -51px; +} + +.arrow.disabled { + cursor: default; + background-position: 0 -102px; + width: 17px; + height: 50px; +} + +.arrow.left { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GamesPage/arrow_left.png); +} + +.arrow.right { + background-image: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/GamesPage/arrow_right.png); +} + +.online-player { + font-size: 12px; + color: #393; +} + +.invisible { + display: none; +} + +.selected-text { + font-weight: bold; +} + +.verticaltab { + text-decoration: none; +} + +.verticaltab:hover { + background: #EFEFEF; +} + +.verticaltab.disabled:hover { + background: none; + border: none; + text-decoration: none; + cursor: default; +} + +.verticaltab.selected { + background: #EFEFEF; + border: 1px solid #CCC; + font-weight: bold; + border-right: none; + text-align: left; +} + +.verticaltab a { + top: 0; + left: 0; + right: 0; + bottom: 0; + font-size: 14px; + color: #363636; + position: relative; + display: block; + z-index: 2; + height: 35px; + line-height: 35px; + text-decoration: none; + padding-left: 15px; +} + +.verticaltab a:hover, +.verticaltab a:active { + text-decoration: none; +} + +.verticaltab.disabled a:hover { + cursor: default; +} + +.validation-summary-errors { + background-color: #FAE5E5; + border: 1px solid #C00; + padding: 5px 0 5px 5px; + font-size: 12px; + font-weight: normal; + text-align: left; + margin-bottom: 10px; +} + +.validation-summary-errors ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav li { + display: inline; +} + +.nav>li>a:hover, +.nav>li>a:focus { + text-decoration: none; + background-color: #eee; +} + +.nav-pills>li>a { + padding: 4px 12px 4px 12px; + margin: 2px 2px 2px 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + line-height: 14px; + text-decoration: none; + color: #095FB5; + font-size: 13px; +} + +.nav-pills>.active>a, +.nav-pills>.active>a:hover, +.nav-pills>.active>a:focus { + color: #fff; + background-color: #36c; +} + +/* ~/CSS/RBX2/CSS/BuildersClub.css */ +#BuildersClubContainer { + margin-left: -5px; +} + +/* ~/CSS/RBX2/CSS/Catalog.css */ +#CatalogContainer>.StandardBox { + padding: 3px 6px 8px 5px; +} + +.Assets .StandardBoxHeader { + width: 660px; +} + +.Assets .StandardBox { + width: 660px; +} + +/* ~/CSS/RBX2/CSS/DarkGradientBox.css */ +.DarkGradientBox { + background: none; + width: auto; + color: Black; + position: relative; + border: none; +} + +.DarkGradientBox .DGB_Header { + text-align: center; + padding-bottom: 5px; + border-bottom: none; + text-transform: uppercase; + font-family: Arial; + font-size: 16px; + font-weight: bold; + padding-top: 8px; +} + +.DarkGradientBox .DGB_TextBox { + width: 155px; + height: 18px; + border: 1px solid #bcbcbc; +} + +.DarkGradientBox .DGB_Label { + color: Black; + text-align: left; + font-family: Arial; + font-size: 11px; +} + +.DarkGradientBox .DGB_Button { + cursor: pointer; + background-color: #435D77; + color: White; + text-decoration: none; + border: solid 1px #777; + padding: 6px 10px 6px 10px; + font-family: Verdana, Sans-Serif; + font-size: 12px; + font-weight: bold; + text-align: center; + white-space: nowrap; +} + +.DarkGradientBox .DGB_Button:link, +.DarkGradientBox .DGB_Button:visited { + background-color: #435D77; + color: White; + text-decoration: none; +} + +.DarkGradientBox .DGB_Button:hover, +.DarkGradientBox .DGB_Button:active { + background-color: #B6CCE4; + color: #435D77; + text-decoration: none; +} + +/* ~/CSS/RBX2/CSS/Games.css */ +#GamesContainer .DisplayFilters { + width: 126px; +} + +.WaitCursor, +.WaitCursor * { + cursor: wait !important; +} + +.PlayButton, +.BuildButton, +.PlayButtonSelected, +.BuildButtonSelected { + height: 54px; + width: 123px; + display: block; + cursor: pointer; +} + +.PlayButton { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/games/playBtn_off.png'); + background-repeat: no-repeat; +} + +.BuildButton { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/games/buildBtn_off.png'); + background-repeat: no-repeat; +} + +.PlayButton:hover, +.PlayButtonSelected { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/games/playBtn_on.png'); + background-repeat: no-repeat; +} + +.BuildButton:hover, +.BuildButtonSelected { + background-image: url('http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/games/buildBtn_on.png'); + background-repeat: no-repeat; +} + +#BCOnlyPlaces { + width: 420px; +} + +#GamesLeftColumn { + width: 126px; +} + +/* ~/CSS/RBX2/CSS/Inbox.css */ +#InboxTabs { + position: relative; + top: 2px; +} + +/* ~/CSS/RBX2/CSS/Item.css */ +#ItemContainer #Summary .label { + color: #888; +} + +#ItemContainer #Summary .box .head { + color: Black; +} + +#ItemContainer #Summary .box .body { + border: 1px solid #CCC; + padding: 4px 8px 8px; + color: #000; +} + +.ReportAbuse { + text-align: right; +} + +.ReportAbuse .AbuseButton a { + color: #F99; + background: none; + padding-left: 16px; + padding-bottom: 2px; +} + +.ReportAbuse .AbuseButton a:hover { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/abuse.png") no-repeat scroll 0 2px transparent; + color: #F00; +} + +.ReportAbuse img { + display: none; +} + +.MultiplayerVisit:hover { + background-position: 0 54px; +} + +.MultiplayerVisit, +.MultiplayerVisitDisabled { + width: 212px; + height: 54px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/btn_play_54h.png); +} + +.MultiplayerVisitHover { + width: 212px; + height: 54px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/btn_play_54h.png); + background-position: 0 54px; +} + +div.VisitButtonsLeft a.MultiplayerVisit { + float: right; + display: inline; +} + +div.VisitButtonsLeftCentered { + width: 100%; + float: none; + text-align: center; + display: block; +} + +.SoloVisit:hover { + color: #0C0; +} + +.SoloVisit { + background: none; + color: #080; + font-size: 14px; + width: auto; + height: auto; +} + +span.SoloVisitText { + display: block; + padding: 15px 0 10px 15px; +} + +#ItemContainer .PlayGames { + background-color: Transparent; + border: none; + padding: 0; + width: 100%; + margin: 4px 0 0 0; +} + +.PlaceItemContainer .PlayGames { + border: none !important; + background: none !important; + margin: 4px 0 0; +} + +.PlaceInfoIcons { + margin: 4px 0 0 1px; + text-align: right; +} + +.iPublic, +.iUnlocked, +.iLocked, +.SharedIcon, +.CopyLockedIcon, +.AllGearIcon, +.GenreGearIcon, +.NoGearIcon { + width: 20px; + height: 20px; +} + +.iPublic, +.iUnlocked { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_public.png); +} + +.iLocked { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_public.png); + background-position: -20px; +} + +.CopyLockedIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_locked.png); +} + +.SharedIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_locked.png); + background-position: -20px; +} + +.AllGearIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_gear.png); +} + +.GenreGearIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_gear.png); + background-position: 0 -20px; +} + +.NoGearIcon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/icon_gear.png); + background-position: 0 -40px; +} + +#ItemContainer .ajax_tab_label { + color: #333; + font-size: 16px; + font-weight: bold; + font-family: Arial, Helvetica, sans-serif; + letter-spacing: normal; +} + +#ItemContainer .CommentsContainer .Comments { + border: 0 none; +} + +#ItemContainer .CommentsContainer .Comment { + background: none; +} + +#ItemContainer .CommentsContainer .Avatar { + border: 0 none; +} + +#ItemContainer .CommentsContainer .Post .Audit { + color: #888; +} + +#BadgeStatsHeader { + width: auto; +} + +/* ~/CSS/RBX2/CSS/MyRoblox.css */ +.sbMini { + margin-top: 5px; + font-family: Verdana, Sans-Serif; + font-size: 16px; + margin-right: 7px; +} + +.ProfileAlertPanel { + border: none; +} + +#UserPlaces .Place .Statistics, +#UserPlaces .Place .Configuration { + border: none; +} + +#GroupTitle { + width: 888px; +} + +.Column2b .StandardBoxGrey { + width: 454px; +} + +.subMenu { + width: 970px; + height: 30px; + border: none; + text-align: center; + background: #363636; + z-index: 200; + margin: 0 auto; +} + +.subMenu ul { + margin: 0 0 0 105px; +} + +.subMenu>ul>li { + height: 30px; + margin: 0 2px; +} + +.subMenu ul ul { + left: -104px; +} + +.subMenu ul ul a, +.subMenu ul ul a:visited { + background: #444; + border: none; +} + +.subMenu ul ul a:hover { + background: #777; +} + +.subMenu>ul>li:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/topNav_black.png); + background-position: 0 30px; +} + +.subMenu :hover>a, +.subMenu ul ul :hover>a { + text-decoration: none; +} + +.subMenu a:hover { + background: none; + text-decoration: none; +} + +.subMenu a, +.subMenu a:visited { + border: none; +} + +.subMenu .subMenuItemselected { + border: none; +} + +/* ~/CSS/RBX2/CSS/Roblox.css */ +body { + margin: 0; + padding: 0; + background: #e6e6e6; + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; +} + +a { + text-decoration: none; + color: #095fb5; +} + +a:hover, +a:active { + text-decoration: underline; +} + +a.green { + color: #080; +} + +a.green:hover { + color: #0c0; +} + +a img { + border: none; +} + +#Header a:hover { + text-decoration: none; +} + +#MasterContainer { + background: white; + overflow: visible; + width: 100%; +} + +#Container { + margin: 0 auto; + width: 100%; + padding: 0; + border: 0; +} + +#SmallHeaderContainer { + margin: 0; + padding: 0; + background-position: 0 0; + background-repeat: no-repeat; + height: 40px; + position: fixed; + width: 100%; + z-index: 1001; +} + +#SmallHeaderContainer #Banner { + background-color: #114081; + margin: 0; + padding: 0; + position: fixed; + width: 100%; +} + +#HeaderContainerDefaultPage { + position: relative; + margin: 0; + padding: 0; + width: 900px; + height: 225px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_03.jpg) repeat scroll 0 0 transparent; + background-position: 0 0; + background-repeat: no-repeat; + z-index: 6; +} + +#HeaderContainerDefaultPage #Header #Banner #Logo { + height: 70px; + left: 275px; + position: absolute; + top: 10px; + width: 350px; + margin: 0; + float: none; + background: none; +} + +#HeaderContainerDefaultPage #Banner { + height: 100px; + background: none; + position: relative; + bottom: 0; +} + +#HeaderContainerDefaultPage #Header #Banner #Authentication { + position: relative; + top: 0; + margin: 0; + height: 28px; + font-family: Arial; + font-size: 11px; + font-weight: normal; + color: White; + float: left; + padding: 0 0 0 2px; + background: none; +} + +#HeaderContainerDefaultPage #Header #Banner #AuthenticationButton { + height: 20px; + position: relative; + top: 12px; + height: 28px; + font-weight: normal; + float: right; + z-index: 1; +} + +#HeaderContainerDefaultPage #Header #Banner #AuthenticationButton #AuthenticationBannerSpanLeft #AuthenticationBannerSpan { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t2.png) no-repeat scroll right top transparent; + display: block; + height: 28px; + padding: 6px 10px 0; +} + +#HeaderContainerDefaultPage #Header #Banner #AuthenticationButton #AuthenticationBannerSpanLeft { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t1.png") no-repeat scroll left top transparent; + display: block; + height: 28px; + padding: 0 0 0 2px; + position: relative; + float: right; + margin: 0; + top: 0; +} + +#HeaderContainerDefaultPage #Header #Banner #AuthenticationButton a { + height: 14px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/btn_blue18h.png) repeat-x; + margin: 0 5px; + font-weight: bold; + color: White; + font-family: Arial; + font-size: 10px; + padding: 2px 5px; + width: auto; +} + +#HeaderContainerDefaultPage #Header #Banner #AuthenticationButton a:hover { + background-position: 0 -18px; +} + +#HeaderContainerDefaultPage #Header #Banner #PlayNowButton { + float: left; + width: 160px; +} + +#SmallHeaderContainer #Banner #Options { + height: 28px; + left: 150px; + top: 12px; +} + +#SmallHeaderContainer #Banner #Logo { + height: 34px; + left: 0; + position: absolute; + top: 9px; + width: 140px; + margin: 0; + float: none; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/img-robloxlogo.png") no-repeat; +} + +#SmallHeaderContainer #Banner #Authentication { + position: relative; + top: 0; + margin: 0; + height: 28px; + font-family: Arial; + font-size: 11px; + font-weight: normal; + color: White; + float: left; + padding: 0 0 0 2px; + background: none; +} + +#SmallHeaderContainer #Banner #AuthenticationButton #AuthenticationBannerSpanLeft { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t1.png") no-repeat scroll left top transparent; + display: block; + height: 28px; + position: relative; + float: right; + margin: 0; + top: 0; + width: 60px; + padding: 0; +} + +#SmallHeaderContainer #Banner #AuthenticationButton #AuthenticationBannerSpanLeft #AuthenticationBannerSpan { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t2.png) no-repeat scroll right top transparent; + display: block; + padding: 0; + width: 57px; + float: right; + height: 28px; +} + +#SmallHeaderContainer #Banner #Alerts { + background: Transparent; + border: none; + position: relative; + width: 400px; + left: 0; + float: right; + height: 38px; + padding-top: 0; +} + +#SmallHeaderContainer #Banner #AuthenticatedUserName { + float: left; + height: 28px; + font-family: Arial; + font-size: 11px; + font-weight: normal; + color: White; + background: none; + left: 145px; + position: inherit; + top: auto; + width: auto; + position: static; + padding-left: 12px; +} + +#SmallHeaderContainer #Banner #AuthenticationButton { + height: 20px; + font-weight: normal; + z-index: 1; + position: relative; + margin-top: 0; + top: 0; + left: 390px; +} + +#SmallHeaderContainer #Banner #AuthenticationButton a { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/btn_blue18h.png) repeat-x; + font-weight: bold; + color: White; + font-family: Arial; + font-size: 10px; + display: block; + width: 40px; + margin-left: 7px; + text-align: center; + margin-top: 5px; + height: 15px; + padding-top: 2px; + float: none; +} + +#SmallHeaderContainer #Banner #AuthenticationButton a:hover { + background-position: 0 -18px; + text-decoration: none; +} + +.BadAdButton:link { + color: #80ace6; + top: -2px; +} + +#SmallHeaderContainer .SignUpAndPlay { + width: 150px; + float: left; + left: 200px; + height: 40px; +} + +#SmallHeaderContainer #PlayNowButton { + float: right; + width: 160px; + margin-right: 20px; +} + +#Header .headLink { + position: absolute; + top: 4px; + left: 278px; + width: 348px; + height: 88px; +} + +#HeaderContainer { + position: relative; + margin: 0; + padding: 0; + width: 900px; + height: 225px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_03.jpg) repeat scroll 0 0 transparent; + background-position: 0 0; + background-repeat: no-repeat; + z-index: 6; +} + +#HeaderContainer #Banner { + height: 100px; + background: none; + position: relative; + bottom: 0; +} + +#HeaderContainer #Banner #Logo { + height: 70px; + left: 275px; + position: absolute; + top: 10px; + width: 350px; + margin: 0; + float: none; + background: none; +} + +#HeaderContainer #Banner #Authentication { + position: relative; + top: 0; + margin: 0; + height: 28px; + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + color: Black; + float: left; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t1.png) no-repeat left top; + padding: 0 0 0 2px; +} + +#HeaderContainer #Banner #Authentication #OldAuthenticationBannerSpan { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t2.png) no-repeat scroll right top transparent; + display: block; + height: 28px; + padding: 6px 10px 0; +} + +#HeaderContainer #Banner #Authentication a { + height: 18px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/btn_blue18h.png) repeat-x; + background-position: 0 0; + margin: 0 5px; + font-weight: bold; + font-size: 10px; + padding: 2px 5px; +} + +#HeaderContainer #Banner #Authentication a:hover { + background-position: 0 -18px; +} + +#HeaderContainer #Banner #Alerts { + background: Transparent; + border: none; + position: absolute; + width: 147px; + height: 81px; + bottom: 0; + right: 3px; + float: none; +} + +#Body { + _overflow: hidden; + min-height: 550px; + padding: 5px 0 25px 0; + background: white; + margin: 0 auto; + width: 900px; +} + +div#testingSitePanelWrapper, +#BodyWrapper { + margin: 0 auto; + width: 970px; + background: white; +} + +.favorited, +.notFavorited { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/favoriteStar_20h.png) no-repeat 0 -20px; + width: 21px; + height: 20px; + margin: 0; + display: inline-block; + position: relative; + top: 3px; + *display: inline; + *zoom: 1; +} + +.notFavorited { + background-position: 0 0; +} + +#Footer { + background: #e6e6e6; + text-align: center; + font-size: 13px; + color: #aaa; + margin: 0; + width: 100%; + padding: 2em 0 0 0; +} + +#Footer .FooterNav { + color: #bbb; +} + +#Footer .SEOGenreLinks { + padding: 1em 0 2em 0; + font-size: 11px; +} + +#Footer .Legalese { + font-size: 10px; + margin-bottom: 1em; +} + +#Footer .Legalese p { + margin: 0; + padding: 0; +} + +/* ~/CSS/RBX2/CSS/Upgrades.css */ +#CancelBuildersClubContainer h2, +#PaymentMethodsContainer h2, +#PaymentContainer h2, +#PayPalContainer h2, +#CashContainer h2, +#UpgradeCompleteContainer h2, +#ManageAccountUpgradesContainer h2, +#CancelAccountUpgradeContainer h2, +#AccountUpgradesConfirmationContainer h2 { + font-family: Arial, Helvetica, Sans-Serif; + color: #444; + font-size: 32px; + font-weight: bold; + letter-spacing: 0; +} + +#BuildersClubContainer #LeftColumn { + margin-left: 5px; +} + +#BuildersClubContainer #RightColumn { + margin-right: 5px; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + color: #000; + width: 285px; +} + +#BuildersClubContainer #RightColumn .StandardBox { + width: 273px; +} + +#BuildersClubContainer #RightColumn .StrongRed { + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + font-weight: bold; + color: #f00; +} + +#BuildersClubContainer #RightColumn h3 { + font-weight: bold; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 18px; + color: #333; +} + +#BuildersClubContainer #RightColumn .RefCode { + font-weight: bold; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 30px; + color: #666; + display: block; + margin-bottom: 16px; +} + +/* ~/CSS/RBX2/CSS/Utility.css */ +#Header { + font-family: Arial, Helvetica, sans-serif; + position: absolute; + bottom: 0; + text-align: left; +} + +#hlNews { + margin-right: 4px; +} + +#Header .SmallHeaderAlertSpaceLeft { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/bg-statbar-left.png") no-repeat scroll left center transparent; + *background: none; + height: 21px; + right: 2px; + width: auto; + padding-left: 4px; + float: right; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace { + float: left; + border: none; + position: relative; + top: 0; + width: auto; + margin: 0; + padding-right: 60px; + margin-left: auto; + margin-right: auto; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: bold; + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/bg-statbar-right-28h.png") no-repeat scroll right 0 transparent; + height: 28px; + padding-left: 9px; + padding-top: 1px; +} + +.SmallHeaderAlertSpaceLeft { + background: url("http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_bkg_t1.png") no-repeat scroll left; + height: 28px; + right: 2px; + padding-left: 3px; + float: right; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace a { + padding-right: 10px; + padding-left: 19px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_infobox_icons.png) no-repeat 0 0; + position: static; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace a:hover, +#Header .AlertSpace a:active { + text-decoration: none; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert { + border: none; + background: none; + display: inline; + float: left; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert a { + color: #444; + background-position: -2px -3px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert a:hover { + color: #aaa; + background-position: -2px -23px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert { + border: none; + background: none; + display: inline; + float: left; + width: auto; + padding: 0; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert a { + color: #080; + background-position: -1px -43px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert a:hover { + color: #0d0; + background-position: -1px -63px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert { + border: none; + background: none; + display: inline; + float: left; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert a { + color: #05b; + background-position: -2px -82px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert a:hover { + color: #0cf; + background-position: -2px -102px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert { + border: none; + background: none; + display: inline; + float: left; + margin-top: 4px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert a { + color: #a61; + background-position: -2px -123px; +} + +.SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert a:hover { + color: #fb6; + background-position: -2px -143px; +} + +.AlertSpace .icons, +.AlertSpace .icons a { + display: none; +} + +.AlertSpace .message_icon { + display: none; +} + +.AlertSpace .friends_icon { + display: none; +} + +.AlertSpace .robux_icon { + display: none; +} + +.AlertSpace .tickets_icon { + display: none; +} + +.OldAlertSpace .icons, +.OldAlertSpace .icons a { + display: none; +} + +.OldAlertSpace .message_icon { + display: none; +} + +.OldAlertSpace .friends_icon { + display: none; +} + +.OldAlertSpace .robux_icon { + display: none; +} + +.OldAlertSpace .tickets_icon { + display: none; +} + +#Header .Navigation { + width: 900px; + height: 30px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/topNav_blue.png); + background-position: 0 0; + text-align: center; + line-height: 20px; +} + +.Navigation ul { + margin: 0 auto; + padding: 0 0 0 58px; +} + +.Navigation li { + display: inline-block; + margin: 0; + padding: 6px 15px 0; + height: 24px; + font-size: 16px; + font-weight: bold; +} + +.Navigation li:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/topNav_blue.png); + background-position: 0 30px; +} + +.Navigation a { + display: inline-block; + color: #fff; +} + +.Navigation a:hover { + text-decoration: none; +} + +.Navigation ul li a, +.Navigation ul li a:visited { + border: none; + font-size: 16px; + padding: 0; +} + +.StandardBox { + padding: 5px; + margin-bottom: 8px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/standardBox_01_bkg.png) top repeat-x #fff; + border: 1px solid #aaa; + z-index: 0; +} + +.StandardBoxHeader, +.StandardBoxHeaderGray { + height: 33px; + padding: 0 7px 0 5px; + text-align: left; + z-index: 2; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_black_33h_t1.png) no-repeat left top; + font-family: Arial, Helvetica, sans-serif; + font-size: 20px; + font-weight: bold; + color: #fff; + z-index: 0; +} + +.StandardBoxHeaderGray { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_gray_33h_t1.png) no-repeat left top; +} + +.StandardBoxHeader span, +.StandardBoxHeaderGray span { + display: block; + width: 100%; + height: 29px; + padding: 5px 5px 0 2px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_black_33h_t2.png) no-repeat right top; + overflow: hidden; +} + +.StandardBoxHeaderGray span { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_gray_33h_t2.png) no-repeat right top; +} + +.StandardTabWhite { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_26h_t1.png) no-repeat left top; + padding: 0 4px; + float: none; + text-align: left; +} + +.StandardTabWhite span { + display: block; + width: 100%; + *width: 115%; + height: 26px; + padding: 5px 5px 0 9px; + *padding-right: 14px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_26h_t2.png) no-repeat right top; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + color: #000; + font-weight: normal; +} + +.StandardBoxWhite { + position: relative; + top: -1px; + background: #fff; + border: 1px solid #ccc; + padding: 8px; + color: Black; +} + +.StandardTabGray, +.StandardTabGrayActive { + position: relative; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t1.png) no-repeat left top; + background-position: left 0; + height: 31px; + padding: 0; + text-align: left; + cursor: pointer; + margin: 0; +} + +.StandardTabGray span, +.StandardTabGrayActive span { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t2.png) no-repeat right top; + background-position: right 0; + height: 25px; + padding: 6px 16px 0 8px; + margin: 0 0 0 4px; + color: #333; + font-family: Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: bold; + display: block; +} + +.StandardTabGray a, +.StandardTabGrayActive a { + color: #333; +} + +.StandardTabGrayActive { + background-position: left -62px; +} + +.StandardTabGrayActive span { + background-position: right -62px; +} + +.StandardTabGray:hover { + position: relative; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t1.png) no-repeat left top; + background-position: left -31px; + height: 31px; + padding: 0; + z-index: 2; + text-align: left; + margin: 0; +} + +.StandardTabGray span:hover { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t2.png) no-repeat right top; + background-position: right -31px; + height: 25px; + padding: 6px 16px 0 8px; + margin: 0 0 0 4px; + color: #333; + font-family: Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: bold; + display: block; +} + +.StandardBoxGray { + position: relative; + top: -2px; + padding: 8px 5px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/standardBox_01_bkg.png) top repeat-x #fff; + border: 1px solid #aaa; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace { + position: relative; + top: 0; + width: 155px; + height: 50px; + border: 1px solid #ccc; + margin: 0; + padding: 0; + margin-left: auto; + margin-right: auto; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: bold; + background: none; + float: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace a { + position: absolute; + width: 43px; + padding-left: 18px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_infobox_icons.png) no-repeat 0 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace a:hover, +#Header .AlertSpace a:active { + text-decoration: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert { + border: none; + background: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert a { + left: 13px; + top: 8px; + color: #444; + background-position: -2px 0; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert a:hover { + color: #aaa; + background-position: -2px -20px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert { + border: none; + background: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert a { + left: 13px; + top: 28px; + color: #080; + background-position: -2px -41px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert a:hover { + color: #0d0; + background-position: -2px -61px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert { + border: none; + background: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert a { + left: 79px; + top: 8px; + color: #05b; + background-position: -2px -81px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert a:hover { + color: #0cf; + background-position: -2px -101px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert { + border: none; + background: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert a { + left: 79px; + top: 28px; + color: #a61; + background-position: -2px -121px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert a:hover { + color: #fb6; + background-position: -2px -141px; +} + +.StandardBox .SmallHeaderAlertSpaceLeft div.icons, +a.icons { + display: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft div.message_icon { + display: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft div.friends_icon { + display: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft div.robux_icon { + display: none; +} + +.StandardBox .SmallHeaderAlertSpaceLeft div.tickets_icon { + display: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace { + position: relative; + top: 0; + width: 155px; + height: 50px; + border: 1px solid #ccc; + margin: 0; + padding: 0; + margin-left: auto; + margin-right: auto; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: bold; + background: none; + float: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace a { + position: absolute; + width: 43px; + padding-left: 18px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_infobox_icons.png) no-repeat 0 0; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace a:hover, +#Header .AlertSpace a:active { + text-decoration: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert { + border: none; + background: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert a { + left: 13px; + top: 8px; + color: #444; + background-position: -2px 0; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .MessageAlert a:hover { + color: #aaa; + background-position: -2px -20px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert { + border: none; + background: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert a { + left: 13px; + top: 28px; + color: #080; + background-position: -2px -41px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .RobuxAlert a:hover { + color: #0d0; + background-position: -2px -61px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert { + border: none; + background: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert a { + left: 79px; + top: 8px; + color: #05b; + background-position: -2px -81px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .FriendsAlert a:hover { + color: #0cf; + background-position: -2px -101px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert { + border: none; + background: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert a { + left: 79px; + top: 28px; + color: #a61; + background-position: -2px -121px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft .AlertSpace .TicketsAlert a:hover { + color: #fb6; + background-position: -2px -141px; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft div.icons, +a.icons { + display: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft div.message_icon { + display: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft div.friends_icon { + display: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft div.robux_icon { + display: none; +} + +.ProfileAlertPanel .SmallHeaderAlertSpaceLeft div.tickets_icon { + display: none; +} + +#GroupsPeopleContainer .StandardTabGray, +#GroupsPeopleContainer .StandardTabGrayActive { + position: relative; + top: 2px; +} + +.tab_white_31h_container .ajax__tab_header { + background: none; +} + +.tab_white_31h_container .ajax__tab_outer { + background: none; + height: auto; +} + +.tab_white_31h_container .ajax__tab_inner { + position: relative; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t1.png) no-repeat left top; + height: 31px; + padding-left: 0; + z-index: 2; +} + +.tab_white_31h_container .ajax__tab_header .ajax__tab_tab { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t2.png) no-repeat right top; + height: 25px; + padding: 6px 16px 0 8px; + margin: 0 0 0 4px; +} + +.tab_white_31h_container .ajax__tab_hover .ajax__tab_outer { + background: none; + height: auto; +} + +.tab_white_31h_container .ajax__tab_hover .ajax__tab_inner { + position: relative; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t1.png) no-repeat left top; + background-position: left -31px; + height: 31px; + padding-left: 0; + z-index: 2; +} + +.tab_white_31h_container .ajax__tab_hover .ajax__tab_tab { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t2.png) no-repeat right top; + background-position: right -31px; + height: 25px; + padding: 6px 16px 0 8px; + margin: 0 0 0 4px; +} + +.tab_white_31h_container .ajax__tab_active .ajax__tab_outer { + background: none; + height: auto; +} + +.tab_white_31h_container .ajax__tab_active .ajax__tab_inner { + position: relative; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t1.png) no-repeat left top; + background-position: left -62px; + height: 31px; + padding-left: 0; + z-index: 2; +} + +.tab_white_31h_container .ajax__tab_active .ajax__tab_tab { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_white_31h_t2.png) no-repeat right top; + background-position: right -62px; + height: 25px; + padding: 6px 16px 0 8px; + margin: 0 0 0 4px; +} + +.tab_white_31h_container .ajax__tab_body { + position: relative; + top: -2px; + padding: 8px 5px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/standardBox_01_bkg.png) top repeat-x #fff; + border: 1px solid #aaa; +} + +.Column2a { + float: left; +} + +.Column3b { + float: left; +} + +.Column2c { + float: left; + margin-left: 10px; +} + +.Column2d { + float: left; +} + +.Column1e { + width: 150px; +} + +.Column2e .StandardBoxHeaderGray { + margin: 0; + width: 726px; +} + +.Column2e .StandardBoxGray { + width: 726px; +} + +div.rbx2only { + display: block; +} + +.rbx2only { + display: inline; +} + +.rbx2hide { + display: none; +} + +#RobloxCentralBank { + overflow: hidden; +} + +.transparentBkg { + background-color: Transparent; +} + +.FriendRequestsPane { + width: 890px; +} + +.Shadow { + display: none; +} + +.ShadowedStandardBox .Header { + height: 33px; + padding: 0 7px 0 5px; + text-align: left; + z-index: 2; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_black_33h_t1.png) no-repeat left top; + font-family: Arial, Helvetica, sans-serif; + font-size: 20px; + font-weight: bold; + color: #fff; +} + +.ShadowedStandardBox .Header span { + display: block; + width: 100%; + height: 29px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/tab_black_33h_t2.png) no-repeat right top; + overflow: hidden; + height: 26px; + padding: 7px 4px 0 3px; +} + +.ShadowedStandardBox .Content { + padding: 5px; + margin-bottom: 8px; + background: none; + border: 0; + border-bottom: 1px solid #ccc; +} + +a.rss_icon { + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/topNav_rss.png) no-repeat; +} + +.Column1d .StandardTabWhite, +.Column2d .StandardTabWhite { + width: auto; +} + +.MyRobloxContainer { + width: 890px; +} + +.BCHat { + margin-top: 1px; +} + +.OldAlertSpace { + position: relative; + top: 0; + width: 147px; + height: 50px; + border: 1px solid #ccc; + margin: 0; + padding: 0; + margin-left: auto; + margin-right: auto; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-weight: bold; +} + +#Header .OldAlertSpace { + float: right; + border: none; + margin-left: 0; + margin-right: 0; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_sign.png) 0 0; + height: 78px; +} + +.OldAlertSpace a { + position: absolute; + width: 43px; + padding-left: 18px; + background: url(http://web.archive.org/web/20130713045325im_/https://www.roblox.com/images/cssspecific/rbx2/head_infobox_icons.png) no-repeat 0 0; +} + +.OldAlertSpace a:hover, +#Header .AlertSpace a:active { + text-decoration: none; +} + +.OldAlertSpace .MessageAlert { + border: none; + background: none; +} + +.OldAlertSpace .MessageAlert a { + left: 13px; + top: 8px; + color: #444; + background-position: -2px 0; +} + +.OldAlertSpace .MessageAlert a:hover { + color: #aaa; + background-position: -2px -20px; +} + +.OldAlertSpace .RobuxAlert { + border: none; + background: none; +} + +.OldAlertSpace .RobuxAlert a { + left: 13px; + top: 28px; + color: #080; + background-position: -2px -41px; +} + +.OldAlertSpace .RobuxAlert a:hover { + color: #0d0; + background-position: -2px -61px; +} + +.OldAlertSpace .FriendsAlert { + border: none; + background: none; +} + +.OldAlertSpace .FriendsAlert a { + left: 79px; + top: 8px; + color: #05b; + background-position: -2px -81px; +} + +.OldAlertSpace .FriendsAlert a:hover { + color: #0cf; + background-position: -2px -101px; +} + +.OldAlertSpace .TicketsAlert { + border: none; + background: none; +} + +.OldAlertSpace .TicketsAlert a { + left: 79px; + top: 28px; + color: #a61; + background-position: -2px -121px; +} + +.OldAlertSpace .TicketsAlert a:hover { + color: #fb6; + background-position: -2px -141px; +} \ No newline at end of file diff --git a/public/temp/css/FetchCSS2.css b/public/temp/css/FetchCSS2.css new file mode 100644 index 0000000..b5171b5 --- /dev/null +++ b/public/temp/css/FetchCSS2.css @@ -0,0 +1,3328 @@ +/* ~/CSS/Base/CSS/Roblox.css */ +a { + text-decoration: none; +} + +a img { + border: none; +} + +a:link, +a:visited, +a:active { + color: #095fb5; +} + +a:hover { + text-decoration: underline; +} + +abbr, +acronym { + cursor: help; + border-bottom: 1px dotted #000; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; + font-size: 100%; + font-weight: inherit; + display: inline-block; + *display: inline; + zoom: 1; +} + +.PrivacyPolicy h2 { + font-size: 1.5em; + font-weight: bold; +} + +.PrivacyPolicy h3 { + font-size: 1.17em; + font-weight: bold; +} + +pre { + white-space: pre-wrap; + white-space: -moz-pre-wrap !important; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + +input.Text { + border-color: #777; + border-style: dashed; +} + +.AdminPanel { + border-color: Orange; + border-style: dotted; + padding: 10px; +} + +.ImageButton { + cursor: pointer; + padding: 0; + border: 0; + text-decoration: none; + margin: 0; + display: inline-block; +} + +.Button { + cursor: pointer; + background-color: #fff; + border: solid 1px #333; + color: #333; + font-family: Verdana, Sans-Serif; + font-size: .9em; + padding: 3px 10px 3px 10px; + text-decoration: none; +} + +.Button:link, +.Button:visited { + border: solid 1px #777; + color: #777; +} + +.Button:hover, +.Button:active { + background-color: #6e99c9; + border: solid 1px #000; + color: #fff; +} + +.Bullet { + float: left; + margin-right: 10px; + margin-bottom: 4px; +} + +.Ads_RightSidebar { + border: solid 1px #000; + float: right; + text-align: right; + width: 160px; +} + +.Legalese { + font-size: 7pt; +} + +#Header { + margin: 0 auto; + color: White; + font: normal 12px/normal Verdana, sans-serif; + font-weight: bold; + width: 900px; + text-align: center; +} + +#Header a, +#Header a:visited, +#Header a:active { + text-decoration: none; +} + +#Header a:hover { + text-decoration: underline; +} + +#HeaderContainer #Banner { + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/WoodBanner.png); + background-repeat: no-repeat; + height: 72px; + text-align: center; +} + +.login-span, +.loginSpan { + top: 17px; + position: relative; + float: left; +} + +.login-span a { + color: white; +} + +#Banner #Options { + float: left; + height: 72px; + position: relative; + overflow: hidden; + width: 200px; +} + +#Banner #Authentication { + top: 0; + left: 0; + padding: 4px; + position: absolute; + background: #6E99C9; +} + +#Banner #AuthenticationButton { + height: 20px; + position: relative; + top: 0; + height: 40px; + font-weight: normal; + float: right; + z-index: 1; + margin-top: 10px; + left: 340px; +} + +#Banner #AuthenticationButton a { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/cssthemes/base/btn_blue.png") repeat-x scroll 0 0 transparent; + background-position: 0 0; + font-weight: bold; + color: White; + font-family: Arial; + font-size: 10px; + height: 16px; + display: block; + padding-top: 1px; + text-align: center; + width: 40px; + margin-top: 1px; + margin-left: 5px; +} + +#Banner #Options #Settings { + bottom: 0; + left: 0; + padding: 4px; + position: absolute; +} + +#Banner #Logo { + height: 34px; + left: 0; + position: absolute; + top: 5px; + width: 140px; + margin: 0; + float: none; + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/cssthemes/base/img-robloxlogo.png") no-repeat; +} + +#SmallHeaderContainer #Banner #Alerts { + background: Transparent; + border: none; + position: relative; + width: 350px; + height: 40px; + float: right; + padding-top: 9px; +} + +#HeaderContainer #Banner #Alerts { + float: right; + border: 1px solid #6E99C9; + background: #FFF; + width: 203px; +} + +#Header .Navigation { + clear: both; + background-color: #6e99c9; + color: #fff; + font-family: Arial, Helvetica, sans-serif; + font-size: 12pt; + font-weight: normal; + line-height: 2em; + text-decoration: none; +} + +#AdvertisingLeaderboard { + margin: 0 auto; + text-align: center; + padding-top: 5px; + margin-bottom: 10px; + width: 875px; +} + +#AdvertisingSkyscraper { + border: solid 1px #000; + float: right; + text-align: right; + width: 120px; +} + +#RobloxLargeRectangleAd { + padding: 10px 0 10px 0; +} + +#Footer { + font: normal 8px/normal Verdana, sans-serif; + padding: 3em 20px; + width: 860px; + text-align: center; + font-size: 13px; + margin: 0; +} + +#Footer .SEOGenreLinks { + padding: 1em 0 2em 0; + font-size: 11px; +} + +#Footer .Legalese { + color: #555; + font-size: 10px; + margin-bottom: 1em; +} + +#Footer .legal { + text-align: left; + width: 900px; + margin: 0 auto; +} + +#Footer .legal .left { + float: left; + margin: 0 5px; +} + +#Footer .legal .right { + float: left; + width: 845px; +} + +#Footer .legal #bbblink { + display: inline-block; + *display: inline; + *zoom: 1; +} + +#Footer .legal #TrusteLogo { + vertical-align: top; +} + +#Footer.LanguageRedesign { + background: #123f83; + font-family: Arial, Helvetica, sans-serif; +} + +#Footer.LanguageRedesign a, +#Footer.LanguageRedesign a, +#Footer.LanguageRedesign a, +#Footer.LanguageRedesign .FooterNav { + color: white; + font-family: Arial, Helvetica, sans-serif; +} + +#Footer.LanguageRedesign .FooterNav { + width: 970px; + margin: 0 auto; +} + +#Footer.LanguageRedesign .Legalese { + color: #899fc1; + font-family: Arial, Helvetica, sans-serif; + line-height: 20px; + margin-left: 5px; +} + +#Footer.LanguageRedesign .legal { + border-top: 1px solid #355C95; + padding-top: 20px; +} + +#Footer.LanguageRedesign span { + color: #899fc1; +} + +#Footer .LanguageOptionElement, +#Footer.LanguageRedesign .dropuplanguagecontainer, +#Footer .dropuplanguagecontainer { + display: none; + white-space: nowrap; +} + +#Footer.LanguageRedesign .LanguageOptionElement { + display: inline; + cursor: pointer; + height: 12px; +} + +#Footer.LanguageRedesign #Language { + color: white; + cursor: pointer; +} + +#Footer.LanguageRedesign .dropuplanguagecontainer { + display: block; + position: absolute; + bottom: 15px; + background-color: #E6E6E6; + color: black; + padding: 5px 0; + left: -9px; + border: 1px solid black; + white-space: nowrap; +} + +#Footer.LanguageRedesign .active .LanguageOption { + color: black; + padding: 0 5px; + white-space: nowrap; + display: block; +} + +#Footer.LanguageRedesign .active .LanguageOption:hover { + color: white; + background-color: #d6d6d6; +} + +#Footer.LanguageRedesign .LanguageTrigger { + position: relative; +} + +#Footer.LanguageRedesign .FooterArrow { + font-size: 10px; + position: relative; + top: -1px; +} + +.AdmiPanel { + border: solid 1px #000; + bottom: 20px; + overflow: hidden; + right: 10px; + padding-top: 15px; + position: fixed; + width: 200px; +} + +.AdmiPanel h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + margin: 0; + text-align: center; +} + +.AdmiPanelExpandCollapse { + color: green; + cursor: pointer; + font-weight: bolder; + position: absolute; + right: 2px; + top: 2px; +} + +.Panel { + border: solid 1px #000; +} + +.Panel h4 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + margin: 0; + text-align: center; +} + +.MultilineTextBox { + font-family: Verdana, Sans-Serif; + font-size: 1.2em; + line-height: 1.5em; + padding: 5px 5px; +} + +.TextBox { + border: 1px solid #ccc; + font-family: Verdana, Sans-Serif; + font-size: 1.2em; + padding: 5px; +} + +.Label { + font-weight: bold; +} + +.BigButton { + background-color: #F5CD2F; + color: #000; + height: 2.5em; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 20px; + font-weight: bold; +} + +.BigButtonDisabled { + background-color: #C0C0C0; + color: #000; + height: 2.5em; + font-family: Verdana, Helvetica, Sans-Serif; + font-size: 20px; + font-weight: bold; +} + +.ErrorReporting, +.ErrorReportingThanks { + width: 500px; + margin: 16px auto 16px auto; + padding: 10px; +} + +.YesNoButtons { + text-align: right; +} + +.YesButton, +.NoButton { + background-color: #F5CD2F; + color: #000; + margin-left: 10px; +} + +.popupControl { + background-color: #fff; + border: 1px outset #fff; + position: absolute; + visibility: hidden; + z-index: 1; +} + +.ColorPickerItem { + border-color: #fff; + border-style: solid; + border-width: 2px; +} + +.ColorPickerItem:hover { + border-color: #e1e1e1; + border-style: solid; + border-width: 2px; +} + +.ColorPickerModal { + display: none; + border-color: #888; +} + +.ColorPickerContainer { + height: 368px; + width: 368px; + margin: 0 auto; +} + +.modalBackground { + background-color: Gray; + filter: alpha(opacity=30); + opacity: .3; +} + +.modalPopup { + background-color: #ffd; + border-width: 3px; + border-style: solid; + border-color: Gray; + padding: 3px; +} + +.newModalPopup { + padding: 3px; +} + +.GuestModePromptText { + font-size: 14px; + color: #333; + margin-left: 30px; +} + +.GuestModePromptText li { + font-weight: bolder; +} + +.PopupMenu { + background-color: #fff; + border: solid 1px #666; + padding: 10px; + z-index: 1; +} + +.PopupMenu .Button { + line-height: 2.5em; +} + +.PopupMenu .Button:hover { + background-color: #6e99c9; + color: #fff; +} + +.Attention { + color: Red; +} + +.AttentionBold { + font-weight: bold; + color: Red; +} + +.OKCancelButton { + width: 80px; +} + +.MenuItem { + color: White; + font-size: 18px; + line-height: 2em; +} + +a.MenuItem:link, +a.MenuItem:visited, +a.MenuItem:active { + color: White; + text-decoration: none; +} + +a.MenuItem:hover { + text-decoration: underline; +} + +.Toolbox { + background-color: ButtonFace; + padding: 2px; +} + +.ToolboxItem { + border-color: Window; + border-style: solid; + border-width: 2px; + width: 52px; + height: 52px; +} + +.Grid { + background-color: White; + border-color: #CCC; + border-width: 1px; + border-style: solid; +} + +.GridHeader { + color: White; + background-color: #6E99C9; +} + +.GridItem { + color: #006; +} + +.GridItemAlt { + color: #006; + background: #EEE; +} + +.GridItem:hover { + background-color: #DDD; +} + +.GridItemAlt:hover { + background-color: #DDD; +} + +.GridFooter { + color: White; + background-color: #6E99C9; +} + +.GridPager { + color: White; + background-color: #6E99C9; + text-align: center; + font-weight: bold; +} + +.Title { + font-size: 18px; +} + +a.Title:link, +a.Title:visited, +a.Title:active { + text-decoration: none; +} + +a.Title:hover { + text-decoration: underline; +} + +.Header { + font-size: 14px; +} + +.Banner { + padding: 8px; +} + +.BannerText { + font-weight: bold; + color: white; +} + +a.BannerText:link, +a.BannerText:visited, +a.BannerText:active { + text-decoration: none; + color: white; +} + +a.BannerText:hover { + text-decoration: underline; + color: white; +} + +.PageSelector { + font-family: Verdana, Sans-Serif; + margin: 0 0 0 10px; +} + +.PageSelector label { + font-weight: bold; +} + +.DisplayFilters { + margin-right: 3px; + min-width: 0; + position: relative; +} + +.SearchBar { + background-color: #eee; + border: solid 1px #bbb; + height: 30px; + margin: -5px 0 5px 0; + padding: 0; + text-align: center; +} + +.SearchBar .SearchBox, +.SearchBar .SearchButton { + height: 30px; + margin: 0; + padding: 0; +} + +.SearchBar .TextBox { + border: solid 1px #000; + height: 19px; + margin: 2px 0 0 0; + padding: 2px 3px 0 3px; + width: 250px; +} + +.SearchLinks { + display: inline; + font-family: Verdana, Sans-Serif; + z-index: 9; +} + +.SearchLinks a span { + display: none; +} + +.SearchLinks a:hover { + border: none; + text-decoration: none; +} + +.SearchLinks a:hover span { + background-color: #6e99c9; + border-color: Gray; + border-style: ridge; + border-width: 1px; + color: white; + display: block; + font: 11px Verdana, sans-serif; + left: 15%; + line-height: 1.4em; + margin: 5px; + padding: 5px; + position: absolute; + text-align: center; + text-decoration: none; + top: 20px; + width: 60%; + z-index: 10; +} + +.SearchError { + clear: both; + margin: 2px; + float: none; + padding: 2px; + text-align: center; + color: Red; +} + +div.SystemAlert { + width: 906px; + margin: 0 auto 5px; + border: 1px solid gray; + background-color: #FFF; + text-align: center; + color: #FFF; + padding: 1px; +} + +.SystemAlertText { + font-size: 16px; + font-weight: bold; + background-color: #F00; + padding: 2px; +} + +.SystemAlert a { + color: White; +} + +.Exclamation { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Icons/exclamation.png) no-repeat; + height: 16px; + width: 16px; + float: left; +} + +.EmailTemplateTable { + border-collapse: collapse; +} + +.EmailTemplateH1 { + font-size: 18px; + color: #6E99C9; +} + +.EmailTemplateLogoRow { + padding: 3px; + margin-bottom: 5px; +} + +.EmailTemplateRow { + padding: 3px; + margin-bottom: 3px; + font-size: 14px; + font-family: Verdana, Helvetica, Sans-Serif; +} + +.EmailTemplateRow input { + font-size: 14px; + padding: 2px; + border: 1px solid #CCC; +} + +.EmailTemplateRow input:hover { + font-size: 14px; + padding: 2px; + border: 1px solid #CCC; + background: #6E99C9; +} + +.subMenu { + background: #A3514F; + background-repeat: repeat-x; + color: White; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + height: 26px; + position: relative; + border-left: solid 3px #6E99C9; + border-right: solid 3px #6E99C9; + border-bottom: solid 3px #6E99C9; + z-index: 5; +} + +.subMenu ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +.subMenu li { + float: left; + position: relative; +} + +.subMenu a, +.subMenu a:visited { + display: block; + padding: 5px; + border-right: 1px solid #FFF; + font-size: 14px; + color: #FFF; +} + +.subMenu .subMenuItemselected { + display: block; + padding: 5px; + border-right: 1px solid #FFF; + font-size: 14px; + color: #FFF; + font-weight: bold; + text-decoration: none; +} + +.subMenu ul ul a.subMenudrop, +.menu ul ul a.subMenudrop:visited { + font-weight: bold; + text-decoration: underline; +} + +.subMenu ul ul ul a, +.subMenu ul ul ul a:visited { + background: #A3514F; +} + +.subMenu ul ul ul a:hover { + text-decoration: underline; +} + +.subMenu ul ul { + visibility: hidden; + position: absolute; + height: 0; + left: 0; +} + +.subMenu ul ul ul { + left: 141px; + top: 0; + width: 149px; +} + +.subMenu ul ul ul.left { + left: -149px; +} + +.subMenu ul ul a, +.subMenu ul ul a:visited { + background: #A3514F; + color: #FFF; + height: auto; + padding: 4px 6px; + line-height: 1em; + width: 148px; + margin-left: -1px; + border-left: 1px solid #FFF; + border-right: none; +} + +.subMenu a:hover, +.subMenu ul ul a:hover { + text-decoration: underline; + background: #573333; +} + +.subMenu :hover>a, +.subMenu ul ul :hover>a { + text-decoration: underline; +} + +.subMenu ul li:hover ul, +.subMenu ul a:hover ul { + visibility: visible; +} + +.subMenu ul :hover ul ul { + visibility: hidden; +} + +.subMenu ul :hover ul :hover ul { + visibility: visible; +} + +.subMenu table { + position: absolute; + top: 0; + margin-top: 15px; + left: 0; + border-collapse: collapse; + background: #A3514F; + display: none; +} + +.subMenu table a, +.subMenu table a:visited { + border: none; + width: 148px; + padding-top: 8px; +} + +#LeftGutterAdContainer, +#GamesTakeoverGutterAdLeft { + position: fixed; + top: 0; + left: 50%; + margin-left: -900px; +} + +#RightGutterAdContainer, +#GamesTakeoverGutterAdRight { + position: fixed; + top: 0; + left: 50%; + margin-left: 500px; +} + +#RightGutterAdContainer.topMargin, +#LeftGutterAdContainer.topMargin, +#GamesTakeoverGutterAdLeft.topMargin, +#GamesTakeoverGutterAdRight.topMargin { + top: 25px; +} + +#GamesTakeoverGutterAdLeft, +#GamesTakeoverGutterAdRight { + z-index: 1000; +} + +.partnerLogo { + margin-right: 30px; + vertical-align: middle; +} + +.errorMsg { + font-weight: bold; + text-align: center; + display: block; + font-size: 1.5em; + margin: .83em 0; + letter-spacing: 1px; +} + +.facepile { + min-height: 0; +} + +.JSPager_Container a { + margin: 0 2px; +} + +.JSPager_Container a:hover { + cursor: pointer; +} + +.JSPager_Container a.disabled:hover { + cursor: default; +} + +.JSPager_Container a.disabled { + color: #000; + text-decoration: none; +} + +#FreeGames .SEOLinksContainer { + margin: 0 60px 0 0; + float: left; + color: #666; + font-size: 11px; +} + +#FreeGames ul { + list-style: none; +} + +.SquareTabGray { + list-style: none; + float: left; + background-color: #D6D6D6; + padding: 7px; + border: 1px solid #9e9e9e; + font: bold 15px arial; + color: #363636; + margin: 4px 2px 0 1px; + border-bottom-width: 0; + position: relative; + top: 2px; +} + +.SquareTabGray a { + text-decoration: none; + color: #363636; + cursor: pointer; +} + +.SquareTabGray a:hover { + text-decoration: none; + background-color: #e9e9e9; +} + +.SquareTabGray.selected a:hover, +.SquareTabGray.ui-tabs-selected a:hover { + text-decoration: none; + background-color: #fff; +} + +.SquareTabGray:hover { + background-color: #e9e9e9; + cursor: pointer; +} + +.SquareTabGray.selected, +.SquareTabGray.selected:hover, +.SquareTabGray.ui-tabs-selected, +.SquareTabGray.ui-tabs-selected:hover { + background-color: #fff; + margin-top: 0; + padding: 9px 7px 12px 7px; + border-bottom: 1px solid #fff; + position: relative; + top: 1px; + border-color: #ccc; +} + +.TabContent { + display: none; +} + +.TabContent.selected { + display: block; +} + +.StandardPanelContainer { + position: relative; + clear: both; + padding-left: 5px; +} + +.StandardPanelContainer .StandardPanelWhite { + background-color: #fff; + position: relative; + left: -5px; + top: -1px; + width: 100%; + padding: 6px; + margin-bottom: -6px; +} + +.WhiteSquareTabsContainer { + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Icons/MyMoney_fakeborderbg2.png') bottom repeat-x; + width: 100%; + position: relative; + padding: 0 0 0 5px; + display: inline-block; + margin: 0; +} + +.GreenBuyNowBtn.small { + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-buynow_grn_sm_v2.png') top left no-repeat; + width: 72px; + height: 23px; + display: inline-block; + margin: 1px; +} + +.GreenBuyNowBtn.medium { + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-buynow_grn_m_v2.png') top left no-repeat; + width: 112px; + height: 34px; + display: block; + margin: 1px; +} + +.GreenBuyNowBtn.small:hover, +.GreenBuyNowBtn.medium:hover { + background-position: bottom left; + cursor: pointer; +} + +.GreenBuyNowBtn.small.BtnDisabled { + background-position: 0 -23px; + cursor: default; +} + +.GreenBuyNowBtn.medium.BtnDisabled { + background-position: 0 -34px; + cursor: default; +} + +.GreenBuyNowSharpBtn.small.rentable { + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-rent-small.png') top left no-repeat; + width: 60px; + height: 23px; + display: inline-block; + margin: 1px; +} + +.SuperSafePanel { + position: relative; + display: block; + height: 0; + z-index: 1001; +} + +img.SuperSafePrivacyModeImg:hover { + cursor: pointer; +} + +#CreateSetPopupContainerDiv .SuperSafePanel { + left: 324px; +} + +#Container.unfixed, +#MasterContainer.unfixed { + width: 970px; +} + +.mySubmenuFixed.unfixed { + position: relative !important; + top: 0 !important; +} + +#SmallHeaderContainer #Banner.unfixed { + position: relative; + height: 36px; + width: 970px; +} + +#HeaderContainer #Banner.unfixed { + position: relative; + height: 36px; + width: 970px; +} + +#SmallHeaderContainer.unfixed { + position: relative; +} + +.forceSpaceUnderSubmenu { + height: 23px; + display: block; +} + +.forceSpaceUnderSubmenu.unfixed { + display: none; +} + +#Container #Banner.unfixed, +#Container .site-header.unfixed { + position: relative; +} + +.forceSpace { + display: block; + width: 100%; + height: 40px; + padding-top: 0; +} + +.forceSpace.unfixed { + height: 3px; +} + +/* ~/CSS/Base/CSS/iFrameLogin.css */ +#iFrameLogin { + position: absolute; + top: 26px; + right: 0; + width: 340px; + height: 80px; + border: 1px solid #0C3060; + border-top: none; +} + +.fbSplashPageConnect { + margin: 5px 0; +} + +#facebookSignIn { + text-align: center; + margin-top: 8px; + margin-bottom: 10px; +} + +a.facebook-login, +a.facebook-login:visited { + display: inline-block; + text-decoration: none; + font-weight: normal !important; + font-size: 12px !important; +} + +a.facebook-login:hover span.left, +a.facebook-login:hover span.middle { + background-position: left bottom; +} + +a.facebook-login:hover span.right { + background-position: right bottom; +} + +a.facebook-login span.left, +a.facebook-login span.right, +a.facebook-login span.middle { + float: left; + height: 25px; + line-height: 14px; +} + +a.facebook-login span.left { + width: 27px; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/facebook/bg-fblogin_sides.png) left top no-repeat; +} + +a.facebook-login span.middle { + height: 18px; + width: auto; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/facebook/bg-fblogin_middle.png) left top repeat-x; + color: #394f7d; + padding: 7px 2px 0 6px; +} + +a.facebook-login span.middle span { + display: block; + color: #fff; + position: relative; + bottom: 16px; +} + +a.facebook-login span.right { + width: 5px; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/facebook/bg-fblogin_sides.png) right top no-repeat; +} + +.LoginFormLabel { + font: normal 11px arial; + color: black; +} + +.LoginFormInput { + width: 150px; + height: 19px; + border: 1px solid #A7A7A7; + background: #fff; + padding-left: 4px; + *margin-left: -10px; +} + +.LoginFormFieldSet { + position: relative; + height: 39px; + *margin-top: -10px; +} + +.UserNameDiv { + float: left; + width: 156px; +} + +.PasswordDiv { + float: right; + width: 158px; + position: relative; +} + +.ResetPassword { + font: normal 11px Arial; + color: #095FB5; + right: 0; + position: absolute; +} + +.newLogin { + margin: 10px; +} + +#SocialNetworkSignIn { + border-top: 1px solid #ACACAC; +} + +.iFrameBlueLogin { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/btn-login.png") no-repeat; + background-position: 0 0; + height: 23px; + width: 54px; + position: absolute; + right: 0; + top: 50%; + margin-top: -12px; +} + +.iFrameBlueLogin:hover { + background-position: 0 -23px; +} + +.iframe-login-signup { + margin-top: 6px; + float: right; + position: relative; +} + +.header-login .grey-arrow { + color: #666; + font-size: 12px; +} + +.btn-control.btn-control-large.header-login.active { + background-image: none; + background-color: #e1e1e1; + border-color: #000; +} + +.header-login { + font-weight: bold; + display: inline-block; + width: 62px; + position: relative; + cursor: pointer; + letter-spacing: -1px; +} + +.header-signup { + font-family: Arial; + font-weight: bold; + color: #fff; + font-size: 13px; + position: relative; + *top: -2px; +} + +#header-or { + font-family: Arial; + font-weight: normal; + color: #9Ec3E7; + font-size: 13px; + position: relative; + margin: 0 6px; + *top: -2px; +} + +.login-frame { + height: 100%; + width: 100%; +} + +/* ~/CSS/Base/CSS/GenericModal.css */ +.GenericModal .Title, +.ConfirmationModal .Title { + font-family: Arial, Helvetica, Sans-Serif; + font-weight: bold; + font-size: 27px; + color: #363636; + margin: 5px; + letter-spacing: -1px; +} + +.GenericModal { + padding: 5px; + *top: -150px; +} + +.GenericModalBody { + background-color: #fff; + padding: 10px; +} + +.GenericModal .Message { + display: inline-block; + width: 275px; + vertical-align: middle; + font: bold 15px Arial, Helvetica, Sans-Serif; + letter-spacing: 0; + font-size-adjust: none; + font-stretch: normal; + margin-bottom: 5px; + float: none; +} + +.GenericModal.noImage .Message { + width: 100%; + text-align: center; +} + +.GenericModal div.ImageContainer { + display: inline-block; + height: 110px; + width: 110px; + overflow: hidden; + vertical-align: middle; + margin-left: -15px; + *float: left; + *margin-left: 0; +} + +.GenericModal.noImage div.ImageContainer { + display: none; +} + +.GenericModal img.GenericModalImage { + display: inline-block; + max-height: 110px; + max-width: 110px; +} + +.GenericModal .GenericModalButtonContainer { + text-align: center; + margin: 5px auto; +} + +.largeModal .GenericModalBody { + position: relative; +} + +.largeModal div.ImageContainer { + position: absolute; + left: 35px; + top: 50%; + margin-top: -55px; +} + +div.GenericModalErrorMessage { + font-size: 12px; + font-weight: normal; + text-align: left; +} + +.ConfirmationModal .BlueYes { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/blue_yes2.png") top; + width: 101px; +} + +.ConfirmationModal .BlueNo { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/blue_no.png") top; + width: 106px; +} + +.ConfirmationModal .GreyYes { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/grey_yes.png") top; + width: 112px; +} + +.ConfirmationModal .GreyNo { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/grey_no2.png") top; + width: 100px; +} + +.ConfirmationModal .GreyNo, +.ConfirmationModal .GreyYes, +.ConfirmationModal .BlueYes, +.ConfirmationModal .BlueNo, +.SwitchNowButton, +.NoThanksButton { + height: 50px; + display: inline-block; + cursor: pointer; + margin-right: 4px; +} + +.ConfirmationModal .GreyNo:hover, +.ConfirmationModal .GreyYes:hover, +.ConfirmationModal .BlueNo:hover, +.ConfirmationModal .BlueYes:hover, +.SwitchNowButton, +.NoThanksButton { + background-position: bottom; + cursor: pointer; +} + +.ConfirmationModalButtonContainer { + clear: both; + text-align: center; + padding-bottom: 20px; + padding-top: 1px; + height: 50px; +} + +.ConfirmationModalButtonContainer a { + margin-right: 6px; + cursor: pointer; +} + +.ConfirmationModalFooter { + letter-spacing: normal; + color: #666; + font: normal 12px Arial, Helvetica, Sans-Serif; + text-align: center; + padding-bottom: 7px; +} + +.ConfirmationModal.noImage .Message { + max-width: 395px; + width: 395px; + text-align: center; + position: relative; + left: 0; + top: 4px; +} + +.ConfirmationModal .Message { + margin-top: 0; + float: none; + width: 270px; + position: relative; + top: 30%; + left: 127px; + vertical-align: middle; + font: bold 15px Arial, Helvetica, Sans-Serif; + letter-spacing: 0; + font-size-adjust: none; + font-stretch: normal; + text-align: left; + *left: 63px; + *top: 20%; +} + +.ConfirmationModal div.ImageContainer { + position: absolute; + height: 110px; + width: 110px; + *left: 20px; +} + +.ConfirmationModal.noImage div.ImageContainer { + display: none; +} + +.ConfirmationModal img.GenericModalImage { + display: inline-block; + max-height: 110px; + max-width: 110px; +} + +div.ConfirmationModal div.GenericModalBody { + padding: 0; +} + +div.ConfirmationModal.noImage div.TopBody { + overflow: hidden; + padding: 15px 15px 20px 15px; + height: auto; +} + +div.ConfirmationModal div.TopBody { + padding: 15px 15px 22px 15px; + height: 110px; +} + +div.ConfirmationModal { + padding: 5px; + *top: -150px; +} + +a.genericmodal-close { + margin-left: 400px; +} + +/* ~/CSS/Base/CSS/UnifiedModal.css */ +.unifiedModal { + background-color: #e1e1e1; + font: bold 27px Arial; + letter-spacing: -2px; + color: #363636; + border: 2px solid #272727; + text-align: center; + position: relative; +} + +.unifiedModalContent { + text-align: left; + background-color: White; + color: #000; + font: Bold 15px Arial; + margin-left: 5px; + margin-right: 5px; + margin-bottom: 5px; + letter-spacing: normal; +} + +.unifiedModalSubtext { + color: #666; + font: bold 12px Arial; + border: none; + letter-spacing: normal; + cursor: pointer; + text-align: center; + margin-top: 10px; + padding-bottom: 5px; +} + +.smallModal { + width: 425px; +} + +.closeBtnCircle_20h:hover { + background-position: 0 20px; +} + +.closeBtnCircle_20h { + width: 20px; + height: 20px; + cursor: pointer; + position: absolute; + top: 5px; + left: 5px; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-x.png); +} + +.unifiedModal .smallModal .closeBtnCircle_20h { + margin-left: 395px; +} + +/* ~/CSS/Base/CSS/Profile.css */ +legend span { + color: #777; + line-height: 6px; +} + +#EditProfileContainer { + background-color: #eee; + border: solid 1px #000; + color: #555; + margin: 0 auto; + width: 620px; +} + +#EditProfileContainer h2 { + background-color: #ccc; + border-bottom: solid 1px #000; + color: #333; + font-size: x-large; + margin: 0; + text-align: center; +} + +#EditProfileContainer h3 { + text-align: center; +} + +#EditProfileContainer fieldset { + font-size: 1.2em; + margin: 15px 0 0 0; +} + +#EditProfileContainer .MultilineTextBox { + width: 250px; +} + +#EditProfileContainer .TextBox { + vertical-align: middle; + width: 150px; +} + +#EditProfileContainer .Label { + vertical-align: middle; +} + +#EditProfileContainer #Confirmation { + border: dashed 1px #f00; + background-color: #ccc; + color: #f00; + font-family: Verdana, Sans-Serif; + margin: 0 auto; + margin-top: 10px; + padding: 10px 5px; + text-align: center; + width: 410px; +} + +#EditProfileContainer #AgeGroup, +#EditProfileContainer #ChatMode, +#EditProfileContainer #PrivacyMode, +#EditProfileContainer #ResetPassword, +#EditProfileContainer #Blurb { + margin: 0 auto; + width: 60%; +} + +#EditProfileContainer #EnterEmail { + margin: 0 auto; + width: 60%; + text-align: left; +} + +#EditProfileContainer .Buttons { + margin: 20px 0 20px 0; + text-align: center; +} + +#EditProfileContainer .AgeGroupRow, +#EditProfileContainer .ChatModeRow { + font-size: .9em; + margin: 10px 0 10px 100px; +} + +#EditProfileContainer .ResetPasswordRow { + margin: 10px 0; + text-align: center; +} + +#EditProfileContainer .BlurbRow { + padding: 10px 4px 10px 4px; + text-align: right; +} + +#EditProfileContainer .Legend { + color: Blue; + margin-left: 9px; +} + +#EditProfileContainer .Suggestion { + font: normal .8em/normal Verdana, sans-serif; + padding-left: 9px; +} + +#EditProfileContainer .Validators { + margin-left: 9px; +} + +.GrayButton, +.GrayButton:link, +.GrayButton:visited, +.GrayButton:active { + background: url(/images/buttons/StyleGuide/bg-form_btn_lg-tile.png) repeat-x top left; + border: 1px solid #777; + padding: 4px 8px 0; + height: 21px; + font: 13px Arial, Helvetica, sans-serif; + color: #000; + text-align: center; + display: block; + float: left; +} + +.GrayButton:hover { + background-position: bottom left; + border-color: #888; + text-decoration: none; +} + +.GrayButton.Disabled { + border: 1px solid #ccc; + color: #a7a7a7; + cursor: default; +} + +.GrayButton.Disabled:hover { + background-position: top left; +} + +.GrayDropdown { + position: relative; + text-align: left; + display: block; + float: left; +} + +.GrayDropdown .Button { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/buttons/bg-drop_down_btn.png) no-repeat right top; + border: 1px solid #777; + padding: 4px 17px 0 8px; + height: 21px; + font: 13px Arial, Helvetica, sans-serif; + color: #000; + text-align: center; + display: block; + position: relative; + z-index: 2; +} + +.GrayDropdown .Button:hover { + background-position: right center; + border-color: #888; + text-decoration: none; +} + +.GrayDropdown .Button.Active { + background-position: right bottom; + border-bottom: none; + height: 22px; +} + +.GrayDropdown .Menu { + background-color: #efefef; + border: 1px solid #777; + position: absolute; + top: 26px; + z-index: 1; + font: 12px normal Arial, Helvetica, sans-serif; + width: 100px; + display: none; +} + +.GrayDropdown .Menu .Item { + display: block; + text-decoration: none; + color: #000; + padding: 2px 8px; + margin: 4px 0; + cursor: pointer; +} + +.GrayDropdown .Menu .Item.Disabled { + color: #A7A7A7; +} + +.GrayDropdown .Menu .Item:hover { + background-color: #095fb5; + color: #fff; +} + +.GrayDropdown .Menu .Item.Disabled:hover { + background-color: inherit; + color: #a7a7a7; + cursor: default; +} + +.SendMessageProfileBtnDiv { + position: relative; + display: inline-block; + float: left; +} + +.SendMessageProfileBtnDiv .SuperSafePanel { + left: 7px; +} + +#updateStatusBox .SuperSafePanel { + left: 474px; +} + +.friend-request-button:hover { + cursor: pointer; +} + +.friend-request-button.Disabled:hover { + cursor: default; +} + +/* ~/CSS/Base/CSS/StyleGuide.css */ +body { + background-color: #fff; + margin: 0; +} + +body, +.text, +pre { + font-family: Arial, Helvetica, sans-serif; + color: #000; + font-size: 12px; +} + +.text { + font-weight: normal; +} + +.tip-text { + padding-top: 2px; + color: #666; + display: block; + font-size: 11px; +} + +h1, +h1 a, +h1 a:visited, +h1 a:active, +h1 a:link { + font-size: 40px; + font-weight: bold; + letter-spacing: -2px; + margin: 12px 0 12px 0; + color: #363636; + letter-spacing: -2px; + margin: 12px 0 12px; +} + +h1 a, +h1 a:visited, +h1 a:active, +h1 a:link { + margin: 0; +} + +h1 a:hover { + text-decoration: none; +} + +h2 .text, +h2 { + font-size: 16px; + font-weight: bold; + color: #000; + text-transform: uppercase; +} + +h2.title { + margin-top: 20px; + margin-bottom: 20px; +} + +h2.light { + font-size: 16px; + font-weight: normal; + color: #000; +} + +h3, +h3 a { + font-size: 15px; + font-weight: bold; + color: #363636; +} + +.divider-top { + border-top: 1px solid #ccc; +} + +.divider-bottom { + border-bottom: 1px solid #ccc; +} + +.divider-left { + border-left: 1px solid #ccc; +} + +.divider-right { + border-right: 1px solid #ccc; +} + +.blank-box { + border: 1px solid #ccc; +} + +.dark-box { + border: 1px solid #bcbcbc; + background: #e1e1e1; + padding: 5px; +} + +.sub-divider-bottom { + border-bottom: 1px solid #ededed; +} + +a.text-link { + font-weight: normal; + text-decoration: none; + color: #095fb5; +} + +a.text-link:hover { + text-decoration: underline; +} + +.table td, +.table th { + padding: 5px; + border-top: 1px solid #ccc; + margin: 0; + float: left; + text-align: left; +} + +table.table { + border-top: 1px solid #9e9e9e; +} + +.table-header th { + border-left: 1px solid #ccc; + font-weight: bold; + background-color: #f1f1f1; + border-top: none; +} + +.table-header .first { + border-left: 1px solid #f1f1f1; +} + +.tool-tip { + border: 1px solid #ccc; + font-weight: normal; + font-size: 12px; + margin-left: 20px; + position: relative; + width: 120px; + padding: 5px; +} + +.tool-tip span { + color: #a00; +} + +.tool-tip .right { + position: absolute; + left: -10px; + top: 50%; + margin-top: -5px; +} + +.tool-tip .bottom { + position: absolute; + top: -10px; + left: 5px; +} + +.validator-checkmark { + width: 15px; + height: 13px; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/UI/img-check.png) no-repeat; + margin-left: 5px; + display: none; +} + +.text-box { + border: 1px solid #a7a7a7; + padding: 0 3px; + font-weight: normal; +} + +.text-box.text-box-small { + height: 18px; + font-size: 11px; + line-height: 18px; + border: 1px solid #a7a7a7; +} + +.text-box.text-box-medium { + height: 21px; + font-size: 12px; + line-height: 19px; +} + +.text-box.text-box-large { + height: 25px; + line-height: 24px; + font-size: 13px; +} + +.text-box.text-area-medium { + line-height: 19px; +} + +.btn-control, +.btn-control:active, +.btn-control:link, +.btn-control:visited, +.btn-control:hover { + border: 1px solid #777; + padding: 0 6px; + color: #000; + text-decoration: none; + background-color: #ccc; + text-align: center; + font-weight: normal; + cursor: pointer; + background-position: top; + display: inline-block; + *zoom: 1; + *display: inline; +} + +.btn-control:hover { + background-position: bottom; + border-color: #888; + text-decoration: none; +} + +.btn-control.disabled { + border: 1px solid #ccc; + cursor: default; + color: #a7a7a7; + background-position: center; +} + +.btn-control.btn-control-small { + height: 18px; + line-height: 18px; + font-size: 11px; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/StyleGuide/btn-control-small-tile.png); +} + +.btn-control.btn-control-medium { + height: 21px; + line-height: 21px; + font-size: 12px; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/StyleGuide/btn-control-medium-tile.png); +} + +.btn-control.btn-control-large { + height: 25px; + line-height: 24px; + font-size: 13px; + padding: 0 7px; + background-image: url(/images/buttons/StyleGuide/btn-control-large-tile.png); +} + +a.btn-control.top-level { + font-weight: bold; +} + +.btn-large, +.btn-medium, +.btn-small { + margin: 0; + display: inline-block; + zoom: 1; + text-align: center; + font-weight: bold; + text-decoration: none; + letter-spacing: -1px; + border-width: 1px; + border-style: solid; + cursor: pointer; + *display: inline; + *vertical-align: top; +} + +.PurchaseModal .btn-large, +.PurchaseModal .btn-medium, +.PurchaseModal .btn-small { + *margin-right: 5px; + *vertical-align: top; +} + +.btn-large { + padding: 9px 13px 0 13px; + height: 39px; + min-width: 70px; + font-size: 23px; + line-height: 27px; + background-position: left 0; +} + +.btn-large:hover, +.btn-medium:hover, +.btn-small:hover { + text-decoration: none; +} + +.btn-large:hover { + background-position: left -48px; +} + +.btn-medium { + padding: 4px 13px 0 13px; + height: 28px; + min-width: 62px; + font-size: 20px; + line-height: 23px; + background-position: left -96px; +} + +.btn-medium:hover { + background-position: left -128px; +} + +.btn-small { + padding: 1px 7px 0 7px; + height: 20px; + min-width: 40px; + font-size: 15px; + line-height: 18px; + background-position: left -160px; +} + +.btn-small:hover { + background-position: left -181px; +} + +.btn-primary, +.btn-primary:link, +.btn-primary:active, +.btn-primary:visited { + border-color: #007001; + background-color: #007001; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-green.png); + color: #013401; +} + +.btn-neutral, +.btn-neutral:link, +.btn-neutral:active, +.btn-neutral:visited { + border-color: #0852b7; + background-color: #0852b7; + background-image: url(/images/buttons/StyleGuide/bg-btn-blue.png); + color: #00243d; +} + +.btn-negative, +.btn-negative:link, +.btn-negative:active, +.btn-negative:visited { + border-color: #565656; + background-color: #565656; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray.png); + color: #222; +} + +.btn-disabled-primary, +.btn-disabled-primary:hover, +.btn-disabled-neutral, +.btn-disabled-neutral:hover, +.btn-disabled-negative, +.btn-disabled-negative:hover { + cursor: default; + background-position: left -202px; +} + +.btn-disabled-primary, +.btn-disabled-primary:link, +.btn-disabled-primary:active, +.btn-disabled-primary:visited { + background-color: #99c699; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-green.png); + border-color: #99c699; + color: #9aa89a; +} + +.btn-disabled-neutral, +.btn-disabled-neutral:link, +.btn-disabled-neutral:active, +.btn-disabled-neutral:visited { + background-color: #9cbae2; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue.png); + border-color: #9cbae2; + color: #99a7b1; +} + +.btn-none { + display: none; +} + +.btn-disabled-negative, +.btn-disabled-negative:link, +.btn-disabled-negative:active, +.btn-disabled-negative:visited { + background-color: #bbbcbb; + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray.png); + border-color: #bbbcbb; + color: #a5a5a5; +} + +.btn-text { + display: block; + margin: 0; + position: relative; + color: #fff; +} + +.btn-text:hover { + text-decoration: none; +} + +.btn-large .btn-text { + bottom: 26px; +} + +.btn-medium .btn-text { + bottom: 22px; +} + +.btn-small .btn-text { + bottom: 17px; +} + +.btn-large-green-play, +.btn-play, +.btn-play:active, +.btn-play:visited, +.btn-play:link { + padding-left: 60px; + border-color: #007001; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-lg-green-play.png) no-repeat left top; + color: #013401; + min-width: 26px; +} + +.blue-arrow { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue-arrow-md.png) right top; + border-color: #0852b7; + color: #00243d; + padding-right: 36px; + min-width: 41px; +} + +.gray-arrow { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray-arrow-md.png) right top; + border-color: #565656; + color: #222; + padding-right: 36px; + min-width: 41px; +} + +.gray-arrow:hover, +.blue-arrow:hover { + background-position: right -64px; +} + +.disabled-blue-arrow, +.disabled-blue-arrow:hover { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-blue-arrow-md.png) right -32px; + border-color: #9cbae2; + color: #99a7b1; + padding-right: 36px; + cursor: default; + min-width: 41px; +} + +.disabled-gray-arrow, +.disabled-gray-arrow:hover { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/StyleGuide/bg-btn-gray-arrow-md.png) right -32px; + border-color: #bbbcbb; + color: #a5a5a5; + padding-right: 36px; + cursor: default; + min-width: 41px; +} + +.pager.first, +.pager.last { + display: none; +} + +.pager.previous { + display: inline-block; + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/Arrows/btn-silver-left-27.png') no-repeat top left; + width: 27px; + height: 27px; +} + +.pager.next { + display: inline-block; + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/Arrows/btn-silver-right-27.png') no-repeat top left; + width: 27px; + height: 27px; +} + +.page.text { + position: relative; + top: -8px; + padding: 5px; + *top: -4px; +} + +.pager.previous:hover, +.pager.next:hover { + background-position: bottom left; + cursor: pointer; +} + +.pager.disabled, +.pager.disabled:hover { + background-position: 0 -27px; + cursor: default; +} + +.dropdown { + position: relative; + text-align: left; + display: block; + float: left; +} + +.dropdown .button { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/buttons/bg-drop_down_btn.png) no-repeat right top; + font-size: 13px; + color: #000; + text-align: center; + display: block; + position: relative; + z-index: 2; + height: 21px; + padding: 4px 17px 0 8px; + border: 1px solid #777; + bottom: -1px; +} + +.dropdown .button:hover { + background-position: right center; + border-color: #888; + text-decoration: none; +} + +.dropdown .button.active { + background-position: right bottom; + border-bottom: none; +} + +.dropdown .button.gear { + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/BuildPage/btn-gear_sprite_27px.png); + height: 27px; + border: none; + bottom: 0; + width: 40px; + padding: 0; +} + +.dropdown .dropdown-list { + background-color: #efefef; + border: 1px solid #777; + position: absolute; + top: 26px; + z-index: 1; + font-size: 12px; + font-weight: normal; + display: none; + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + padding-left: 0; + white-space: nowrap; +} + +.dropdown .dropdown-list li { + display: block; + text-decoration: none; + color: #000; + padding: 2px 8px; + margin: 4px 0; + cursor: pointer; +} + +.dropdown .dropdown-list li:hover { + background-color: #095fb5; + color: #fff; +} + +.dropdown .dropdown-list li a { + display: block; + color: inherit; + text-decoration: none; +} + +span.robux { + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Icons/img-robux.png') no-repeat 0 1px; + color: #060; + font-weight: bold; + padding: 0 0 2px 20px; + font-size: 12px; +} + +span.tickets { + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Tickets.png') no-repeat 0 1px; + color: #A61; + padding: 0 0 2px 20px; + font-weight: bold; + font-size: 12px; +} + +.robux-text { + color: #060; + font-weight: bold; +} + +.form-outer { + overflow: hidden; + width: 100%; + clear: both; +} + +.form-label { + font-size: 13px; + color: black; + font-weight: bold; +} + +.form-inner.label-column { + float: left; + margin-right: 5px; +} + +.form-label { + font-size: 13px; + color: black; + font-weight: bold; +} + +.form-inner.input-column { + overflow: hidden; + text-align: left; +} + +.form-select { + margin: 0 5px 0; + height: 21px; +} + +.emphasizedText { + font-style: italic; +} + +.error-message { + color: black; + background-color: #FAE5E5; + border: solid 1px #c00; + margin-bottom: 10px; + text-align: left; + padding: 3px 10px; +} + +.footnote { + color: #666; +} + +.urgent-text { + color: #c00; + font-weight: bold; +} + +a[disabled=disabled], +a[disabled=disabled]:hover, +a[disabled], +a[disabled]:hover { + text-decoration: none; + cursor: default; + color: #808080; +} + +.stat-label { + font-size: 11px; + color: #888; + line-height: 1.5em; +} + +.stat { + font-size: 11px; + color: #000; + line-height: 1.5em; +} + +.hint-text { + font-style: italic; + color: #ccc; +} + +.status-confirm { + background-color: #e5effa; + border: 1px solid #06C; + padding: 5px 10px; +} + +.status-error { + background-color: #FAE5E5; + border: 1px solid #C00; + padding: 5px 10px; +} + +.info-tool-tip { + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/questionmark-12x12.png) no-repeat; + padding-left: 10px; +} + +.tab-container { + overflow: hidden; + padding-left: 5px; +} + +.redesign .tab_white_31h_container .ajax__tab_inner, +.tab { + float: left; + background-color: #D6D6D6; + padding: 7px; + border: 1px solid #9e9e9e; + font: bold 15px arial; + margin: 4px 2px 0 1px; + border-bottom-width: 0; + position: relative; + top: -1px; +} + +.redesign .tab_white_31h_container .ajax__tab_hover .ajax__tab_inner, +.tab:hover { + background-color: #e9e9e9; + cursor: pointer; +} + +#ItemContainer .redesign .tab_white_31h_container .ajax__tab_inner h3, +.tab a { + color: #363636; + font-size: 15px; + font-weight: bold; +} + +.redesign .tab_white_31h_container .ajax__tab_active .ajax__tab_inner, +.tab.active { + background-color: #fff; + margin-top: 0; + padding: 9px 7px 9px 7px; + border-bottom: 0; + position: relative; + border-color: #ccc; + z-index: 1; + margin: 0 1px 0 0; + top: 1px; +} + +.redesign .tab_white_31h_container .ajax__tab_panel, +.tab-content { + top: -1px; + position: relative; + background-color: #fff; + border-top: 1px solid #CCC; +} + +.arrow { + cursor: pointer; + background-repeat: no-repeat; + width: 17px; + height: 50px; + display: inline-block; +} + +.arrow:hover { + background-position: 0 -51px; +} + +.arrow.disabled { + cursor: default; + background-position: 0 -102px; + width: 17px; + height: 50px; +} + +.arrow.left { + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/GamesPage/arrow_left.png); +} + +.arrow.right { + background-image: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/GamesPage/arrow_right.png); +} + +.online-player { + font-size: 12px; + color: #393; +} + +.invisible { + display: none; +} + +.selected-text { + font-weight: bold; +} + +.verticaltab { + text-decoration: none; +} + +.verticaltab:hover { + background: #EFEFEF; +} + +.verticaltab.disabled:hover { + background: none; + border: none; + text-decoration: none; + cursor: default; +} + +.verticaltab.selected { + background: #EFEFEF; + border: 1px solid #CCC; + font-weight: bold; + border-right: none; + text-align: left; +} + +.verticaltab a { + top: 0; + left: 0; + right: 0; + bottom: 0; + font-size: 14px; + color: #363636; + position: relative; + display: block; + z-index: 2; + height: 35px; + line-height: 35px; + text-decoration: none; + padding-left: 15px; +} + +.verticaltab a:hover, +.verticaltab a:active { + text-decoration: none; +} + +.verticaltab.disabled a:hover { + cursor: default; +} + +.validation-summary-errors { + background-color: #FAE5E5; + border: 1px solid #C00; + padding: 5px 0 5px 5px; + font-size: 12px; + font-weight: normal; + text-align: left; + margin-bottom: 10px; +} + +.validation-summary-errors ul { + padding: 0; + margin: 0; + list-style-type: none; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav li { + display: inline; +} + +.nav>li>a:hover, +.nav>li>a:focus { + text-decoration: none; + background-color: #eee; +} + +.nav-pills>li>a { + padding: 4px 12px 4px 12px; + margin: 2px 2px 2px 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + line-height: 14px; + text-decoration: none; + color: #095FB5; + font-size: 13px; +} + +.nav-pills>.active>a, +.nav-pills>.active>a:hover, +.nav-pills>.active>a:focus { + color: #fff; + background-color: #36c; +} + +/* ~/CSS/Pages/IDE/Welcome.css */ +* { + margin: 0; + padding: 0; +} + +html, +body { + position: relative; + height: 100%; + min-height: 400px; + min-width: 800px; +} + +body#StudioWelcomeBody { + padding: 0; +} + +.header { + margin-left: -6px; + height: 84px; + background: url('/images/IDE/bg-header.png') repeat-x; +} + +.header img { + margin-left: 15px; + margin-top: 16px; + position: absolute; +} + +.container { + margin-left: 4px; + margin-top: 20px; + font-family: Arial, Helvetica, Sans-Serif; + font-size: 14px; + overflow: auto; +} + +.navbar { + float: left; + width: 147px; + margin-left: 11px; + border-right: 1px solid; + border-color: #CCC; +} + +#StudioRecentFiles { + padding-top: 12px; + margin-left: 15px; + padding-bottom: 1px; + font-size: 13px; + font-weight: bold; +} + +.main { + margin-left: 175px; + margin-top: 16px; +} + +.main div.welcome-content-area { + overflow-x: hidden; + overflow-y: auto; + height: 555px; + min-height: 300px; + max-height: 555px; +} + +.navlist, +.filelist { + list-style-type: none; +} + +.navlist { + padding-bottom: 6px; + *margin-bottom: 14px; +} + +ul.navlist { + font-size: 14px; + border-bottom: 1px solid; + border-color: #EEE; +} + +.navlist li { + line-height: 25px; + height: 25px; + border-top: 1px solid; + border-bottom: 1px solid; + border-left: 1px solid; + border-color: #FFF; +} + +.navlist li.navselected { + background-color: #EFEFEF; + border-color: #CCC; + font-weight: bold; +} + +.navlist li.navselected:hover { + background-color: #EFEFEF; + border-color: #CCC; + font-weight: bold; +} + +.navlist li:hover { + background-color: #EFEFEF; + border-color: #EFEFEF; + cursor: pointer; +} + +.navlist li p { + margin-left: 13px; +} + +.filelist { + margin-left: 15px; +} + +.filelist li { + margin-top: 2px; +} + +.filelist li a { + text-decoration: none; + color: #095FB5; + font-size: 12px; + cursor: pointer; +} + +.filelist li a:hover { + text-decoration: underline; +} + +#userName { + color: black; + font-size: 13px; + font-weight: bold; + font-family: Arial, Helvetica, sans-serif; + margin-top: 4px; +} + +#header-login-wrapper { + margin-top: 26px; + margin-right: 10px; + float: right; + position: relative; +} + +#logout { + color: black; + padding-top: 0; + height: 27px; + top: 0; + *padding: 0; + *margin-bottom: -5px; +} + +.header-signup { + margin-right: 5px; + color: black; + font-weight: bold; +} + +.header-signup:hover, +#logout:hover { + cursor: pointer; +} + +#logout { + font-weight: bold; +} + +#HomeLink { + position: absolute; + top: 35px; + left: 375px; +} + +#userName p { + display: inline-block; + margin-left: 10px; + top: -8px; + position: relative; +} + +#userName form { + display: inline-block; + margin-left: 10px; +} + +.studioiFrameLogin #iFrameLogin { + border-color: black; + border: solid 1px; + margin-top: -1px; + z-index: 999; +} + +.studioiFrameLogin #login-span #header-login { + z-index: 2; +} + +#header-or { + font-family: Arial; + font-weight: normal; + color: black; + font-size: 13px; + position: relative; + margin: 0 6px; +} + +#MyProjectsView h2 { + margin-bottom: 20px; +} + +.place { + display: inline-block; + height: 128px; + padding: 9px 11px 19px 11px; + margin-right: -3px; + border: 1px solid; + border-color: #FFF; + z-index: 0; + margin-bottom: 10px; +} + +.place:hover, +.place img:hover, +.place-selected { + position: relative; + background: url('http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/IDE/bg-selected_thumb.png') repeat-x; + border: 1px solid; + border-color: #A7A7A7; + cursor: pointer; +} + +.place img { + position: relative; +} + +.place p { + text-align: center; + font-weight: bold; + font-size: 12px; + margin-top: 4px; + width: 210px; +} + +#newgametext { + font-size: 32px; + color: #888; + position: relative; + bottom: 96px; + left: 100px; + z-index: 2; + width: 50px; + font-weight: bold; +} + +a.game-image { + color: inherit; + text-decoration: none; + border: none; + width: 0; + height: 0; +} + +a.game-image img { + border: none; + display: block; +} + +a.game-image img:hover { + border: none; +} + +div#MoreGames { + text-align: center; + margin-bottom: 10px; +} + +.place p#createNewText { + position: relative; + top: -77px; +} + +.place img.placeThumbnail { + width: 210px; + height: 115px; +} + +div#ButtonRow { + display: none; + position: fixed; + background-color: #EFEFEF; + left: 162px; + z-index: 3; + bottom: 0; + padding: 20px; + width: 100%; +} + +div#ButtonRow a { + margin-right: 10px; +} + +/* ~/CSS/Pages/IDE/BuildTemplates.css */ +#StudioGameTemplates { + font-weight: bold; + font-size: 16px; + margin-left: 4px; +} + +.templates { + margin-top: 13px; + display: none; +} + +.templates div { + *display: inline; +} + +.template { + display: inline-block; + height: 128px; + padding: 9px 14px 19px 14px; + margin-right: -3px; + border: 1px solid; + border-color: #FFF; + z-index: 0; +} + +.template:hover, +.template img:hover { + position: relative; + background: url('/images/IDE/bg-selected_thumb.png') repeat-x; + border: 1px solid; + border-color: #A7A7A7; + cursor: pointer; +} + +.template img { + position: relative; +} + +.template p { + text-align: center; + font-weight: bold; + font-size: 12px; + margin-top: 4px; +} + +.templatetypes, +.templateList { + list-style-type: none; +} + +ul.templatetypes { + margin-top: 12px; + margin-left: 4px; +} + +div.templatetypes { + position: relative; + z-index: 1; +} + +.templatetypes li { + display: inline; + margin-right: 15px; +} + +.templatetypes li a { + text-decoration: none; + font-size: 13px; + color: #095FB5; +} + +.templatetypes li a:hover { + text-decoration: underline; +} + +.tool-tip { + border: 1px solid #ccc; + font: normal 12px Arial, Helvetica, sans-serif; + margin-left: 9px; + margin-top: 9px; + position: absolute; + width: 284px; + padding-left: 6px; + padding-top: 5px; + padding-bottom: 5px; + padding-right: 2px; + float: left; + z-index: 1; + background-color: #FFF; +} + +.tool-tip .top { + position: absolute; + top: -10px; + left: 5px; + z-index: 5; +} + +li.selectedType a { + font-weight: bold; + color: black; + cursor: text; +} + +li.selectedType a:hover { + text-decoration: none; +} + +.tool-tip a.closeButton { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-x-sm.png") 0 -13px; + z-index: 2; + float: right; + width: 13px; + height: 13px; + cursor: pointer; + margin-top: -14px; +} + +.tool-tip a.closeButton:hover { + background: url("http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-x-sm.png") 0 0; + width: 13px; +} + +a.game-image { + color: inherit; + text-decoration: none; + border: none; + width: 0; + height: 0; +} + +a.game-image img { + border: none; + display: block; +} + +a.game-image img:hover { + border: none; +} + +.GenericModal.unifiedModal { + background-color: #e1e1e1; + font: bold 27px Arial; + letter-spacing: -2px; + color: #363636; + border: 2px solid #272727; + text-align: center; + position: relative; +} + +.GenericModal.unifiedModalContent { + text-align: left; + background-color: White; + color: #000; + font: Bold 15px Arial; + margin-left: 5px; + margin-right: 5px; + margin-bottom: 5px; + letter-spacing: normal; +} + +.GenericModal.unifiedModalSubtext { + color: #666; + font: bold 12px Arial; + border: none; + letter-spacing: normal; + cursor: pointer; + text-align: center; + margin-top: 10px; + padding-bottom: 5px; +} + +.GenericModal.smallModal { + width: 425px; +} + +.GenericModal.closeBtnCircle_20h:hover { + background-position: 0 20px; +} + +.GenericModal.closeBtnCircle_20h { + width: 20px; + height: 20px; + cursor: pointer; + position: absolute; + top: 5px; + left: 5px; + background: url(http://web.archive.org/web/20130715023237im_/http://www.roblox.com/images/Buttons/btn-x.png); +} + +.GenericModal.unifiedModal .smallModal .closeBtnCircle_20h { + margin-left: 395px; +} + +#GenericModalButtonContainer { + height: 50px; +} + +.Message { + float: right; + text-align: left; + margin-top: 12px; +} + +/* ~/CSS/Pages/IDE/IDE.css */ +input, +textarea, +button, +a { + outline: 0; +} + +select { + border: 1px solid; + border-color: #A7A7A7; +} \ No newline at end of file diff --git a/public/temp/css/HelveticaNeue-Italic.ttf b/public/temp/css/HelveticaNeue-Italic.ttf new file mode 100644 index 0000000..6546436 Binary files /dev/null and b/public/temp/css/HelveticaNeue-Italic.ttf differ diff --git a/public/temp/css/HelveticaNeue-Normal.ttf b/public/temp/css/HelveticaNeue-Normal.ttf new file mode 100644 index 0000000..9ea876a Binary files /dev/null and b/public/temp/css/HelveticaNeue-Normal.ttf differ diff --git a/public/temp/css/RobloxOld.css b/public/temp/css/RobloxOld.css new file mode 100644 index 0000000..3068e6f --- /dev/null +++ b/public/temp/css/RobloxOld.css @@ -0,0 +1,32 @@ +* +{ + font-size: 12px; + font-family: 'Comic Sans MS', Verdana, Arial, Helvetica, sans-serif; +} +H1 +{ + font-weight: bold; + font-size: larger; +} + +/* + FILE ARCHIVED ON 17:06:51 Feb 02, 2007 AND RETRIEVED FROM THE + INTERNET ARCHIVE ON 13:32:02 May 30, 2022. + JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. + + ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. + SECTION 108(a)(3)). +*/ +/* +playback timings (ms): + captures_list: 543.356 + exclusion.robots: 0.115 + exclusion.robots.policy: 0.106 + cdx.remote: 0.078 + esindex: 0.011 + LoadShardBlock: 514.942 (3) + PetaboxLoader3.datanode: 196.729 (4) + CDXLines.iter: 17.173 (3) + PetaboxLoader3.resolve: 383.648 (2) + load_resource: 175.393 +*/ \ No newline at end of file diff --git a/public/temp/css/SourceSansPro-Italic.ttf b/public/temp/css/SourceSansPro-Italic.ttf new file mode 100644 index 0000000..e7b9182 Binary files /dev/null and b/public/temp/css/SourceSansPro-Italic.ttf differ diff --git a/public/temp/css/SourceSansPro-Normal.ttf b/public/temp/css/SourceSansPro-Normal.ttf new file mode 100644 index 0000000..b422bf4 Binary files /dev/null and b/public/temp/css/SourceSansPro-Normal.ttf differ diff --git a/public/temp/css/Toolbox.css b/public/temp/css/Toolbox.css new file mode 100644 index 0000000..eba90ce --- /dev/null +++ b/public/temp/css/Toolbox.css @@ -0,0 +1,208 @@ +#ToolboxContainer +{ + text-align: center; +} + +#ToolboxControls +{ + text-align: left; + width: 200px; +} + +#ToolboxSelector +{ + margin: 0px 0 5px 0; +} + +#ToolboxSearch +{ + margin: 0 0 5px 0; +} + +#ToolboxItems +{ + background-color: window; + border: solid 1px Black; + min-height: 100px; + padding: 10px 10px 10px 10px; + width: 178px; +} + +#Button +{ + background-color: White; + border: solid 1px black; + cursor: pointer; + float: right; + height: 16px; + margin: 0 0 0 5px; + padding: 1px 0 0 0; + text-align: center; + width: 50px; +} + +#ToolboxContainer .Navigation +{ + font-size: 8pt; + width: 200px; + padding: 3px 0 0 0; +} + +#ToolboxContainer .Navigation a +{ + color: #0000cc; + text-decoration: none; +} + +#ToolboxContainer .Navigation a:hover +{ + font-weight: bold; + letter-spacing: -.5pt; +} + +#ToolboxContainer .Navigation #Previous +{ + float: left; + width: 60px; + text-align: left; +} + +#ToolboxContainer .Navigation #Location +{ + float: left; + text-align: center; + width: 74px; +} + +#ToolboxContainer .Navigation #Next +{ + float: right; + text-align: right; + width: 60px; +} + +.ButtonText +{ + border-width: 1px; + font-size: 8pt; + color: Black; + text-decoration: none; +} + +.ButtonText:hover +{ + font-weight: bold; + letter-spacing: -.1em; +} + +.NavigationIndicators +{ + font-size: 6pt; + font-weight: bold; + letter-spacing: -.1em; + vertical-align: middle; +} + +.Search +{ + border: solid 1px Black; + float: left; + font-family: Verdana, Sans-Serif; + font-size: 8pt; + height: 15px; + line-height: 1.3em; + padding: 1px 2px 1px 2px; + width: 130px; +} + +.Page +{ + background-color: ButtonFace; + font-family: Verdana, Sans-Serif; +} + +.Toolboxes +{ + font-family: Verdana, Sans-Serif; + font-size: 9pt; + font-weight: bold; + width: 200px; +} + +.ToolboxItem +{ + border: solid 2px Window; + height: 64px; + margin: 10px 10px 10px 10px; + width: 64px; + vertical-align: middle; +} + +#ToolboxContainer .SearchError +{ + clear: both; + margin: 1px; + float: none; + padding: 1px; + text-align: center; + color: Red; + font-size: small; +} + +#SetTabs +{ + background: #7c7c7c; + color: #fff; + padding-top: 4px; + height: 25px; + clear: both; + font-family: Arial; + font-size:11px; +} +#SetTabs div +{ + float:left; + padding:5px 5px 0px 5px; + background: #a3a3a3; + cursor: pointer; + height:20px; +} +#SetTabs div.Selected +{ + background: #f0f0f0; + color: #000; +} +#MySets +{ + margin:0px 4px 0px 2px; +} +#RobloxSets +{ + margin: 0px 2px 0px 5px; +} +#OtherSets +{ + margin:0px 2px; +} + +/* + FILE ARCHIVED ON 21:28:21 Feb 03, 2012 AND RETRIEVED FROM THE + INTERNET ARCHIVE ON 14:10:38 May 30, 2022. + JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. + + ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. + SECTION 108(a)(3)). +*/ +/* +playback timings (ms): + captures_list: 125.097 + exclusion.robots: 0.08 + exclusion.robots.policy: 0.074 + RedisCDXSource: 4.383 + esindex: 0.011 + LoadShardBlock: 105.867 (3) + PetaboxLoader3.datanode: 131.891 (4) + CDXLines.iter: 12.573 (3) + load_resource: 239.471 + PetaboxLoader3.resolve: 207.371 +*/ \ No newline at end of file diff --git a/public/temp/css/app.css b/public/temp/css/app.css new file mode 100644 index 0000000..3511ffe --- /dev/null +++ b/public/temp/css/app.css @@ -0,0 +1,1197 @@ +@keyframes animatedbackground { + from { + background-position-x: 0px; + animation-timing-function: linear; + } + + to { + background-position-x: 2000px; + animation-timing-function: linear; + } +} + +@keyframes alertanim { + 0% { + top: 0px; + animation-timing-function: linear; + } + + 100% { + background-position-x: 60px; + animation-timing-function: linear; + } +} + +@keyframes alertanim_loggedout { + 0% { + top: -23px; + animation-timing-function: linear; + } + + 100% { + background-position-x: 0px; + animation-timing-function: linear; + } +} + +@font-face { + font-family: 'Helvetica Neue'; + font-style: normal; + font-weight: normal; + src: url('HelveticaNeue-Normal.ttf'); +} + +@font-face { + font-family: 'Helvetica Neue'; + font-style: italic; + font-weight: normal; + src: url('HelveticaNeue-Italic.ttf'); +} + +:focus-visible { + outline: 0 !important; +} + +.catalogitem, +.catalogitemimage { + width: 126px; + padding: 5px; + overflow-wrap: break-word; +} + +.ellipsis { + overflow: hidden; + text-overflow: ellipsis; + overflow-wrap: normal; +} + +.arkoticon_small { + margin: 0px; + width: 12px; +} + +.arkoticon_navbar { + margin: 0px; + margin-right: 3px; + width: 20px; +} + +.arkotcontainer { + display: flex; + float: left; + padding: 0 5px; +} + +.smallnavbarbuttoncontainer { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: flex-end; + align-items: center; +} + +.arkotlabel { + color: rgb(35, 98, 222); + font-weight: bold; +} + +.success { + background: #2cdc00; + background: linear-gradient(0deg, #1f9d00, #2cdc00); + text-align: center; + color: #fff; + width: 100%; + max-width: 980px; +} +.loading { + background: #9e9e9e; + background: linear-gradient(0deg, #636363, #9e9e9e); + text-align: center; + color: #fff; + width: 100%; + max-width: 980px; +} +.warning { + background: #e23c3c; + background: linear-gradient(0deg, #8f2323, #e23c3c); + text-align: center; + color: #fff; + width: 100%; + max-width: 980px; +} +.alert { + -webkit-transition: all .4s ease; + -o-transition: all .4s ease; + transition: all .4s ease; + position: fixed; + top: -30px; + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + font-size: 16px; + padding: 10px; + margin: auto; + left: 0; + right: 0; + z-index: 1; +} +.alert.ontop { + z-index: 2 +} +.alert.important { + z-index: 10; +} +.loggedout .alert, .no-navigation .alert { + top: -60px; +} +.loggedout .alert.visible, .no-navigation .alert.visible { + top: 0; +} +.alert.visible { + top: 60px; +} + +/*/ Legacy Alert CSS (For pages that require the old deprecated banner css.) /*/ + +.loggedout #alert { + animation: alertanim_loggedout !important; + top: 0px !important; +} + +#alert, +#success { + height: fit-content; + margin: 0px; + animation: alertanim; + animation-duration: 250ms; + animation-iteration-count: 1; + position: fixed; + z-index: 10; + top: 60px; + padding-top: 2px; + padding-bottom: 2px; + padding-right: 5px; + padding-left: 5px; + width: 100%; + text-align: center; +} + +#alert { + background: #de2323; + background: linear-gradient(#f07575 10%, #de2323 100%); + color: #fff; +} + +#success { + background: #02b757; + background: linear-gradient(#a3e2bd 10%, #02b757 100%); + color: #fff; +} + +/*/ END /*/ + +.warningtext { + color: red; +} + +.helpfultip { + color: orange; + font-weight: 600; +} + +#logo_full { + display: inline-block; + float: left; + margin-right: 5px; +} + +#logo_full, +#logo_full .btn-logo { + width: 200px; + Height: 35px; +} + +/*Left in for compatibility for older themes --// TersisWilvin 2022 \\--*/ +#logo_small { + display: none; + float: left; +} + +#logo_small, +#logo_small img { + width: 45px; + height: 35px; +} + +@media (max-width: 970px) { + + #navbarsignedincontainer, + .arkotcontainer p, + #navbarlogincontainer { + font-size: 11px; + } + + .arkoticon_navbar { + width: 11px; + } +} + +@media (max-width: 730px) { + .navbarbuttoncontainer a { + position: relative; + } + + #navbarsignedincontainer, + .arkotcontainer p, + #navbarlogincontainer { + font-size: 9px; + } +} + +.popupcontainer, +.popupcontainer_studio, +.popupcontainer_client { + top: 0%; + position: fixed; + background-color: rgba(0, 0, 0, 0.5); + width: 100%; + height: 100%; + z-index: 100000000; +} + +.gamethumbnail_large { + background-color: black; + background-position-x: center; + background-position-y: center; + background-image: url("/img/gamethumbnails/1_1.png"); + background-size: cover; + border-width: 0px; + width: 100%; + background-repeat: no-repeat; + height: 266px; +} + +.gamethumbnail_small { + background-color: black; + background-position-x: center; + background-position-y: center; + background-image: url("/img/gamethumbnails/1_1.png"); + background-size: cover; + border-width: 0px; + width: 190.8px; + background-repeat: no-repeat; + height: 130px; +} + +.gameitem { + padding-left: 5px; + padding-right: 5px; + padding-bottom: 5px; +} + +.PageTitleBar { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + align-items: center; + align-content: center; + justify-content: space-between; + flex-wrap: nowrap; +} + +.popup { + color: #000000; + text-align: center; + position: fixed; + top: 50%; + left: 50%; + padding-top: 5px; + padding-bottom: 5px; + padding-left: 5px; + padding-right: 5px; + transform: translate(-50%, -50%); + width: max-content; + border-radius: 3px; + border: 1px solid #3D414A; + background: #cacbcc; + /* Fallback for IE 11*/ + background: linear-gradient(#cacbcc); +} + +#NavigationRedesignBannerContainer { + text-align: left; + position: relative; + height: 36px; + z-index: 200; + font-family: Arial, 'Helvetica Neue', Helvetica, Sans-Serif; +} + +.BannerCenterContainer { + width: 970px; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +.BannerRedesign { + height: 35px; + background: #114081; + background-image: url(/images/RevisedHeader/bg-rbx_header.png); + border-bottom: 1px solid #0A2246; + position: fixed; + width: 100%; + z-index: 10001; + top: 0; +} + +.btn-logo:hover, +.navbarbuttoncontainer li:hover { + background-image: url(/images/RevisedHeader/bg-main_menu_hover.png); + background-size: auto 35px; +} + +.smallnavbarbutton:hover { + background-image: url(/images/RevisedHeader/bg-sub_menu_hover.png); +} + +div.mySubmenuFixed { + position: fixed; + top: 68px; + width: 100%; + z-index: 10000; +} + +div.mySubmenuFixed { + top: 36px; + background: #363636; + background: #191919; + height: 25px; +} + +.mySubmenuFixed.Redesign { + position: fixed; + top: 35px; +} + +.subMenu { + background: #A3514F; + background-repeat: repeat-x; + color: White; + font-family: Arial, 'Helvetica Neue', Helvetica, Sans-Serif; + font-size: 14px; + height: 26px; + position: relative; + border-left: solid 3px #6E99C9; + border-right: solid 3px #6E99C9; + border-bottom: solid 3px #6E99C9; + z-index: 5; +} + +.subMenu { + width: 970px; + height: 30px; + border: none; + text-align: left; + background: #363636; + z-index: 200; + margin: 0 auto; +} + +.Redesign .subMenu { + height: 25px; + background: #191919; +} + +.navbarbuttoncontainer { + display: inline-block; + min-height: 36px; + z-index: 1000; + float: left; +} + +.navbarbuttoncontainer li { + float: left; + list-style: none; + margin: 0; + padding: 7px 8px 0 8px; + height: 28px; + font-size: 14px; + cursor: pointer; + font-weight: bold; +} + +.navbarlogincontainer { + padding-left: 5px; + vertical-align: middle; + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: center; + align-items: center; +} + +#HeaderSignUp { + font-family: Arial, 'Helvetica Neue', Helvetica, Sans-Serif; + font-weight: bold; + color: #fff; + font-size: 13px; + top: -8px; + position: relative; + *top: -6px; +} + +#HeaderOr { + font-family: Arial, 'Helvetica Neue', Helvetica, Sans-Serif; + font-weight: normal; + color: #9Ec3E7; + font-size: 13px; + top: -8px; + *top: -6px; + position: relative; + margin: 0 6px; +} + +#headerLogin { + color: white; + background: url(/images/btn-login_dropdown.png) no-repeat; + display: inline-block; + height: 27px; + width: 62px; + position: relative; + cursor: pointer; +} + +#headerLogin:hover { + background-position: 0 -54px; +} + +#NavigationRedesignBannerContainer .HeaderDivider { + margin: -5px 5px 0 5px; + float: right; + height: 25px; + width: 0; + Border-left: 1px solid #5355a0; +} + +#NavigationRedesignBannerContainer ul li a, +.NavigationRedesign ul li a:visited { + border: 0 solid black; + font-size: 13px; + padding: 0; + text-decoration: none; + outline: none; + font-family: Arial, 'Helvetica Neue', Helvetica, Sans-Serif; + text-shadow: #11111191 1px 1px 1px; +} + +.NavigationRedesign ul { + margin: 0 auto; + padding: 0; +} + +iframe { + width: 100%; + height: 2000px; +} + +.badges { + padding: 5px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-content: center; + justify-content: space-evenly; + align-items: center; +} + +.badgecontainer { + width: 120px; + padding: 3px; +} + +#navbarlogincontainer, +#navbarsignedincontainer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + position: relative; + padding-right: 10px; + margin-right: 0%; + margin-left: 0%; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + justify-content: flex-end; + align-items: center; +} + +#profilefriendscontainer p, +#profilefriendscontainer a { + display: inline; +} + +#profiletopcontainer { + margin-bottom: 30px; + display: block; + width: 100%; +} + +.onlinestatus_website { + color: #2260DD; +} + +.onlinestatus_studio { + color: rgb(185, 135, 20); +} + +.onlinestatus_ingame { + color: green; +} + +.onlinestatus_offline { + color: black; +} + +.important { + color: red; + font-weight: bold; +} + +#yes, +#no { + width: 50%; +} + +#FeedBox { + width: 100%; + height: 22px; +} + +#FeedButton { + width: 100%; + height: 22px; +} + +#logo_signup, +#logo-signup p { + margin: auto; + text-align: center; + width: 200px; +} + +#feed, +#profileleftcontainer { + text-align: center; + padding-left: 5px; + padding-right: 5px; + width: 50%; +} + +#profileleftcontainer, +#profilerightcontainer { + max-width: 450px; +} + +#gamesframe, +#profilerightcontainer { + text-align: center; + padding-left: 5px; + padding-right: 5px; + width: 50%; +} + +.leftgamecontainer { + height: 270px; + text-align: center; + padding-left: 5px; + padding-right: 5px; + width: 70%; +} + +.rightgamecontainer { + height: 270px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + display: flex; + flex-direction: column; + align-content: space-around; + justify-content: space-between; + align-items: flex-end; + flex-wrap: nowrap; + text-align: right; + padding-left: 5px; + padding-right: 5px; +} + +.FeedContainerBox, +.ProfileContainerBox { + border-radius: 1px; + text-align: left; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + width: 100%; + vertical-align: top; + border: 1px solid #000000; + overflow-y: hidden; + overflow-x: hidden; + border-width: 1px; + margin-bottom: 5px; +} + +.FriendsContainerBox { + border-radius: 1px; + text-align: left; + width: 100%; + min-width: max-content; + vertical-align: top; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + border: 1px solid #000000; + border-width: 1px; + margin-bottom: 5px; +} + +#btncontainer { + margin-left: 75%; +} + +.RightNav { + margin-top: 6px; + float: right; + position: relative; +} + +#navbarlogincontainer { + margin-top: 5px; + float: right; + position: relative; +} + +#NavigationRedesignBannerContainer .RightNav { + margin-top: 9px; +} + +.navbarbutton { + border: 0 solid black; + font-size: 13px; + padding: 0; + text-decoration: none; + font-weight: 800; + outline: none; + font-family: Arial, 'Helvetica Neue', Helvetica, Sans-Serif; +} + +.smallnavbarbutton { + position: relative; + padding-right: 5px; + text-align: center; + font-size: 15px; +} + +.Redesign .smallnavbarbutton { + font-size: 12px; + padding: 5px; + float: left; +} + +.invisible, +#invisible { + display: none !important; +} + +html { + margin: 0px; + font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif; + font-style: normal; + height: 100%; +} + +.loggedout { + background: transparent url(/img/background.jpg) no-repeat scroll center top; + background-color: #000000; + background-size: cover; + /* + background: url('/img/animated.png'); + background-color: rgb(49, 107, 223); + background-position: center bottom; + background-repeat: repeat-x; + background-attachment: fixed; + animation-name: animatedbackground; + animation-duration: 50s; + animation-iteration-count: infinite; + */ +} + +body { + margin: 0px; + height: 100%; + padding-bottom: 0px; + background: #e6e6e6; + color: #000; +} + +.loggedout body { + background: transparent; +} + +.content_special, +#content_special { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + overflow: hidden; + width: 100%; + flex-direction: row; + align-items: flex-start; + align-content: center; + justify-content: space-around; + flex-wrap: nowrap; +} + +.arkotcontainer { + color: #fff; +} + +.content { + color: black; + min-height: 100%; + padding: 10px 10px 10px 10px; + /* Height of the footer */ + margin: 100px auto 0 auto; + width: 970px; + background: rgb(255, 255, 255); + /* Fallback for IE 11*/ + background-color: rgb(255, 255, 255); +} + +.content_signup { + color: black; + width: 970px; + padding: 5px; + margin: 30px auto 0 auto; + background: rgb(255, 255, 255); + /* Fallback for IE 11*/ + background-color: rgb(255, 255, 255); +} + +.content_signup h1, +.content_signup a, +.content_signup p, +.content_signup h2, +.content_signup h5 { + text-align: center; +} + +.content_signup button { + width: 100%; +} + +.content_signup input { + width: 98%; +} + +.content p a, +.content a, +.content_signup p a, +.content_signup a, +.content_special p a, +.content_special a { + color: black; +} + +.content_signup a, +.content_signup p a { + color: #0074bd; + transition: .25s all ease-in-out; +} + +#footer_signup a, +#footer_signup p a, +#footer a, +#footer p a { + transition: .25s all ease-in-out; +} + +.content_signup a:hover, +.content_signup p a:hover, +#footer_signup a:hover, +#footer_signup p a:hover, +#footer a:hover, +#footer p a:hover { + color: #2fcfff; +} + +.hyperlink { + display: block; + text-align: center; +} + +#footer { + text-align: center; + margin: auto; + margin-left: 10px; + margin-right: 10px; + padding-left: 5px; + padding-right: 5px; + width: calc(100% - 30px); + padding-bottom: 5px; + padding-top: 5px; + background: #e6e6e6; + /* Fallback for IE 11*/ + background-color: #e6e6e6; + min-height: fit-content; + bottom: 0; +} + +/*Legacy Button gradients by TersisWilvin*/ + +.tab { + background: rgb(255, 255, 255); + background: linear-gradient(0deg, #fff 0%, #b8b8b8 49%, #e3e3e3 50%, #f2f2f2 95%, #fff 100%); + font-weight: 400; + text-align: center; + height: 20px; + border-radius: 1px; + border: 1px solid #3D414A; + font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif; + padding-left: 5px; + padding-right: 5px; + color: rgb(0, 0, 0) !important; +} + +.tab_selected { + background: rgb(35, 98, 222); + background: linear-gradient(0deg, #00a2ff 0%, #0074bd 49%, #08f 50%, #57c2fe 95%, #99daff 100%); + font-weight: 400; + text-align: center; + height: 20px; + border-radius: 1px; + border: 1px solid #3D414A; + font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif; + padding-left: 5px; + padding-right: 5px; + color: #fff !important; +} + +button { + background: rgb(255, 255, 255); + /*Fallback for IE 11*/ + background: linear-gradient(0deg, #fff 0%, #b8b8b8 49%, #e3e3e3 50%, #f2f2f2 95%, #fff 100%); + font-weight: 400; + text-align: center; + height: 20px; + border-radius: 3px; + border: 1px solid #3D414A; + font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif; + color: #fff; +} + +button:hover { + cursor: pointer; +} + +button:disabled { + opacity: 0.5; + cursor: not-allowed; +} + + +button.bluebutton { + background: rgb(35, 98, 222); + /*Fallback for IE 11*/ + background: linear-gradient(0deg, #00a2ff 0%, #0074bd 49%, #08f 50%, #57c2fe 95%, #99daff 100%); +} + +button:hover.bluebutton { + background: linear-gradient(0deg, #32b5ff 0%, #0074bd 49%, #2c99f8 50%, #71c9fa 95%, #b6e5ff 100%); +} + +button.greybutton { + background: rgb(255, 255, 255); + color: black; + /*Fallback for IE 11*/ + background: linear-gradient(0deg, #fff 0%, #b8b8b8 49%, #e3e3e3 50%, #f2f2f2 95%, #fff 100%); +} + +button:hover.greybutton { + background: linear-gradient(0deg, #fff 0%, #b8b8b8 49%, #e3e3e3 50%, #f2f2f2 95%, #fff 100%); +} + +button.redbutton { + background: rgb(223, 24, 24); + /*Fallback for IE 11*/ + background: linear-gradient(0deg, #d86868 0%, #a95151 49%, #bc5c5c 50%, #e96f6f 95%, #fe7979 100%); +} + +button:hover.redbutton { + background: linear-gradient(0deg, #e27676 0%, #a95151 49%, #ca6363 50%, #f07272 95%, #fd8888 100%); +} + +button.greenbutton { + background: rgb(26, 92, 46); + /*Fallback for IE 11*/ + background: linear-gradient(0deg, #02b757 0%, #118237 49%, #01a64e 50%, #3fc679 95%, #a3e2bd 100%); +} + +button:hover.greenbutton { + background: linear-gradient(0deg, #3fc679 0%, #15933f 49%, #3cc175 50%, #46dc86 95%, #53ff9d 100%); +} + +/*-------------*/ + +.btn-large, +.btn-medium, +.btn-small { + margin: 0px; + display: inline-block; + zoom: 1; + text-align: center; + font-weight: normal; + text-decoration: none; + border-width: 1px; + border-style: solid; + cursor: pointer; + *display: inline; + *vertical-align: top; +} + +.btn-small { + padding: 1px 7px 0px 7px; + height: 20px; + min-width: 40px; + font-size: 14px; + line-height: 18px; + background-position: left -160px; + border-radius: 0; +} + +.btn-small:hover { + background-position: left -181px; +} + +.btn-medium { + padding: 1px 13px 3px 13px; + height: 28px; + min-width: 62px; + font-size: 20px; + background-position: left -96px; + border-radius: 0; +} + +.btn-medium:hover { + background-position: left -128px; +} + +.btn-large { + padding: 9px 13px 0px 13px; + height: 39px; + min-width: 70px; + font-size: 23px; + line-height: 27px; + background-position: left 0px; + border-radius: 0; +} + +.btn-large:hover { + background-position: left -48px; +} + +.btn-disabled-primary, +.btn-disabled-primary:hover, +.btn-disabled-neutral, +.btn-disabled-neutral:hover, +.btn-disabled-negative, +.btn-disabled-negative:hover { + cursor: default; + background-position: left -202px; +} + +.btn-primary, +.btn-primary:link, +.btn-primary:active, +.btn-primary:visited { + border-color: #007001; + background-color: #007001; + background-image: url(/images/buttons/StyleGuide/bg-btn-green.png); + color: white; +} + +.btn-disabled-primary, +.btn-disabled-primary:link, +.btn-disabled-primary:active, +.btn-disabled-primary:visited { + background-color: #99c699; + background-image: url(/images/buttons/StyleGuide/bg-btn-green.png); + border-color: #99c699; + color: white; +} + +.btn-neutral, +.btn-neutral:link, +.btn-neutral:active, +.btn-neutral:visited { + border-color: #0852b7; + background-color: #0852b7; + background-image: url(/images/buttons/StyleGuide/bg-btn-blue.png); + color: white; +} + +.btn-disabled-neutral, +.btn-disabled-neutral:link, +.btn-disabled-neutral:active, +.btn-disabled-neutral:visited { + background-color: #9cbae2; + background-image: url(/images/buttons/StyleGuide/bg-btn-blue.png); + border-color: #9cbae2; + color: white; +} + +.btn-negative, +.btn-negative:link, +.btn-negative:active, +.btn-negative:visited { + border-color: #565656; + background-color: #565656; + background-image: url(/images/buttons/StyleGuide/bg-btn-gray.png); + color: white; +} + +.btn-disabled-negative, +.btn-disabled-negative:link, +.btn-disabled-negative:active, +.btn-disabled-negative:visited { + background-color: #bbbcbb; + background-image: url(/images/buttons/StyleGuide/bg-btn-gray.png); + border-color: #bbbcbb; + color: white; +} + +#footer_signup { + text-align: center; + width: 970px; + margin: auto auto; + padding: 1em 5px; + background: #e6e6e6; + /* Fallback for IE 11*/ + background-color: #e6e6e6; + min-height: fit-content; +} + +#footer p, +#footer a, +#footer_signup p, +#footer_signup a { + color: #555; +} + +#ColorChooser { + height: 240px; + width: 194px; + text-align: center; + margin-left: auto; + margin-right: auto; + margin-top: 21px; +} + +p, +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0px; +} + +img { + object-fit: contain; +} + +a, +#navbarusername { + color: white; + text-decoration: none; + font-weight: bolder; +} + +.nonbolded { + font-weight: normal !important; +} + +.logoutframe { + color: black; + max-width: fit-content; + margin: auto; + padding-left: 5px; + padding-right: 5px; + background: rgb(255, 255, 255); + /* Fallback for IE 11*/ + background-color: rgb(255, 255, 255); + padding-bottom: 5px; + padding-top: 5px; +} + +.w-5 { + display: none; +} + +.flex { + display: table; + margin-right: auto; + margin-left: auto; +} + +#MasterContainer { + background: white; + overflow: visible; + width: 100%; +} + +div#testingSitePanelWrapper, +#BodyWrapper { + margin: 0 auto; + width: 970px; + background: white; +} + +#Body { + _overflow: hidden; + min-height: 550px; + padding: 5px 5px 25px 5px; + background: white; + margin: 0 auto; + width: 900px; +} + +.hidden { + visibility: hidden !important; + display: none !important; +} + +@media (max-width:980px) { + + .content_signup, + #footer_signup { + width: 100%; + } + .alert-system .alert { + border-radius: 0; + } + .success { + max-width: 100%; + } + .warning { + max-width: 100%; + } +} \ No newline at end of file diff --git a/public/temp/css/app.js b/public/temp/css/app.js new file mode 100644 index 0000000..e5b9264 --- /dev/null +++ b/public/temp/css/app.js @@ -0,0 +1,397 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[2]!./resources/css/app.css": +/*!*****************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[5].oneOf[1].use[2]!./resources/css/app.css ***! + \*****************************************************************************************************************************************************************************************/ +/***/ (() => { + +throw new Error("Module build failed (from ./node_modules/css-loader/dist/cjs.js):\nError: Can't resolve '../img/animated.png' in 'C:\\wamp64\\www\\morblox-site\\resources\\css'\n at finishWithoutResolve (C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\Resolver.js:309:18)\n at C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\Resolver.js:386:15\n at C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\Resolver.js:435:5\n at eval (eval at create (C:\\wamp64\\www\\morblox-site\\node_modules\\tapable\\lib\\HookCodeFactory.js:33:10), :16:1)\n at C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\Resolver.js:435:5\n at eval (eval at create (C:\\wamp64\\www\\morblox-site\\node_modules\\tapable\\lib\\HookCodeFactory.js:33:10), :27:1)\n at C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\DescriptionFilePlugin.js:87:43\n at C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\Resolver.js:435:5\n at eval (eval at create (C:\\wamp64\\www\\morblox-site\\node_modules\\tapable\\lib\\HookCodeFactory.js:33:10), :15:1)\n at C:\\wamp64\\www\\morblox-site\\node_modules\\enhanced-resolve\\lib\\Resolver.js:435:5"); + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var isOldIE = function isOldIE() { + var memo; + return function memorize() { + if (typeof memo === 'undefined') { + // Test for IE <= 9 as proposed by Browserhacks + // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 + // Tests for existence of standard globals is to allow style-loader + // to operate correctly into non-standard environments + // @see https://github.com/webpack-contrib/style-loader/issues/177 + memo = Boolean(window && document && document.all && !window.atob); + } + + return memo; + }; +}(); + +var getTarget = function getTarget() { + var memo = {}; + return function memorize(target) { + if (typeof memo[target] === 'undefined') { + var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself + + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + + memo[target] = styleTarget; + } + + return memo[target]; + }; +}(); + +var stylesInDom = []; + +function getIndexByIdentifier(identifier) { + var result = -1; + + for (var i = 0; i < stylesInDom.length; i++) { + if (stylesInDom[i].identifier === identifier) { + result = i; + break; + } + } + + return result; +} + +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var index = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3] + }; + + if (index !== -1) { + stylesInDom[index].references++; + stylesInDom[index].updater(obj); + } else { + stylesInDom.push({ + identifier: identifier, + updater: addStyle(obj, options), + references: 1 + }); + } + + identifiers.push(identifier); + } + + return identifiers; +} + +function insertStyleElement(options) { + var style = document.createElement('style'); + var attributes = options.attributes || {}; + + if (typeof attributes.nonce === 'undefined') { + var nonce = true ? __webpack_require__.nc : 0; + + if (nonce) { + attributes.nonce = nonce; + } + } + + Object.keys(attributes).forEach(function (key) { + style.setAttribute(key, attributes[key]); + }); + + if (typeof options.insert === 'function') { + options.insert(style); + } else { + var target = getTarget(options.insert || 'head'); + + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + + target.appendChild(style); + } + + return style; +} + +function removeStyleElement(style) { + // istanbul ignore if + if (style.parentNode === null) { + return false; + } + + style.parentNode.removeChild(style); +} +/* istanbul ignore next */ + + +var replaceText = function replaceText() { + var textStore = []; + return function replace(index, replacement) { + textStore[index] = replacement; + return textStore.filter(Boolean).join('\n'); + }; +}(); + +function applyToSingletonTag(style, index, remove, obj) { + var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE + + /* istanbul ignore if */ + + if (style.styleSheet) { + style.styleSheet.cssText = replaceText(index, css); + } else { + var cssNode = document.createTextNode(css); + var childNodes = style.childNodes; + + if (childNodes[index]) { + style.removeChild(childNodes[index]); + } + + if (childNodes.length) { + style.insertBefore(cssNode, childNodes[index]); + } else { + style.appendChild(cssNode); + } + } +} + +function applyToTag(style, options, obj) { + var css = obj.css; + var media = obj.media; + var sourceMap = obj.sourceMap; + + if (media) { + style.setAttribute('media', media); + } else { + style.removeAttribute('media'); + } + + if (sourceMap && typeof btoa !== 'undefined') { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } // For old IE + + /* istanbul ignore if */ + + + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + while (style.firstChild) { + style.removeChild(style.firstChild); + } + + style.appendChild(document.createTextNode(css)); + } +} + +var singleton = null; +var singletonCounter = 0; + +function addStyle(obj, options) { + var style; + var update; + var remove; + + if (options.singleton) { + var styleIndex = singletonCounter++; + style = singleton || (singleton = insertStyleElement(options)); + update = applyToSingletonTag.bind(null, style, styleIndex, false); + remove = applyToSingletonTag.bind(null, style, styleIndex, true); + } else { + style = insertStyleElement(options); + update = applyToTag.bind(null, style, options); + + remove = function remove() { + removeStyleElement(style); + }; + } + + update(obj); + return function updateStyle(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { + return; + } + + update(obj = newObj); + } else { + remove(); + } + }; +} + +module.exports = function (list, options) { + options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of - - -

Oh Noes! ARCHBLOX is currently under maintenance.

-

ARCHBLOX will be back soon, so please be patient.

- - \ No newline at end of file + +
+
+ ARCHBLOX Logo + +

We'll be right back.

+
+ + + + + \ No newline at end of file diff --git a/public/temp/js/403.js b/public/temp/js/403.js new file mode 100644 index 0000000..3539bbc --- /dev/null +++ b/public/temp/js/403.js @@ -0,0 +1,21 @@ +var time = 5; + +function redirect() { + window.location.replace("https://archblox.com"); +} + +function remove(el) { + var element = el; + element.remove(); +} + +function countdown() { + if (time > 0) { + time--; + document.getElementById('timeElement').innerHTML = time; + console.log(time); + } +} + +setInterval(countdown, 1000); +setTimeout(redirect, 5000); \ No newline at end of file diff --git a/public/temp/js/app.js b/public/temp/js/app.js new file mode 100644 index 0000000..1952009 --- /dev/null +++ b/public/temp/js/app.js @@ -0,0 +1,40278 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@popperjs/core/lib/createPopper.js": +/*!*********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/createPopper.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "createPopper": () => (/* binding */ createPopper), +/* harmony export */ "detectOverflow": () => (/* reexport safe */ _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__["default"]), +/* harmony export */ "popperGenerator": () => (/* binding */ popperGenerator) +/* harmony export */ }); +/* harmony import */ var _dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./dom-utils/getCompositeRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js"); +/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"); +/* harmony import */ var _dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-utils/listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"); +/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); +/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dom-utils/getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); +/* harmony import */ var _utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/orderModifiers.js */ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js"); +/* harmony import */ var _utils_debounce_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils/debounce.js */ "./node_modules/@popperjs/core/lib/utils/debounce.js"); +/* harmony import */ var _utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/validateModifiers.js */ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js"); +/* harmony import */ var _utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/uniqueBy.js */ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js"); +/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/mergeByName.js */ "./node_modules/@popperjs/core/lib/utils/mergeByName.js"); +/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); + + + + + + + + + + + + + + +var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'; +var INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; +var DEFAULT_OPTIONS = { + placement: 'bottom', + modifiers: [], + strategy: 'absolute' +}; + +function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return !args.some(function (element) { + return !(element && typeof element.getBoundingClientRect === 'function'); + }); +} + +function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + + var _generatorOptions = generatorOptions, + _generatorOptions$def = _generatorOptions.defaultModifiers, + defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, + _generatorOptions$def2 = _generatorOptions.defaultOptions, + defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper(reference, popper, options) { + if (options === void 0) { + options = defaultOptions; + } + + var state = { + placement: 'bottom', + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference, + popper: popper + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance = { + state: state, + setOptions: function setOptions(setOptionsAction) { + var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options); + state.scrollParents = { + reference: (0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(reference) ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(reference) : reference.contextElement ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(reference.contextElement) : [], + popper: (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__["default"])(popper) + }; // Orders the modifiers based on their dependencies and `phase` + // properties + + var orderedModifiers = (0,_utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__["default"])([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers + + state.orderedModifiers = orderedModifiers.filter(function (m) { + return m.enabled; + }); // Validate the provided modifiers so that the consumer will get warned + // if one of the modifiers is invalid for any reason + + if (true) { + var modifiers = (0,_utils_uniqueBy_js__WEBPACK_IMPORTED_MODULE_4__["default"])([].concat(orderedModifiers, state.options.modifiers), function (_ref) { + var name = _ref.name; + return name; + }); + (0,_utils_validateModifiers_js__WEBPACK_IMPORTED_MODULE_5__["default"])(modifiers); + + if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.options.placement) === _enums_js__WEBPACK_IMPORTED_MODULE_7__.auto) { + var flipModifier = state.orderedModifiers.find(function (_ref2) { + var name = _ref2.name; + return name === 'flip'; + }); + + if (!flipModifier) { + console.error(['Popper: "auto" placements require the "flip" modifier be', 'present and enabled to work.'].join(' ')); + } + } + + var _getComputedStyle = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_8__["default"])(popper), + marginTop = _getComputedStyle.marginTop, + marginRight = _getComputedStyle.marginRight, + marginBottom = _getComputedStyle.marginBottom, + marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can + // cause bugs with positioning, so we'll warn the consumer + + + if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) { + return parseFloat(margin); + })) { + console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' ')); + } + } + + runModifierEffects(); + return instance.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + + var _state$elements = state.elements, + reference = _state$elements.reference, + popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements + // anymore + + if (!areValidElements(reference, popper)) { + if (true) { + console.error(INVALID_ELEMENT_ERROR); + } + + return; + } // Store the reference and popper rects to be read by modifiers + + + state.rects = { + reference: (0,_dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_9__["default"])(reference, (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__["default"])(popper), state.options.strategy === 'fixed'), + popper: (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_11__["default"])(popper) + }; // Modifiers have the ability to reset the current update cycle. The + // most common use case for this is the `flip` modifier changing the + // placement, which then needs to re-run all the modifiers, because the + // logic was previously ran for the previous placement and is therefore + // stale/incorrect + + state.reset = false; + state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier + // is filled with the initial data specified by the modifier. This means + // it doesn't persist and is fresh on each update. + // To ensure persistent data, use `${name}#persistent` + + state.orderedModifiers.forEach(function (modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + var __debug_loops__ = 0; + + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (true) { + __debug_loops__ += 1; + + if (__debug_loops__ > 100) { + console.error(INFINITE_LOOP_ERROR); + break; + } + } + + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + + var _state$orderedModifie = state.orderedModifiers[index], + fn = _state$orderedModifie.fn, + _state$orderedModifie2 = _state$orderedModifie.options, + _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, + name = _state$orderedModifie.name; + + if (typeof fn === 'function') { + state = fn({ + state: state, + options: _options, + name: name, + instance: instance + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: (0,_utils_debounce_js__WEBPACK_IMPORTED_MODULE_12__["default"])(function () { + return new Promise(function (resolve) { + instance.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + + if (!areValidElements(reference, popper)) { + if (true) { + console.error(INVALID_ELEMENT_ERROR); + } + + return instance; + } + + instance.setOptions(options).then(function (state) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state); + } + }); // Modifiers have the ability to execute arbitrary code before the first + // update cycle runs. They will be executed in the same order as the update + // cycle. This is useful when a modifier adds some persistent data that + // other modifiers need to use, but the modifier is run after the dependent + // one. + + function runModifierEffects() { + state.orderedModifiers.forEach(function (_ref3) { + var name = _ref3.name, + _ref3$options = _ref3.options, + options = _ref3$options === void 0 ? {} : _ref3$options, + effect = _ref3.effect; + + if (typeof effect === 'function') { + var cleanupFn = effect({ + state: state, + name: name, + instance: instance, + options: options + }); + + var noopFn = function noopFn() {}; + + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + + function cleanupModifierEffects() { + effectCleanupFns.forEach(function (fn) { + return fn(); + }); + effectCleanupFns = []; + } + + return instance; + }; +} +var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules + + + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/contains.js": +/*!***************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/contains.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ contains) +/* harmony export */ }); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); + +function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method + + if (parent.contains(child)) { + return true; + } // then fallback to custom implementation with Shadow DOM support + else if (rootNode && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(rootNode)) { + var next = child; + + do { + if (next && parent.isSameNode(next)) { + return true; + } // $FlowFixMe[prop-missing]: need a better way to handle this... + + + next = next.parentNode || next.host; + } while (next); + } // Give up, the result is false + + + return false; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getBoundingClientRect) +/* harmony export */ }); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + + +function getBoundingClientRect(element, includeScale) { + if (includeScale === void 0) { + includeScale = false; + } + + var rect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + + if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) && includeScale) { + var offsetHeight = element.offsetHeight; + var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale + // Fallback to 1 in case both values are `0` + + if (offsetWidth > 0) { + scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(rect.width) / offsetWidth || 1; + } + + if (offsetHeight > 0) { + scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(rect.height) / offsetHeight || 1; + } + } + + return { + width: rect.width / scaleX, + height: rect.height / scaleY, + top: rect.top / scaleY, + right: rect.right / scaleX, + bottom: rect.bottom / scaleY, + left: rect.left / scaleX, + x: rect.left / scaleX, + y: rect.top / scaleY + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getClippingRect) +/* harmony export */ }); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getViewportRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js"); +/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js"); +/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./listScrollParents.js */ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js"); +/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); +/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); +/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); +/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js"); +/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); +/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); +/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + + + + + + + + + + + + + + + +function getInnerBoundingClientRect(element) { + var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; +} + +function getClientRectFromMixedType(element, clippingParent) { + return clippingParent === _enums_js__WEBPACK_IMPORTED_MODULE_1__.viewport ? (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element)) : (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) ? getInnerBoundingClientRect(clippingParent) : (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__["default"])((0,_getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(element))); +} // A "clipping parent" is an overflowable container with the characteristic of +// clipping (or hiding) overflowing elements with a position different from +// `initial` + + +function getClippingParents(element) { + var clippingParents = (0,_listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__["default"])((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_8__["default"])(element)); + var canEscapeClipping = ['absolute', 'fixed'].indexOf((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__["default"])(element).position) >= 0; + var clipperElement = canEscapeClipping && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(element) ? (0,_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__["default"])(element) : element; + + if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clipperElement)) { + return []; + } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 + + + return clippingParents.filter(function (clippingParent) { + return (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) && (0,_contains_js__WEBPACK_IMPORTED_MODULE_11__["default"])(clippingParent, clipperElement) && (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_12__["default"])(clippingParent) !== 'body'; + }); +} // Gets the maximum area that the element is visible in due to any number of +// clipping parents + + +function getClippingRect(element, boundary, rootBoundary) { + var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); + var clippingParents = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents[0]; + var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent); + accRect.top = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.top, accRect.top); + accRect.right = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.right, accRect.right); + accRect.bottom = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.bottom, accRect.bottom); + accRect.left = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getCompositeRect) +/* harmony export */ }); +/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); +/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getNodeScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js"); +/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); +/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); +/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + + + + + + + + + +function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.width) / element.offsetWidth || 1; + var scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; +} // Returns the composite rect of an element relative to its offsetParent. +// Composite means it takes into account transforms as well as layout. + + +function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + + var isOffsetParentAnElement = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent); + var offsetParentIsScaled = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent) && isElementScaled(offsetParent); + var documentElement = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(offsetParent); + var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(elementOrVirtualElement, offsetParentIsScaled); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__["default"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 + (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__["default"])(documentElement)) { + scroll = (0,_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"])(offsetParent); + } + + if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent)) { + offsets = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__["default"])(documentElement); + } + } + + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getComputedStyle) +/* harmony export */ }); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); + +function getComputedStyle(element) { + return (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element).getComputedStyle(element); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getDocumentElement) +/* harmony export */ }); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); + +function getDocumentElement(element) { + // $FlowFixMe[incompatible-return]: assume body is always available + return (((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] + element.document) || window.document).documentElement; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getDocumentRect) +/* harmony export */ }); +/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); +/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); +/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); +/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + + + + + // Gets the entire size of the scrollable document area, even extending outside +// of the `` and `` rect bounds if horizontally scrollable + +function getDocumentRect(element) { + var _element$ownerDocumen; + + var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); + var winScroll = (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__["default"])(element); + var y = -winScroll.scrollTop; + + if ((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__["default"])(body || html).direction === 'rtl') { + x += (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.clientWidth, body ? body.clientWidth : 0) - width; + } + + return { + width: width, + height: height, + x: x, + y: y + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getHTMLElementScroll) +/* harmony export */ }); +function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js": +/*!********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getLayoutRect) +/* harmony export */ }); +/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); + // Returns the layout rect of an element relative to its offsetParent. Layout +// means it doesn't take into account transforms. + +function getLayoutRect(element) { + var clientRect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); // Use the clientRect sizes if it's not been transformed. + // Fixes https://github.com/popperjs/popper-core/issues/1223 + + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + + return { + x: element.offsetLeft, + y: element.offsetTop, + width: width, + height: height + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js": +/*!******************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getNodeName) +/* harmony export */ }); +function getNodeName(element) { + return element ? (element.nodeName || '').toLowerCase() : null; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js": +/*!********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getNodeScroll) +/* harmony export */ }); +/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js"); + + + + +function getNodeScroll(node) { + if (node === (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node) || !(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node)) { + return (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node); + } else { + return (0,_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node); + } +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getOffsetParent) +/* harmony export */ }); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); +/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); +/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isTableElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js"); +/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); + + + + + + + +function getTrueOffsetParent(element) { + if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || // https://github.com/popperjs/popper-core/issues/837 + (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element).position === 'fixed') { + return null; + } + + return element.offsetParent; +} // `.offsetParent` reports `null` for fixed elements, while absolute elements +// return the containing block + + +function getContainingBlock(element) { + var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1; + var isIE = navigator.userAgent.indexOf('Trident') !== -1; + + if (isIE && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) { + // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport + var elementCss = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); + + if (elementCss.position === 'fixed') { + return null; + } + } + + var currentNode = (0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element); + + if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(currentNode)) { + currentNode = currentNode.host; + } + + while ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(currentNode) && ['html', 'body'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_3__["default"])(currentNode)) < 0) { + var css = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that + // create a containing block. + // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block + + if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + + return null; +} // Gets the closest ancestor positioned element. Handles some edge cases, +// such as table ancestors and cross browser bugs. + + +function getOffsetParent(element) { + var window = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_4__["default"])(element); + var offsetParent = getTrueOffsetParent(element); + + while (offsetParent && (0,_isTableElement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent) && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static') { + offsetParent = getTrueOffsetParent(offsetParent); + } + + if (offsetParent && ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent) === 'html' || (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_3__["default"])(offsetParent) === 'body' && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(offsetParent).position === 'static')) { + return window; + } + + return offsetParent || getContainingBlock(element) || window; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js": +/*!********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getParentNode) +/* harmony export */ }); +/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); +/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); + + + +function getParentNode(element) { + if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element) === 'html') { + return element; + } + + return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || ( // DOM Element detected + (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isShadowRoot)(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element) // fallback + + ); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getScrollParent) +/* harmony export */ }); +/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); +/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); +/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); +/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); + + + + +function getScrollParent(node) { + if (['html', 'body', '#document'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node)) >= 0) { + // $FlowFixMe[incompatible-return]: assume body is always available + return node.ownerDocument.body; + } + + if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node) && (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(node)) { + return node; + } + + return getScrollParent((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(node)); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getViewportRect) +/* harmony export */ }); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); +/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js"); + + + +function getViewportRect(element) { + var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); + var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper + // can be obscured underneath it. + // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even + // if it isn't open, so if this isn't available, the popper will be detected + // to overflow the bottom of the screen too early. + + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently) + // In Chrome, it returns a value very close to 0 (+/-) but contains rounding + // errors due to floating point numbers, so we need to check precision. + // Safari returns a number <= 0, usually < -1 when pinch-zoomed + // Feature detection fails in mobile emulation mode in Chrome. + // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < + // 0.001 + // Fallback here: "Not Safari" userAgent + + if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + + return { + width: width, + height: height, + x: x + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element), + y: y + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js": +/*!****************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getWindow) +/* harmony export */ }); +function getWindow(node) { + if (node == null) { + return window; + } + + if (node.toString() !== '[object Window]') { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + + return node; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getWindowScroll) +/* harmony export */ }); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); + +function getWindowScroll(node) { + var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft: scrollLeft, + scrollTop: scrollTop + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getWindowScrollBarX) +/* harmony export */ }); +/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); +/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js"); + + + +function getWindowScrollBarX(element) { + // If has a CSS width greater than the viewport, then this will be + // incorrect for RTL. + // Popper 1 is broken in this case and never had a bug report so let's assume + // it's not an issue. I don't think anyone ever specifies width on + // anyway. + // Browsers where the left scrollbar doesn't cause an issue report `0` for + // this (e.g. Edge 2019, IE11, Safari) + return (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__["default"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)).left + (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__["default"])(element).scrollLeft; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "isElement": () => (/* binding */ isElement), +/* harmony export */ "isHTMLElement": () => (/* binding */ isHTMLElement), +/* harmony export */ "isShadowRoot": () => (/* binding */ isShadowRoot) +/* harmony export */ }); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); + + +function isElement(node) { + var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).Element; + return node instanceof OwnElement || node instanceof Element; +} + +function isHTMLElement(node) { + var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; +} + +function isShadowRoot(node) { + // IE 11 has no ShadowRoot + if (typeof ShadowRoot === 'undefined') { + return false; + } + + var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; +} + + + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isScrollParent) +/* harmony export */ }); +/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); + +function isScrollParent(element) { + // Firefox wants us to check `-x` and `-y` variations as well + var _getComputedStyle = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element), + overflow = _getComputedStyle.overflow, + overflowX = _getComputedStyle.overflowX, + overflowY = _getComputedStyle.overflowY; + + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isTableElement) +/* harmony export */ }); +/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); + +function isTableElement(element) { + return ['table', 'td', 'th'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element)) >= 0; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js": +/*!************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ listScrollParents) +/* harmony export */ }); +/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js"); +/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js"); +/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); +/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js"); + + + + +/* +given a DOM element, return the list of all scroll parents, up the list of ancesors +until we get to the top window object. This list is what we attach scroll listeners +to, because if any of these parent elements scroll, we'll need to re-calculate the +reference element's position. +*/ + +function listScrollParents(element, list) { + var _element$ownerDocumen; + + if (list === void 0) { + list = []; + } + + var scrollParent = (0,_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__["default"])(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target))); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/enums.js": +/*!**************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/enums.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "afterMain": () => (/* binding */ afterMain), +/* harmony export */ "afterRead": () => (/* binding */ afterRead), +/* harmony export */ "afterWrite": () => (/* binding */ afterWrite), +/* harmony export */ "auto": () => (/* binding */ auto), +/* harmony export */ "basePlacements": () => (/* binding */ basePlacements), +/* harmony export */ "beforeMain": () => (/* binding */ beforeMain), +/* harmony export */ "beforeRead": () => (/* binding */ beforeRead), +/* harmony export */ "beforeWrite": () => (/* binding */ beforeWrite), +/* harmony export */ "bottom": () => (/* binding */ bottom), +/* harmony export */ "clippingParents": () => (/* binding */ clippingParents), +/* harmony export */ "end": () => (/* binding */ end), +/* harmony export */ "left": () => (/* binding */ left), +/* harmony export */ "main": () => (/* binding */ main), +/* harmony export */ "modifierPhases": () => (/* binding */ modifierPhases), +/* harmony export */ "placements": () => (/* binding */ placements), +/* harmony export */ "popper": () => (/* binding */ popper), +/* harmony export */ "read": () => (/* binding */ read), +/* harmony export */ "reference": () => (/* binding */ reference), +/* harmony export */ "right": () => (/* binding */ right), +/* harmony export */ "start": () => (/* binding */ start), +/* harmony export */ "top": () => (/* binding */ top), +/* harmony export */ "variationPlacements": () => (/* binding */ variationPlacements), +/* harmony export */ "viewport": () => (/* binding */ viewport), +/* harmony export */ "write": () => (/* binding */ write) +/* harmony export */ }); +var top = 'top'; +var bottom = 'bottom'; +var right = 'right'; +var left = 'left'; +var auto = 'auto'; +var basePlacements = [top, bottom, right, left]; +var start = 'start'; +var end = 'end'; +var clippingParents = 'clippingParents'; +var viewport = 'viewport'; +var popper = 'popper'; +var reference = 'reference'; +var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); +}, []); +var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); +}, []); // modifiers that need to read the DOM + +var beforeRead = 'beforeRead'; +var read = 'read'; +var afterRead = 'afterRead'; // pure-logic modifiers + +var beforeMain = 'beforeMain'; +var main = 'main'; +var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) + +var beforeWrite = 'beforeWrite'; +var write = 'write'; +var afterWrite = 'afterWrite'; +var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/index.js": +/*!**************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "afterMain": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterMain), +/* harmony export */ "afterRead": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterRead), +/* harmony export */ "afterWrite": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.afterWrite), +/* harmony export */ "applyStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.applyStyles), +/* harmony export */ "arrow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.arrow), +/* harmony export */ "auto": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.auto), +/* harmony export */ "basePlacements": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements), +/* harmony export */ "beforeMain": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeMain), +/* harmony export */ "beforeRead": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeRead), +/* harmony export */ "beforeWrite": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.beforeWrite), +/* harmony export */ "bottom": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom), +/* harmony export */ "clippingParents": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents), +/* harmony export */ "computeStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.computeStyles), +/* harmony export */ "createPopper": () => (/* reexport safe */ _popper_js__WEBPACK_IMPORTED_MODULE_4__.createPopper), +/* harmony export */ "createPopperBase": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.createPopper), +/* harmony export */ "createPopperLite": () => (/* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__.createPopper), +/* harmony export */ "detectOverflow": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_3__["default"]), +/* harmony export */ "end": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.end), +/* harmony export */ "eventListeners": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.eventListeners), +/* harmony export */ "flip": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.flip), +/* harmony export */ "hide": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.hide), +/* harmony export */ "left": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.left), +/* harmony export */ "main": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.main), +/* harmony export */ "modifierPhases": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases), +/* harmony export */ "offset": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.offset), +/* harmony export */ "placements": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements), +/* harmony export */ "popper": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper), +/* harmony export */ "popperGenerator": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_2__.popperGenerator), +/* harmony export */ "popperOffsets": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.popperOffsets), +/* harmony export */ "preventOverflow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__.preventOverflow), +/* harmony export */ "read": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.read), +/* harmony export */ "reference": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference), +/* harmony export */ "right": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.right), +/* harmony export */ "start": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.start), +/* harmony export */ "top": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.top), +/* harmony export */ "variationPlacements": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements), +/* harmony export */ "viewport": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport), +/* harmony export */ "write": () => (/* reexport safe */ _enums_js__WEBPACK_IMPORTED_MODULE_0__.write) +/* harmony export */ }); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); +/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); +/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _popper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./popper.js */ "./node_modules/@popperjs/core/lib/popper.js"); +/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); + + // eslint-disable-next-line import/no-unused-modules + + // eslint-disable-next-line import/no-unused-modules + + // eslint-disable-next-line import/no-unused-modules + + + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js": +/*!******************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getNodeName.js */ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js"); +/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); + + // This modifier takes the styles prepared by the `computeStyles` modifier +// and applies them to the HTMLElements such as popper and arrow + +function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function (name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; // arrow is optional + virtual elements + + if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { + return; + } // Flow doesn't support to extend this property, but it's the most + // effective way to apply styles to an HTMLElement + // $FlowFixMe[cannot-write] + + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (name) { + var value = attributes[name]; + + if (value === false) { + element.removeAttribute(name); + } else { + element.setAttribute(name, value === true ? '' : value); + } + }); + }); +} + +function effect(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: '0', + top: '0', + margin: '0' + }, + arrow: { + position: 'absolute' + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + + return function () { + Object.keys(state.elements).forEach(function (name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them + + var style = styleProperties.reduce(function (style, property) { + style[property] = ''; + return style; + }, {}); // arrow is optional + virtual elements + + if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__["default"])(element)) { + return; + } + + Object.assign(element.style, style); + Object.keys(attributes).forEach(function (attribute) { + element.removeAttribute(attribute); + }); + }); + }; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'applyStyles', + enabled: true, + phase: 'write', + fn: applyStyles, + effect: effect, + requires: ['computeStyles'] +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js": +/*!************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"); +/* harmony import */ var _dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dom-utils/contains.js */ "./node_modules/@popperjs/core/lib/dom-utils/contains.js"); +/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); +/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); +/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); +/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); +/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); + + + + + + + + + + // eslint-disable-next-line import/no-unused-modules + +var toPaddingObject = function toPaddingObject(padding, state) { + padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return (0,_utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(typeof padding !== 'number' ? padding : (0,_utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_2__.basePlacements)); +}; + +function arrow(_ref) { + var _state$modifiersData$; + + var state = _ref.state, + name = _ref.name, + options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets = state.modifiersData.popperOffsets; + var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(state.placement); + var axis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(basePlacement); + var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_2__.left, _enums_js__WEBPACK_IMPORTED_MODULE_2__.right].indexOf(basePlacement) >= 0; + var len = isVertical ? 'height' : 'width'; + + if (!arrowElement || !popperOffsets) { + return; + } + + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__["default"])(arrowElement); + var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.top : _enums_js__WEBPACK_IMPORTED_MODULE_2__.left; + var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_2__.right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; + var startDiff = popperOffsets[axis] - state.rects.reference[axis]; + var arrowOffsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement); + var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is + // outside of the popper bounds + + var min = paddingObject[minProp]; + var max = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_7__.within)(min, center, max); // Prevents breaking syntax highlighting... + + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); +} + +function effect(_ref2) { + var state = _ref2.state, + options = _ref2.options; + var _options$element = options.element, + arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; + + if (arrowElement == null) { + return; + } // CSS selector + + + if (typeof arrowElement === 'string') { + arrowElement = state.elements.popper.querySelector(arrowElement); + + if (!arrowElement) { + return; + } + } + + if (true) { + if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_8__.isHTMLElement)(arrowElement)) { + console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' ')); + } + } + + if (!(0,_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.popper, arrowElement)) { + if (true) { + console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', 'element.'].join(' ')); + } + + return; + } + + state.elements.arrow = arrowElement; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'arrow', + enabled: true, + phase: 'main', + fn: arrow, + effect: effect, + requires: ['popperOffsets'], + requiresIfExists: ['preventOverflow'] +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js": +/*!********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ "mapToStyles": () => (/* binding */ mapToStyles) +/* harmony export */ }); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); +/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); +/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getComputedStyle.js */ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js"); +/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); +/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + + + + + + + + // eslint-disable-next-line import/no-unused-modules + +var unsetSides = { + top: 'auto', + right: 'auto', + bottom: 'auto', + left: 'auto' +}; // Round the offsets to the nearest suitable subpixel based on the DPR. +// Zooming can change the DPR, but it seems to report a value that will +// cleanly divide the values into the appropriate subpixels. + +function roundOffsetsByDPR(_ref) { + var x = _ref.x, + y = _ref.y; + var win = window; + var dpr = win.devicePixelRatio || 1; + return { + x: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(x * dpr) / dpr || 0, + y: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(y * dpr) / dpr || 0 + }; +} + +function mapToStyles(_ref2) { + var _Object$assign2; + + var popper = _ref2.popper, + popperRect = _ref2.popperRect, + placement = _ref2.placement, + variation = _ref2.variation, + offsets = _ref2.offsets, + position = _ref2.position, + gpuAcceleration = _ref2.gpuAcceleration, + adaptive = _ref2.adaptive, + roundOffsets = _ref2.roundOffsets, + isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, + x = _offsets$x === void 0 ? 0 : _offsets$x, + _offsets$y = offsets.y, + y = _offsets$y === void 0 ? 0 : _offsets$y; + + var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ + x: x, + y: y + }) : { + x: x, + y: y + }; + + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty('x'); + var hasY = offsets.hasOwnProperty('y'); + var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.left; + var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.top; + var win = window; + + if (adaptive) { + var offsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__["default"])(popper); + var heightProp = 'clientHeight'; + var widthProp = 'clientWidth'; + + if (offsetParent === (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__["default"])(popper)) { + offsetParent = (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(popper); + + if ((0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(offsetParent).position !== 'static' && position === 'absolute') { + heightProp = 'scrollHeight'; + widthProp = 'scrollWidth'; + } + } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it + + + offsetParent = offsetParent; + + if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.top || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.left || placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.right) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_1__.end) { + sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] + offsetParent[heightProp]; + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + + if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.left || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.top || placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_1__.end) { + sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] + offsetParent[widthProp]; + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + + var commonStyles = Object.assign({ + position: position + }, adaptive && unsetSides); + + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x: x, + y: y + }) : { + x: x, + y: y + }; + + x = _ref4.x; + y = _ref4.y; + + if (gpuAcceleration) { + var _Object$assign; + + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); +} + +function computeStyles(_ref5) { + var state = _ref5.state, + options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, + gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, + _options$adaptive = options.adaptive, + adaptive = _options$adaptive === void 0 ? true : _options$adaptive, + _options$roundOffsets = options.roundOffsets, + roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + + if (true) { + var transitionProperty = (0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.elements.popper).transitionProperty || ''; + + if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) { + return transitionProperty.indexOf(property) >= 0; + })) { + console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: "transform", "top", "right", "bottom", "left".', '\n\n', 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\n\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' ')); + } + } + + var commonStyles = { + placement: (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.placement), + variation: (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__["default"])(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration: gpuAcceleration, + isFixed: state.options.strategy === 'fixed' + }; + + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive: adaptive, + roundOffsets: roundOffsets + }))); + } + + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: 'absolute', + adaptive: false, + roundOffsets: roundOffsets + }))); + } + + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-placement': state.placement + }); +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'computeStyles', + enabled: true, + phase: 'beforeWrite', + fn: computeStyles, + data: {} +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js"); + // eslint-disable-next-line import/no-unused-modules + +var passive = { + passive: true +}; + +function effect(_ref) { + var state = _ref.state, + instance = _ref.instance, + options = _ref.options; + var _options$scroll = options.scroll, + scroll = _options$scroll === void 0 ? true : _options$scroll, + _options$resize = options.resize, + resize = _options$resize === void 0 ? true : _options$resize; + var window = (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.addEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.addEventListener('resize', instance.update, passive); + } + + return function () { + if (scroll) { + scrollParents.forEach(function (scrollParent) { + scrollParent.removeEventListener('scroll', instance.update, passive); + }); + } + + if (resize) { + window.removeEventListener('resize', instance.update, passive); + } + }; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'eventListeners', + enabled: true, + phase: 'write', + fn: function fn() {}, + effect: effect, + data: {} +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js": +/*!***********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js"); +/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js"); +/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); + + + + + + + // eslint-disable-next-line import/no-unused-modules + +function getExpandedFallbackPlacements(placement) { + if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto) { + return []; + } + + var oppositePlacement = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(placement); + return [(0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement), oppositePlacement, (0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(oppositePlacement)]; +} + +function flip(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + + if (state.modifiersData[name]._skip) { + return; + } + + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, + specifiedFallbackPlacements = options.fallbackPlacements, + padding = options.padding, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + _options$flipVariatio = options.flipVariations, + flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, + allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [(0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { + return acc.concat((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto ? (0,_utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__["default"])(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + flipVariations: flipVariations, + allowedAutoPlacements: allowedAutoPlacements + }) : placement); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements[0]; + + for (var i = 0; i < placements.length; i++) { + var placement = placements[i]; + + var _basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); + + var isStartVariation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__["default"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.start; + var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.top, _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? 'width' : 'height'; + var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + altBoundary: altBoundary, + padding: padding + }); + var mainVariationSide = isVertical ? isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.right : _enums_js__WEBPACK_IMPORTED_MODULE_1__.left : isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_1__.top; + + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); + } + + var altVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__["default"])(mainVariationSide); + var checks = []; + + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + + if (checks.every(function (check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + + checksMap.set(placement, checks); + } + + if (makeFallbackChecks) { + // `2` may be desired in some cases – research later + var numberOfChecks = flipVariations ? 3 : 1; + + var _loop = function _loop(_i) { + var fittingPlacement = placements.find(function (placement) { + var checks = checksMap.get(placement); + + if (checks) { + return checks.slice(0, _i).every(function (check) { + return check; + }); + } + }); + + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + + if (_ret === "break") break; + } + } + + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'flip', + enabled: true, + phase: 'main', + fn: flip, + requiresIfExists: ['offset'], + data: { + _skip: false + } +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js": +/*!***********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); + + + +function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; +} + +function isAnySideFullyClipped(overflow) { + return [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom, _enums_js__WEBPACK_IMPORTED_MODULE_0__.left].some(function (side) { + return overflow[side] >= 0; + }); +} + +function hide(_ref) { + var state = _ref.state, + name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { + elementContext: 'reference' + }); + var popperAltOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets: referenceClippingOffsets, + popperEscapeOffsets: popperEscapeOffsets, + isReferenceHidden: isReferenceHidden, + hasPopperEscaped: hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + 'data-popper-reference-hidden': isReferenceHidden, + 'data-popper-escaped': hasPopperEscaped + }); +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'hide', + enabled: true, + phase: 'main', + requiresIfExists: ['preventOverflow'], + fn: hide +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js": +/*!************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "applyStyles": () => (/* reexport safe */ _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__["default"]), +/* harmony export */ "arrow": () => (/* reexport safe */ _arrow_js__WEBPACK_IMPORTED_MODULE_1__["default"]), +/* harmony export */ "computeStyles": () => (/* reexport safe */ _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"]), +/* harmony export */ "eventListeners": () => (/* reexport safe */ _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__["default"]), +/* harmony export */ "flip": () => (/* reexport safe */ _flip_js__WEBPACK_IMPORTED_MODULE_4__["default"]), +/* harmony export */ "hide": () => (/* reexport safe */ _hide_js__WEBPACK_IMPORTED_MODULE_5__["default"]), +/* harmony export */ "offset": () => (/* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_6__["default"]), +/* harmony export */ "popperOffsets": () => (/* reexport safe */ _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"]), +/* harmony export */ "preventOverflow": () => (/* reexport safe */ _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__["default"]) +/* harmony export */ }); +/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); +/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); +/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); +/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); +/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); +/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); +/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); +/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); +/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); + + + + + + + + + + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js": +/*!*************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), +/* harmony export */ "distanceAndSkiddingToXY": () => (/* binding */ distanceAndSkiddingToXY) +/* harmony export */ }); +/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); + + // eslint-disable-next-line import/no-unused-modules + +function distanceAndSkiddingToXY(placement, rects, offset) { + var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement); + var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.top].indexOf(basePlacement) >= 0 ? -1 : 1; + + var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { + placement: placement + })) : offset, + skidding = _ref[0], + distance = _ref[1]; + + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; +} + +function offset(_ref2) { + var state = _ref2.state, + options = _ref2.options, + name = _ref2.name; + var _options$offset = options.offset, + offset = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements.reduce(function (acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); + return acc; + }, {}); + var _data$state$placement = data[state.placement], + x = _data$state$placement.x, + y = _data$state$placement.y; + + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + + state.modifiersData[name] = data; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'offset', + enabled: true, + phase: 'main', + requires: ['popperOffsets'], + fn: offset +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js": +/*!********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); + + +function popperOffsets(_ref) { + var state = _ref.state, + name = _ref.name; + // Offsets are the actual position the popper needs to have to be + // properly positioned near its reference element + // This is the most basic placement, and will be adjusted by + // the modifiers in the next step + state.modifiersData[name] = (0,_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__["default"])({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: 'absolute', + placement: state.placement + }); +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'popperOffsets', + enabled: true, + phase: 'read', + fn: popperOffsets, + data: {} +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); +/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getAltAxis.js */ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js"); +/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/within.js */ "./node_modules/@popperjs/core/lib/utils/within.js"); +/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js"); +/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js"); +/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); +/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); +/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + + + + + + + + + + + + +function preventOverflow(_ref) { + var state = _ref.state, + options = _ref.options, + name = _ref.name; + var _options$mainAxis = options.mainAxis, + checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, + _options$altAxis = options.altAxis, + checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, + boundary = options.boundary, + rootBoundary = options.rootBoundary, + altBoundary = options.altBoundary, + padding = options.padding, + _options$tether = options.tether, + tether = _options$tether === void 0 ? true : _options$tether, + _options$tetherOffset = options.tetherOffset, + tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(state, { + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding, + altBoundary: altBoundary + }); + var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__["default"])(state.placement); + var variation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state.placement); + var isBasePlacement = !variation; + var mainAxis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement); + var altAxis = (0,_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__["default"])(mainAxis); + var popperOffsets = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + + if (!popperOffsets) { + return; + } + + if (checkMainAxis) { + var _offsetModifierState$; + + var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; + var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; + var len = mainAxis === 'y' ? 'height' : 'width'; + var offset = popperOffsets[mainAxis]; + var min = offset + overflow[mainSide]; + var max = offset - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go + // outside the reference bounds + + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : (0,_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__["default"])(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want + // to include its full size in the calculation. If the reference is small + // and near the edge of a boundary, the popper can overflow even if the + // reference is not overflowing as well (e.g. virtual elements with no + // width or height) + + var arrowLen = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__["default"])(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset + maxOffset - offsetModifierValue; + var preventedOffset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.min)(min, tetherMin) : min, offset, tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.max)(max, tetherMax) : max); + popperOffsets[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset; + } + + if (checkAltAxis) { + var _offsetModifierState$2; + + var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left; + + var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right; + + var _offset = popperOffsets[altAxis]; + + var _len = altAxis === 'y' ? 'height' : 'width'; + + var _min = _offset + overflow[_mainSide]; + + var _max = _offset - overflow[_altSide]; + + var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.left].indexOf(basePlacement) !== -1; + + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + + var _preventedOffset = tether && isOriginSide ? (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.withinMaxClamp)(_tetherMin, _offset, _tetherMax) : (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + + popperOffsets[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + + state.modifiersData[name] = data; +} // eslint-disable-next-line import/no-unused-modules + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + name: 'preventOverflow', + enabled: true, + phase: 'main', + fn: preventOverflow, + requiresIfExists: ['offset'] +}); + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/popper-lite.js": +/*!********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "createPopper": () => (/* binding */ createPopper), +/* harmony export */ "defaultModifiers": () => (/* binding */ defaultModifiers), +/* harmony export */ "detectOverflow": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_5__["default"]), +/* harmony export */ "popperGenerator": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator) +/* harmony export */ }); +/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); +/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); +/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); +/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); +/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); + + + + + +var defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__["default"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__["default"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__["default"]]; +var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator)({ + defaultModifiers: defaultModifiers +}); // eslint-disable-next-line import/no-unused-modules + + + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/popper.js": +/*!***************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/popper.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "applyStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.applyStyles), +/* harmony export */ "arrow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.arrow), +/* harmony export */ "computeStyles": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.computeStyles), +/* harmony export */ "createPopper": () => (/* binding */ createPopper), +/* harmony export */ "createPopperLite": () => (/* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__.createPopper), +/* harmony export */ "defaultModifiers": () => (/* binding */ defaultModifiers), +/* harmony export */ "detectOverflow": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_10__["default"]), +/* harmony export */ "eventListeners": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.eventListeners), +/* harmony export */ "flip": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.flip), +/* harmony export */ "hide": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.hide), +/* harmony export */ "offset": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.offset), +/* harmony export */ "popperGenerator": () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator), +/* harmony export */ "popperOffsets": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.popperOffsets), +/* harmony export */ "preventOverflow": () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.preventOverflow) +/* harmony export */ }); +/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/createPopper.js"); +/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./createPopper.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js"); +/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js"); +/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js"); +/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js"); +/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/offset.js */ "./node_modules/@popperjs/core/lib/modifiers/offset.js"); +/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/flip.js */ "./node_modules/@popperjs/core/lib/modifiers/flip.js"); +/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js"); +/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/arrow.js */ "./node_modules/@popperjs/core/lib/modifiers/arrow.js"); +/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/hide.js */ "./node_modules/@popperjs/core/lib/modifiers/hide.js"); +/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./popper-lite.js */ "./node_modules/@popperjs/core/lib/popper-lite.js"); +/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modifiers/index.js */ "./node_modules/@popperjs/core/lib/modifiers/index.js"); + + + + + + + + + + +var defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__["default"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__["default"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__["default"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__["default"], _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__["default"], _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__["default"], _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__["default"], _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__["default"], _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__["default"]]; +var createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator)({ + defaultModifiers: defaultModifiers +}); // eslint-disable-next-line import/no-unused-modules + + // eslint-disable-next-line import/no-unused-modules + + // eslint-disable-next-line import/no-unused-modules + + + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ computeAutoPlacement) +/* harmony export */ }); +/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js"); +/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); + + + + +function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + placement = _options.placement, + boundary = _options.boundary, + rootBoundary = _options.rootBoundary, + padding = _options.padding, + flipVariations = _options.flipVariations, + _options$allowedAutoP = _options.allowedAutoPlacements, + allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements : _options$allowedAutoP; + var variation = (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement); + var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements : _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements.filter(function (placement) { + return (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) === variation; + }) : _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements; + var allowedPlacements = placements.filter(function (placement) { + return allowedAutoPlacements.indexOf(placement) >= 0; + }); + + if (allowedPlacements.length === 0) { + allowedPlacements = placements; + + if (true) { + console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(' ')); + } + } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... + + + var overflows = allowedPlacements.reduce(function (acc, placement) { + acc[placement] = (0,_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__["default"])(state, { + placement: placement, + boundary: boundary, + rootBoundary: rootBoundary, + padding: padding + })[(0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(placement)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function (a, b) { + return overflows[a] - overflows[b]; + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ computeOffsets) +/* harmony export */ }); +/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBasePlacement.js */ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js"); +/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ "./node_modules/@popperjs/core/lib/utils/getVariation.js"); +/* harmony import */ var _getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getMainAxisFromPlacement.js */ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); + + + + +function computeOffsets(_ref) { + var reference = _ref.reference, + element = _ref.element, + placement = _ref.placement; + var basePlacement = placement ? (0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(placement) : null; + var variation = placement ? (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__["default"])(placement) : null; + var commonX = reference.x + reference.width / 2 - element.width / 2; + var commonY = reference.y + reference.height / 2 - element.height / 2; + var offsets; + + switch (basePlacement) { + case _enums_js__WEBPACK_IMPORTED_MODULE_2__.top: + offsets = { + x: commonX, + y: reference.y - element.height + }; + break; + + case _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom: + offsets = { + x: commonX, + y: reference.y + reference.height + }; + break; + + case _enums_js__WEBPACK_IMPORTED_MODULE_2__.right: + offsets = { + x: reference.x + reference.width, + y: commonY + }; + break; + + case _enums_js__WEBPACK_IMPORTED_MODULE_2__.left: + offsets = { + x: reference.x - element.width, + y: commonY + }; + break; + + default: + offsets = { + x: reference.x, + y: reference.y + }; + } + + var mainAxis = basePlacement ? (0,_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__["default"])(basePlacement) : null; + + if (mainAxis != null) { + var len = mainAxis === 'y' ? 'height' : 'width'; + + switch (variation) { + case _enums_js__WEBPACK_IMPORTED_MODULE_2__.start: + offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); + break; + + case _enums_js__WEBPACK_IMPORTED_MODULE_2__.end: + offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); + break; + + default: + } + } + + return offsets; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/debounce.js": +/*!***********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/debounce.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ debounce) +/* harmony export */ }); +function debounce(fn) { + var pending; + return function () { + if (!pending) { + pending = new Promise(function (resolve) { + Promise.resolve().then(function () { + pending = undefined; + resolve(fn()); + }); + }); + } + + return pending; + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/detectOverflow.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/detectOverflow.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ detectOverflow) +/* harmony export */ }); +/* harmony import */ var _dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getClippingRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js"); +/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js"); +/* harmony import */ var _dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getBoundingClientRect.js */ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js"); +/* harmony import */ var _computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./computeOffsets.js */ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js"); +/* harmony import */ var _rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rectToClientRect.js */ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); +/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js"); +/* harmony import */ var _mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergePaddingObject.js */ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js"); +/* harmony import */ var _expandToHashMap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./expandToHashMap.js */ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js"); + + + + + + + + + // eslint-disable-next-line import/no-unused-modules + +function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + + var _options = options, + _options$placement = _options.placement, + placement = _options$placement === void 0 ? state.placement : _options$placement, + _options$boundary = _options.boundary, + boundary = _options$boundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.clippingParents : _options$boundary, + _options$rootBoundary = _options.rootBoundary, + rootBoundary = _options$rootBoundary === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.viewport : _options$rootBoundary, + _options$elementConte = _options.elementContext, + elementContext = _options$elementConte === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper : _options$elementConte, + _options$altBoundary = _options.altBoundary, + altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, + _options$padding = _options.padding, + padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = (0,_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(typeof padding !== 'number' ? padding : (0,_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_2__["default"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements)); + var altContext = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.reference : _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = (0,_dom_utils_getClippingRect_js__WEBPACK_IMPORTED_MODULE_3__["default"])((0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(element) ? element : element.contextElement || (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_5__["default"])(state.elements.popper), boundary, rootBoundary); + var referenceClientRect = (0,_dom_utils_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_6__["default"])(state.elements.reference); + var popperOffsets = (0,_computeOffsets_js__WEBPACK_IMPORTED_MODULE_7__["default"])({ + reference: referenceClientRect, + element: popperRect, + strategy: 'absolute', + placement: placement + }); + var popperClientRect = (0,_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_8__["default"])(Object.assign({}, popperRect, popperOffsets)); + var elementClientRect = elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect + // 0 or negative = within the clipping rect + + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element + + if (elementContext === _enums_js__WEBPACK_IMPORTED_MODULE_0__.popper && offsetData) { + var offset = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function (key) { + var multiply = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom].indexOf(key) >= 0 ? 'y' : 'x'; + overflowOffsets[key] += offset[axis] * multiply; + }); + } + + return overflowOffsets; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/expandToHashMap.js": +/*!******************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ expandToHashMap) +/* harmony export */ }); +function expandToHashMap(value, keys) { + return keys.reduce(function (hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/format.js": +/*!*********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/format.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ format) +/* harmony export */ }); +function format(str) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return [].concat(args).reduce(function (p, c) { + return p.replace(/%s/, c); + }, str); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getAltAxis.js": +/*!*************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getAltAxis.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getAltAxis) +/* harmony export */ }); +function getAltAxis(axis) { + return axis === 'x' ? 'y' : 'x'; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getBasePlacement.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getBasePlacement) +/* harmony export */ }); + +function getBasePlacement(placement) { + return placement.split('-')[0]; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getFreshSideObject) +/* harmony export */ }); +function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getMainAxisFromPlacement) +/* harmony export */ }); +function getMainAxisFromPlacement(placement) { + return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getOppositePlacement) +/* harmony export */ }); +var hash = { + left: 'right', + right: 'left', + bottom: 'top', + top: 'bottom' +}; +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getOppositeVariationPlacement) +/* harmony export */ }); +var hash = { + start: 'end', + end: 'start' +}; +function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function (matched) { + return hash[matched]; + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/getVariation.js": +/*!***************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/getVariation.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ getVariation) +/* harmony export */ }); +function getVariation(placement) { + return placement.split('-')[1]; +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/math.js": +/*!*******************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/math.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "max": () => (/* binding */ max), +/* harmony export */ "min": () => (/* binding */ min), +/* harmony export */ "round": () => (/* binding */ round) +/* harmony export */ }); +var max = Math.max; +var min = Math.min; +var round = Math.round; + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/mergeByName.js": +/*!**************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/mergeByName.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ mergeByName) +/* harmony export */ }); +function mergeByName(modifiers) { + var merged = modifiers.reduce(function (merged, current) { + var existing = merged[current.name]; + merged[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged; + }, {}); // IE11 does not support Object.values + + return Object.keys(merged).map(function (key) { + return merged[key]; + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ mergePaddingObject) +/* harmony export */ }); +/* harmony import */ var _getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getFreshSideObject.js */ "./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js"); + +function mergePaddingObject(paddingObject) { + return Object.assign({}, (0,_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(), paddingObject); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/orderModifiers.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/orderModifiers.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ orderModifiers) +/* harmony export */ }); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); + // source: https://stackoverflow.com/questions/49875255 + +function order(modifiers) { + var map = new Map(); + var visited = new Set(); + var result = []; + modifiers.forEach(function (modifier) { + map.set(modifier.name, modifier); + }); // On visiting object, check for its dependencies and visit them recursively + + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function (dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + + modifiers.forEach(function (modifier) { + if (!visited.has(modifier.name)) { + // check for visited object + sort(modifier); + } + }); + return result; +} + +function orderModifiers(modifiers) { + // order based on dependencies + var orderedModifiers = order(modifiers); // order based on phase + + return _enums_js__WEBPACK_IMPORTED_MODULE_0__.modifierPhases.reduce(function (acc, phase) { + return acc.concat(orderedModifiers.filter(function (modifier) { + return modifier.phase === phase; + })); + }, []); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/rectToClientRect.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ rectToClientRect) +/* harmony export */ }); +function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/uniqueBy.js": +/*!***********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/uniqueBy.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ uniqueBy) +/* harmony export */ }); +function uniqueBy(arr, fn) { + var identifiers = new Set(); + return arr.filter(function (item) { + var identifier = fn(item); + + if (!identifiers.has(identifier)) { + identifiers.add(identifier); + return true; + } + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/validateModifiers.js": +/*!********************************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/validateModifiers.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ validateModifiers) +/* harmony export */ }); +/* harmony import */ var _format_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./format.js */ "./node_modules/@popperjs/core/lib/utils/format.js"); +/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ "./node_modules/@popperjs/core/lib/enums.js"); + + +var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'; +var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'; +var VALID_PROPERTIES = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options']; +function validateModifiers(modifiers) { + modifiers.forEach(function (modifier) { + [].concat(Object.keys(modifier), VALID_PROPERTIES) // IE11-compatible replacement for `new Set(iterable)` + .filter(function (value, index, self) { + return self.indexOf(value) === index; + }).forEach(function (key) { + switch (key) { + case 'name': + if (typeof modifier.name !== 'string') { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', "\"" + String(modifier.name) + "\"")); + } + + break; + + case 'enabled': + if (typeof modifier.enabled !== 'boolean') { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', "\"" + String(modifier.enabled) + "\"")); + } + + break; + + case 'phase': + if (_enums_js__WEBPACK_IMPORTED_MODULE_1__.modifierPhases.indexOf(modifier.phase) < 0) { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + _enums_js__WEBPACK_IMPORTED_MODULE_1__.modifierPhases.join(', '), "\"" + String(modifier.phase) + "\"")); + } + + break; + + case 'fn': + if (typeof modifier.fn !== 'function') { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', "\"" + String(modifier.fn) + "\"")); + } + + break; + + case 'effect': + if (modifier.effect != null && typeof modifier.effect !== 'function') { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', "\"" + String(modifier.fn) + "\"")); + } + + break; + + case 'requires': + if (modifier.requires != null && !Array.isArray(modifier.requires)) { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', "\"" + String(modifier.requires) + "\"")); + } + + break; + + case 'requiresIfExists': + if (!Array.isArray(modifier.requiresIfExists)) { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', "\"" + String(modifier.requiresIfExists) + "\"")); + } + + break; + + case 'options': + case 'data': + break; + + default: + console.error("PopperJS: an invalid property has been provided to the \"" + modifier.name + "\" modifier, valid properties are " + VALID_PROPERTIES.map(function (s) { + return "\"" + s + "\""; + }).join(', ') + "; but \"" + key + "\" was provided."); + } + + modifier.requires && modifier.requires.forEach(function (requirement) { + if (modifiers.find(function (mod) { + return mod.name === requirement; + }) == null) { + console.error((0,_format_js__WEBPACK_IMPORTED_MODULE_0__["default"])(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement)); + } + }); + }); + }); +} + +/***/ }), + +/***/ "./node_modules/@popperjs/core/lib/utils/within.js": +/*!*********************************************************!*\ + !*** ./node_modules/@popperjs/core/lib/utils/within.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "within": () => (/* binding */ within), +/* harmony export */ "withinMaxClamp": () => (/* binding */ withinMaxClamp) +/* harmony export */ }); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./math.js */ "./node_modules/@popperjs/core/lib/utils/math.js"); + +function within(min, value, max) { + return (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.max)(min, (0,_math_js__WEBPACK_IMPORTED_MODULE_0__.min)(value, max)); +} +function withinMaxClamp(min, value, max) { + var v = within(min, value, max); + return v > max ? max : v; +} + +/***/ }), + +/***/ "./node_modules/axios/index.js": +/*!*************************************!*\ + !*** ./node_modules/axios/index.js ***! + \*************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js"); + +/***/ }), + +/***/ "./node_modules/axios/lib/adapters/xhr.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/adapters/xhr.js ***! + \************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); +var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); +var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); +var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); +var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); +var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); +var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js"); + +module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + var responseType = config.responseType; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + var fullPath = buildFullPath(config.baseURL, config.url); + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(createError('Request aborted', config, 'ECONNABORTED', request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded'; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(createError( + timeoutErrorMessage, + config, + config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = config.responseType; + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (!requestData) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/axios.js": +/*!*****************************************!*\ + !*** ./node_modules/axios/lib/axios.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); +var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); +var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js"); +var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); +var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js"); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; +} + +// Create the default instance to be exported +var axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Factory for creating new instances +axios.create = function create(instanceConfig) { + return createInstance(mergeConfig(axios.defaults, instanceConfig)); +}; + +// Expose Cancel & CancelToken +axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); +axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js"); +axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; +axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js"); + +// Expose isAxiosError +axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js"); + +module.exports = axios; + +// Allow use of default import syntax in TypeScript +module.exports["default"] = axios; + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/Cancel.js": +/*!*************************************************!*\ + !*** ./node_modules/axios/lib/cancel/Cancel.js ***! + \*************************************************/ +/***/ ((module) => { + +"use strict"; + + +/** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ +function Cancel(message) { + this.message = message; +} + +Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); +}; + +Cancel.prototype.__CANCEL__ = true; + +module.exports = Cancel; + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/CancelToken.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js"); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ +function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); +} + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } +}; + +/** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ +CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; +}; + +module.exports = CancelToken; + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/isCancel.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/cancel/isCancel.js ***! + \***************************************************/ +/***/ ((module) => { + +"use strict"; + + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/Axios.js": +/*!**********************************************!*\ + !*** ./node_modules/axios/lib/core/Axios.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); +var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); +var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); +var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); +var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js"); + +var validators = validator.validators; +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + var transitional = config.transitional; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0') + }, false); + } + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + var promise; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, undefined]; + + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + } + + + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + + return promise; +}; + +Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: (config || {}).data + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/InterceptorManager.js": +/*!***********************************************************!*\ + !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + +function InterceptorManager() { + this.handlers = []; +} + +/** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ +InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; +}; + +/** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ +InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } +}; + +/** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ +InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); +}; + +module.exports = InterceptorManager; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/buildFullPath.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); +var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * @returns {string} The combined full path + */ +module.exports = function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/createError.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/core/createError.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/dispatchRequest.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); +var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); +var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js"); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData.call( + config, + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call( + config, + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/enhanceError.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/core/enhanceError.js ***! + \*****************************************************/ +/***/ ((module) => { + +"use strict"; + + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/mergeConfig.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/core/mergeConfig.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ +module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + var valueFromConfig2Keys = ['url', 'method', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params']; + var defaultToConfig2Keys = [ + 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress', + 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding' + ]; + var directMergeKeys = ['validateStatus']; + + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + } + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } + }); + + utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties); + + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + utils.forEach(directMergeKeys, function merge(prop) { + if (prop in config2) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys) + .concat(directMergeKeys); + + var otherKeys = Object + .keys(config1) + .concat(Object.keys(config2)) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, mergeDeepProperties); + + return config; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/settle.js": +/*!***********************************************!*\ + !*** ./node_modules/axios/lib/core/settle.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js"); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/transformData.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/transformData.js ***! + \******************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js"); + +/** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ +module.exports = function transformData(data, headers, fns) { + var context = this || defaults; + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn.call(context, data, headers); + }); + + return data; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/defaults.js": +/*!********************************************!*\ + !*** ./node_modules/axios/lib/defaults.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); + + +var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); +var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); +var enhanceError = __webpack_require__(/*! ./core/enhanceError */ "./node_modules/axios/lib/core/enhanceError.js"); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); + } + return adapter; +} + +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +var defaults = { + + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) { + setContentTypeIfUnset(headers, 'application/json'); + return stringifySafely(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + var transitional = this.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; + + if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw enhanceError(e, this, 'E_JSON_PARSE'); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/bind.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/bind.js ***! + \************************************************/ +/***/ ((module) => { + +"use strict"; + + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/buildURL.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/buildURL.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/combineURLs.js": +/*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! + \*******************************************************/ +/***/ ((module) => { + +"use strict"; + + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ +module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/cookies.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/helpers/cookies.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() +); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! + \*********************************************************/ +/***/ ((module) => { + +"use strict"; + + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! + \********************************************************/ +/***/ ((module) => { + +"use strict"; + + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +module.exports = function isAxiosError(payload) { + return (typeof payload === 'object') && (payload.isAxiosError === true); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": +/*!***********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! + \***********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": +/*!***************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! + \***************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + +module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + +// Headers whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' +]; + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ +module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/spread.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/helpers/spread.js ***! + \**************************************************/ +/***/ ((module) => { + +"use strict"; + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/validator.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var pkg = __webpack_require__(/*! ./../../package.json */ "./node_modules/axios/package.json"); + +var validators = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +var deprecatedWarnings = {}; +var currentVerArr = pkg.version.split('.'); + +/** + * Compare package versions + * @param {string} version + * @param {string?} thanVersion + * @returns {boolean} + */ +function isOlderVersion(version, thanVersion) { + var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr; + var destVer = version.split('.'); + for (var i = 0; i < 3; i++) { + if (pkgVersionArr[i] > destVer[i]) { + return true; + } else if (pkgVersionArr[i] < destVer[i]) { + return false; + } + } + return false; +} + +/** + * Transitional option validator + * @param {function|boolean?} validator + * @param {string?} version + * @param {string} message + * @returns {function} + */ +validators.transitional = function transitional(validator, version, message) { + var isDeprecated = version && isOlderVersion(version); + + function formatMessage(opt, desc) { + return '[Axios v' + pkg.version + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return function(value, opt, opts) { + if (validator === false) { + throw new Error(formatMessage(opt, ' has been removed in ' + version)); + } + + if (isDeprecated && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +/** + * Assert object's properties type + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new TypeError('options must be an object'); + } + var keys = Object.keys(options); + var i = keys.length; + while (i-- > 0) { + var opt = keys[i]; + var validator = schema[opt]; + if (validator) { + var value = options[opt]; + var result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new TypeError('option ' + opt + ' must be ' + result); + } + continue; + } + if (allowUnknown !== true) { + throw Error('Unknown option ' + opt); + } + } +} + +module.exports = { + isOlderVersion: isOlderVersion, + assertOptions: assertOptions, + validators: validators +}; + + +/***/ }), + +/***/ "./node_modules/axios/lib/utils.js": +/*!*****************************************!*\ + !*** ./node_modules/axios/lib/utils.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); + +// utils is a library of generic helper functions non-specific to axios + +var toString = Object.prototype.toString; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ +function isArray(val) { + return toString.call(val) === '[object Array]'; +} + +/** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ +function isUndefined(val) { + return typeof val === 'undefined'; +} + +/** + * Determine if a value is a Buffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; +} + +/** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ +function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); +} + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ +function isString(val) { + return typeof val === 'string'; +} + +/** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ +function isNumber(val) { + return typeof val === 'number'; +} + +/** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ +function isObject(val) { + return val !== null && typeof val === 'object'; +} + +/** + * Determine if a value is a plain Object + * + * @param {Object} val The value to test + * @return {boolean} True if value is a plain Object, otherwise false + */ +function isPlainObject(val) { + if (toString.call(val) !== '[object Object]') { + return false; + } + + var prototype = Object.getPrototypeOf(val); + return prototype === null || prototype === Object.prototype; +} + +/** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ +function isDate(val) { + return toString.call(val) === '[object Date]'; +} + +/** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ +function isFile(val) { + return toString.call(val) === '[object File]'; +} + +/** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ +function isBlob(val) { + return toString.call(val) === '[object Blob]'; +} + +/** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +function isFunction(val) { + return toString.call(val) === '[object Function]'; +} + +/** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ +function isStream(val) { + return isObject(val) && isFunction(val.pipe); +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; +} + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ +function trim(str) { + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); +} + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + */ +function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || + navigator.product === 'NativeScript' || + navigator.product === 'NS')) { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); +} + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ +function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } +} + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (isPlainObject(result[key]) && isPlainObject(val)) { + result[key] = merge(result[key], val); + } else if (isPlainObject(val)) { + result[key] = merge({}, val); + } else if (isArray(val)) { + result[key] = val.slice(); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ +function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; +} + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * @return {string} content value without BOM + */ +function stripBOM(content) { + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +} + +module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isPlainObject: isPlainObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim, + stripBOM: stripBOM +}; + + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/ExampleComponent.vue?vue&type=script&lang=js&": +/*!***********************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/js/components/ExampleComponent.vue?vue&type=script&lang=js& ***! + \***********************************************************************************************************************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + mounted: function mounted() { + console.log('Component mounted.'); + } +}); + +/***/ }), + +/***/ "./resources/js/app.js": +/*!*****************************!*\ + !*** ./resources/js/app.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +/** + * First we will load all of this project's JavaScript dependencies which + * includes Vue and other libraries. It is a great starting point when + * building robust, powerful web applications using Vue and Laravel. + */ +__webpack_require__(/*! ./bootstrap */ "./resources/js/bootstrap.js"); + +window.Vue = (__webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js")["default"]); +/** + * The following block of code may be used to automatically register your + * Vue components. It will recursively scan this directory for the Vue + * components and automatically register them with their "basename". + * + * Eg. ./components/ExampleComponent.vue -> + */ +// const files = require.context('./', true, /\.vue$/i) +// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) + +Vue.component('example-component', (__webpack_require__(/*! ./components/ExampleComponent.vue */ "./resources/js/components/ExampleComponent.vue")["default"])); +/** + * Next, we will create a fresh Vue application instance and attach it to + * the page. Then, you may begin adding components to this application + * or customize the JavaScript scaffolding to fit your unique needs. + */ + +var app = new Vue({ + el: '#app' +}); + +/***/ }), + +/***/ "./resources/js/bootstrap.js": +/*!***********************************!*\ + !*** ./resources/js/bootstrap.js ***! + \***********************************/ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + +window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); + +try { + __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.esm.js"); +} catch (e) {} +/** + * We'll load the axios HTTP library which allows us to easily issue requests + * to our Laravel back-end. This library automatically handles sending the + * CSRF token as a header based on the value of the "XSRF" token cookie. + */ + + +window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); +window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; +/** + * Echo exposes an expressive API for subscribing to channels and listening + * for events that are broadcast by Laravel. Echo and event broadcasting + * allows your team to easily build robust real-time web applications. + */ +// import Echo from 'laravel-echo'; +// window.Pusher = require('pusher-js'); +// window.Echo = new Echo({ +// broadcaster: 'pusher', +// key: process.env.MIX_PUSHER_APP_KEY, +// cluster: process.env.MIX_PUSHER_APP_CLUSTER, +// forceTLS: true +// }); + +/***/ }), + +/***/ "./node_modules/bootstrap/dist/js/bootstrap.esm.js": +/*!*********************************************************!*\ + !*** ./node_modules/bootstrap/dist/js/bootstrap.esm.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Alert": () => (/* binding */ Alert), +/* harmony export */ "Button": () => (/* binding */ Button), +/* harmony export */ "Carousel": () => (/* binding */ Carousel), +/* harmony export */ "Collapse": () => (/* binding */ Collapse), +/* harmony export */ "Dropdown": () => (/* binding */ Dropdown), +/* harmony export */ "Modal": () => (/* binding */ Modal), +/* harmony export */ "Offcanvas": () => (/* binding */ Offcanvas), +/* harmony export */ "Popover": () => (/* binding */ Popover), +/* harmony export */ "ScrollSpy": () => (/* binding */ ScrollSpy), +/* harmony export */ "Tab": () => (/* binding */ Tab), +/* harmony export */ "Toast": () => (/* binding */ Toast), +/* harmony export */ "Tooltip": () => (/* binding */ Tooltip) +/* harmony export */ }); +/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/index.js"); +/* harmony import */ var _popperjs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @popperjs/core */ "./node_modules/@popperjs/core/lib/popper.js"); +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ + + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): util/index.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +const MAX_UID = 1000000; +const MILLISECONDS_MULTIPLIER = 1000; +const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + +const toType = obj => { + if (obj === null || obj === undefined) { + return `${obj}`; + } + + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); +}; +/** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + +const getUID = prefix => { + do { + prefix += Math.floor(Math.random() * MAX_UID); + } while (document.getElementById(prefix)); + + return prefix; +}; + +const getSelector = element => { + let selector = element.getAttribute('data-bs-target'); + + if (!selector || selector === '#') { + let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes, + // so everything starting with `#` or `.`. If a "real" URL is used as the selector, + // `document.querySelector` will rightfully complain it is invalid. + // See https://github.com/twbs/bootstrap/issues/32273 + + if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) { + return null; + } // Just in case some CMS puts out a full URL with the anchor appended + + + if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) { + hrefAttr = `#${hrefAttr.split('#')[1]}`; + } + + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null; + } + + return selector; +}; + +const getSelectorFromElement = element => { + const selector = getSelector(element); + + if (selector) { + return document.querySelector(selector) ? selector : null; + } + + return null; +}; + +const getElementFromSelector = element => { + const selector = getSelector(element); + return selector ? document.querySelector(selector) : null; +}; + +const getTransitionDurationFromElement = element => { + if (!element) { + return 0; + } // Get transition-duration of the element + + + let { + transitionDuration, + transitionDelay + } = window.getComputedStyle(element); + const floatTransitionDuration = Number.parseFloat(transitionDuration); + const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; +}; + +const triggerTransitionEnd = element => { + element.dispatchEvent(new Event(TRANSITION_END)); +}; + +const isElement = obj => { + if (!obj || typeof obj !== 'object') { + return false; + } + + if (typeof obj.jquery !== 'undefined') { + obj = obj[0]; + } + + return typeof obj.nodeType !== 'undefined'; +}; + +const getElement = obj => { + if (isElement(obj)) { + // it's a jQuery object or a node element + return obj.jquery ? obj[0] : obj; + } + + if (typeof obj === 'string' && obj.length > 0) { + return document.querySelector(obj); + } + + return null; +}; + +const typeCheckConfig = (componentName, config, configTypes) => { + Object.keys(configTypes).forEach(property => { + const expectedTypes = configTypes[property]; + const value = config[property]; + const valueType = value && isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`); + } + }); +}; + +const isVisible = element => { + if (!isElement(element) || element.getClientRects().length === 0) { + return false; + } + + return getComputedStyle(element).getPropertyValue('visibility') === 'visible'; +}; + +const isDisabled = element => { + if (!element || element.nodeType !== Node.ELEMENT_NODE) { + return true; + } + + if (element.classList.contains('disabled')) { + return true; + } + + if (typeof element.disabled !== 'undefined') { + return element.disabled; + } + + return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'; +}; + +const findShadowRoot = element => { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + const root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return findShadowRoot(element.parentNode); +}; + +const noop = () => {}; +/** + * Trick to restart an element's animation + * + * @param {HTMLElement} element + * @return void + * + * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation + */ + + +const reflow = element => { + // eslint-disable-next-line no-unused-expressions + element.offsetHeight; +}; + +const getjQuery = () => { + const { + jQuery + } = window; + + if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) { + return jQuery; + } + + return null; +}; + +const DOMContentLoadedCallbacks = []; + +const onDOMContentLoaded = callback => { + if (document.readyState === 'loading') { + // add listener on the first call when the document is in loading state + if (!DOMContentLoadedCallbacks.length) { + document.addEventListener('DOMContentLoaded', () => { + DOMContentLoadedCallbacks.forEach(callback => callback()); + }); + } + + DOMContentLoadedCallbacks.push(callback); + } else { + callback(); + } +}; + +const isRTL = () => document.documentElement.dir === 'rtl'; + +const defineJQueryPlugin = plugin => { + onDOMContentLoaded(() => { + const $ = getjQuery(); + /* istanbul ignore if */ + + if ($) { + const name = plugin.NAME; + const JQUERY_NO_CONFLICT = $.fn[name]; + $.fn[name] = plugin.jQueryInterface; + $.fn[name].Constructor = plugin; + + $.fn[name].noConflict = () => { + $.fn[name] = JQUERY_NO_CONFLICT; + return plugin.jQueryInterface; + }; + } + }); +}; + +const execute = callback => { + if (typeof callback === 'function') { + callback(); + } +}; + +const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { + if (!waitForTransition) { + execute(callback); + return; + } + + const durationPadding = 5; + const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding; + let called = false; + + const handler = ({ + target + }) => { + if (target !== transitionElement) { + return; + } + + called = true; + transitionElement.removeEventListener(TRANSITION_END, handler); + execute(callback); + }; + + transitionElement.addEventListener(TRANSITION_END, handler); + setTimeout(() => { + if (!called) { + triggerTransitionEnd(transitionElement); + } + }, emulatedDuration); +}; +/** + * Return the previous/next element of a list. + * + * @param {array} list The list of elements + * @param activeElement The active element + * @param shouldGetNext Choose to get next or previous element + * @param isCycleAllowed + * @return {Element|elem} The proper element + */ + + +const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => { + let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed + + if (index === -1) { + return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]; + } + + const listLength = list.length; + index += shouldGetNext ? 1 : -1; + + if (isCycleAllowed) { + index = (index + listLength) % listLength; + } + + return list[Math.max(0, Math.min(index, listLength - 1))]; +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): dom/event-handler.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const namespaceRegex = /[^.]*(?=\..*)\.|.*/; +const stripNameRegex = /\..*/; +const stripUidRegex = /::\d+$/; +const eventRegistry = {}; // Events storage + +let uidEvent = 1; +const customEvents = { + mouseenter: 'mouseover', + mouseleave: 'mouseout' +}; +const customEventsRegex = /^(mouseenter|mouseleave)/i; +const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); +/** + * ------------------------------------------------------------------------ + * Private methods + * ------------------------------------------------------------------------ + */ + +function getUidEvent(element, uid) { + return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; +} + +function getEvent(element) { + const uid = getUidEvent(element); + element.uidEvent = uid; + eventRegistry[uid] = eventRegistry[uid] || {}; + return eventRegistry[uid]; +} + +function bootstrapHandler(element, fn) { + return function handler(event) { + event.delegateTarget = element; + + if (handler.oneOff) { + EventHandler.off(element, event.type, fn); + } + + return fn.apply(element, [event]); + }; +} + +function bootstrapDelegationHandler(element, selector, fn) { + return function handler(event) { + const domElements = element.querySelectorAll(selector); + + for (let { + target + } = event; target && target !== this; target = target.parentNode) { + for (let i = domElements.length; i--;) { + if (domElements[i] === target) { + event.delegateTarget = target; + + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn); + } + + return fn.apply(target, [event]); + } + } + } // To please ESLint + + + return null; + }; +} + +function findHandler(events, handler, delegationSelector = null) { + const uidEventList = Object.keys(events); + + for (let i = 0, len = uidEventList.length; i < len; i++) { + const event = events[uidEventList[i]]; + + if (event.originalHandler === handler && event.delegationSelector === delegationSelector) { + return event; + } + } + + return null; +} + +function normalizeParams(originalTypeEvent, handler, delegationFn) { + const delegation = typeof handler === 'string'; + const originalHandler = delegation ? delegationFn : handler; + let typeEvent = getTypeEvent(originalTypeEvent); + const isNative = nativeEvents.has(typeEvent); + + if (!isNative) { + typeEvent = originalTypeEvent; + } + + return [delegation, originalHandler, typeEvent]; +} + +function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + + if (!handler) { + handler = delegationFn; + delegationFn = null; + } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position + // this prevents the handler from being dispatched the same way as mouseover or mouseout does + + + if (customEventsRegex.test(originalTypeEvent)) { + const wrapFn = fn => { + return function (event) { + if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { + return fn.call(this, event); + } + }; + }; + + if (delegationFn) { + delegationFn = wrapFn(delegationFn); + } else { + handler = wrapFn(handler); + } + } + + const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn); + const events = getEvent(element); + const handlers = events[typeEvent] || (events[typeEvent] = {}); + const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null); + + if (previousFn) { + previousFn.oneOff = previousFn.oneOff && oneOff; + return; + } + + const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); + const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler); + fn.delegationSelector = delegation ? handler : null; + fn.originalHandler = originalHandler; + fn.oneOff = oneOff; + fn.uidEvent = uid; + handlers[uid] = fn; + element.addEventListener(typeEvent, fn, delegation); +} + +function removeHandler(element, events, typeEvent, handler, delegationSelector) { + const fn = findHandler(events[typeEvent], handler, delegationSelector); + + if (!fn) { + return; + } + + element.removeEventListener(typeEvent, fn, Boolean(delegationSelector)); + delete events[typeEvent][fn.uidEvent]; +} + +function removeNamespacedHandlers(element, events, typeEvent, namespace) { + const storeElementEvent = events[typeEvent] || {}; + Object.keys(storeElementEvent).forEach(handlerKey => { + if (handlerKey.includes(namespace)) { + const event = storeElementEvent[handlerKey]; + removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); + } + }); +} + +function getTypeEvent(event) { + // allow to get the native events from namespaced events ('click.bs.button' --> 'click') + event = event.replace(stripNameRegex, ''); + return customEvents[event] || event; +} + +const EventHandler = { + on(element, event, handler, delegationFn) { + addHandler(element, event, handler, delegationFn, false); + }, + + one(element, event, handler, delegationFn) { + addHandler(element, event, handler, delegationFn, true); + }, + + off(element, originalTypeEvent, handler, delegationFn) { + if (typeof originalTypeEvent !== 'string' || !element) { + return; + } + + const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn); + const inNamespace = typeEvent !== originalTypeEvent; + const events = getEvent(element); + const isNamespace = originalTypeEvent.startsWith('.'); + + if (typeof originalHandler !== 'undefined') { + // Simplest case: handler is passed, remove that listener ONLY. + if (!events || !events[typeEvent]) { + return; + } + + removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null); + return; + } + + if (isNamespace) { + Object.keys(events).forEach(elementEvent => { + removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); + }); + } + + const storeElementEvent = events[typeEvent] || {}; + Object.keys(storeElementEvent).forEach(keyHandlers => { + const handlerKey = keyHandlers.replace(stripUidRegex, ''); + + if (!inNamespace || originalTypeEvent.includes(handlerKey)) { + const event = storeElementEvent[keyHandlers]; + removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); + } + }); + }, + + trigger(element, event, args) { + if (typeof event !== 'string' || !element) { + return null; + } + + const $ = getjQuery(); + const typeEvent = getTypeEvent(event); + const inNamespace = event !== typeEvent; + const isNative = nativeEvents.has(typeEvent); + let jQueryEvent; + let bubbles = true; + let nativeDispatch = true; + let defaultPrevented = false; + let evt = null; + + if (inNamespace && $) { + jQueryEvent = $.Event(event, args); + $(element).trigger(jQueryEvent); + bubbles = !jQueryEvent.isPropagationStopped(); + nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); + defaultPrevented = jQueryEvent.isDefaultPrevented(); + } + + if (isNative) { + evt = document.createEvent('HTMLEvents'); + evt.initEvent(typeEvent, bubbles, true); + } else { + evt = new CustomEvent(event, { + bubbles, + cancelable: true + }); + } // merge custom information in our event + + + if (typeof args !== 'undefined') { + Object.keys(args).forEach(key => { + Object.defineProperty(evt, key, { + get() { + return args[key]; + } + + }); + }); + } + + if (defaultPrevented) { + evt.preventDefault(); + } + + if (nativeDispatch) { + element.dispatchEvent(evt); + } + + if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') { + jQueryEvent.preventDefault(); + } + + return evt; + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): dom/data.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ +const elementMap = new Map(); +const Data = { + set(element, key, instance) { + if (!elementMap.has(element)) { + elementMap.set(element, new Map()); + } + + const instanceMap = elementMap.get(element); // make it clear we only want one instance per element + // can be removed later when multiple key/instances are fine to be used + + if (!instanceMap.has(key) && instanceMap.size !== 0) { + // eslint-disable-next-line no-console + console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`); + return; + } + + instanceMap.set(key, instance); + }, + + get(element, key) { + if (elementMap.has(element)) { + return elementMap.get(element).get(key) || null; + } + + return null; + }, + + remove(element, key) { + if (!elementMap.has(element)) { + return; + } + + const instanceMap = elementMap.get(element); + instanceMap.delete(key); // free up element references if there are no instances left for an element + + if (instanceMap.size === 0) { + elementMap.delete(element); + } + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): base-component.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const VERSION = '5.1.3'; + +class BaseComponent { + constructor(element) { + element = getElement(element); + + if (!element) { + return; + } + + this._element = element; + Data.set(this._element, this.constructor.DATA_KEY, this); + } + + dispose() { + Data.remove(this._element, this.constructor.DATA_KEY); + EventHandler.off(this._element, this.constructor.EVENT_KEY); + Object.getOwnPropertyNames(this).forEach(propertyName => { + this[propertyName] = null; + }); + } + + _queueCallback(callback, element, isAnimated = true) { + executeAfterTransition(callback, element, isAnimated); + } + /** Static */ + + + static getInstance(element) { + return Data.get(getElement(element), this.DATA_KEY); + } + + static getOrCreateInstance(element, config = {}) { + return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null); + } + + static get VERSION() { + return VERSION; + } + + static get NAME() { + throw new Error('You have to implement the static method "NAME", for each component!'); + } + + static get DATA_KEY() { + return `bs.${this.NAME}`; + } + + static get EVENT_KEY() { + return `.${this.DATA_KEY}`; + } + +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): util/component-functions.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + +const enableDismissTrigger = (component, method = 'hide') => { + const clickEvent = `click.dismiss${component.EVENT_KEY}`; + const name = component.NAME; + EventHandler.on(document, clickEvent, `[data-bs-dismiss="${name}"]`, function (event) { + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + + if (isDisabled(this)) { + return; + } + + const target = getElementFromSelector(this) || this.closest(`.${name}`); + const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method + + instance[method](); + }); +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$d = 'alert'; +const DATA_KEY$c = 'bs.alert'; +const EVENT_KEY$c = `.${DATA_KEY$c}`; +const EVENT_CLOSE = `close${EVENT_KEY$c}`; +const EVENT_CLOSED = `closed${EVENT_KEY$c}`; +const CLASS_NAME_FADE$5 = 'fade'; +const CLASS_NAME_SHOW$8 = 'show'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Alert extends BaseComponent { + // Getters + static get NAME() { + return NAME$d; + } // Public + + + close() { + const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE); + + if (closeEvent.defaultPrevented) { + return; + } + + this._element.classList.remove(CLASS_NAME_SHOW$8); + + const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5); + + this._queueCallback(() => this._destroyElement(), this._element, isAnimated); + } // Private + + + _destroyElement() { + this._element.remove(); + + EventHandler.trigger(this._element, EVENT_CLOSED); + this.dispose(); + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const data = Alert.getOrCreateInstance(this); + + if (typeof config !== 'string') { + return; + } + + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](this); + }); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +enableDismissTrigger(Alert, 'close'); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Alert to jQuery only if jQuery is present + */ + +defineJQueryPlugin(Alert); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$c = 'button'; +const DATA_KEY$b = 'bs.button'; +const EVENT_KEY$b = `.${DATA_KEY$b}`; +const DATA_API_KEY$7 = '.data-api'; +const CLASS_NAME_ACTIVE$3 = 'active'; +const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]'; +const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Button extends BaseComponent { + // Getters + static get NAME() { + return NAME$c; + } // Public + + + toggle() { + // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method + this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3)); + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const data = Button.getOrCreateInstance(this); + + if (config === 'toggle') { + data[config](); + } + }); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => { + event.preventDefault(); + const button = event.target.closest(SELECTOR_DATA_TOGGLE$5); + const data = Button.getOrCreateInstance(button); + data.toggle(); +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Button to jQuery only if jQuery is present + */ + +defineJQueryPlugin(Button); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): dom/manipulator.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +function normalizeData(val) { + if (val === 'true') { + return true; + } + + if (val === 'false') { + return false; + } + + if (val === Number(val).toString()) { + return Number(val); + } + + if (val === '' || val === 'null') { + return null; + } + + return val; +} + +function normalizeDataKey(key) { + return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`); +} + +const Manipulator = { + setDataAttribute(element, key, value) { + element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value); + }, + + removeDataAttribute(element, key) { + element.removeAttribute(`data-bs-${normalizeDataKey(key)}`); + }, + + getDataAttributes(element) { + if (!element) { + return {}; + } + + const attributes = {}; + Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => { + let pureKey = key.replace(/^bs/, ''); + pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length); + attributes[pureKey] = normalizeData(element.dataset[key]); + }); + return attributes; + }, + + getDataAttribute(element, key) { + return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`)); + }, + + offset(element) { + const rect = element.getBoundingClientRect(); + return { + top: rect.top + window.pageYOffset, + left: rect.left + window.pageXOffset + }; + }, + + position(element) { + return { + top: element.offsetTop, + left: element.offsetLeft + }; + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): dom/selector-engine.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +const NODE_TEXT = 3; +const SelectorEngine = { + find(selector, element = document.documentElement) { + return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); + }, + + findOne(selector, element = document.documentElement) { + return Element.prototype.querySelector.call(element, selector); + }, + + children(element, selector) { + return [].concat(...element.children).filter(child => child.matches(selector)); + }, + + parents(element, selector) { + const parents = []; + let ancestor = element.parentNode; + + while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { + if (ancestor.matches(selector)) { + parents.push(ancestor); + } + + ancestor = ancestor.parentNode; + } + + return parents; + }, + + prev(element, selector) { + let previous = element.previousElementSibling; + + while (previous) { + if (previous.matches(selector)) { + return [previous]; + } + + previous = previous.previousElementSibling; + } + + return []; + }, + + next(element, selector) { + let next = element.nextElementSibling; + + while (next) { + if (next.matches(selector)) { + return [next]; + } + + next = next.nextElementSibling; + } + + return []; + }, + + focusableChildren(element) { + const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(', '); + return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)); + } + +}; + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$b = 'carousel'; +const DATA_KEY$a = 'bs.carousel'; +const EVENT_KEY$a = `.${DATA_KEY$a}`; +const DATA_API_KEY$6 = '.data-api'; +const ARROW_LEFT_KEY = 'ArrowLeft'; +const ARROW_RIGHT_KEY = 'ArrowRight'; +const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + +const SWIPE_THRESHOLD = 40; +const Default$a = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true +}; +const DefaultType$a = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' +}; +const ORDER_NEXT = 'next'; +const ORDER_PREV = 'prev'; +const DIRECTION_LEFT = 'left'; +const DIRECTION_RIGHT = 'right'; +const KEY_TO_DIRECTION = { + [ARROW_LEFT_KEY]: DIRECTION_RIGHT, + [ARROW_RIGHT_KEY]: DIRECTION_LEFT +}; +const EVENT_SLIDE = `slide${EVENT_KEY$a}`; +const EVENT_SLID = `slid${EVENT_KEY$a}`; +const EVENT_KEYDOWN = `keydown${EVENT_KEY$a}`; +const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY$a}`; +const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY$a}`; +const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`; +const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`; +const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`; +const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`; +const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`; +const EVENT_DRAG_START = `dragstart${EVENT_KEY$a}`; +const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$a}${DATA_API_KEY$6}`; +const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`; +const CLASS_NAME_CAROUSEL = 'carousel'; +const CLASS_NAME_ACTIVE$2 = 'active'; +const CLASS_NAME_SLIDE = 'slide'; +const CLASS_NAME_END = 'carousel-item-end'; +const CLASS_NAME_START = 'carousel-item-start'; +const CLASS_NAME_NEXT = 'carousel-item-next'; +const CLASS_NAME_PREV = 'carousel-item-prev'; +const CLASS_NAME_POINTER_EVENT = 'pointer-event'; +const SELECTOR_ACTIVE$1 = '.active'; +const SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; +const SELECTOR_ITEM = '.carousel-item'; +const SELECTOR_ITEM_IMG = '.carousel-item img'; +const SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; +const SELECTOR_INDICATORS = '.carousel-indicators'; +const SELECTOR_INDICATOR = '[data-bs-target]'; +const SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'; +const SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]'; +const POINTER_TYPE_TOUCH = 'touch'; +const POINTER_TYPE_PEN = 'pen'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Carousel extends BaseComponent { + constructor(element, config) { + super(element); + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent); + + this._addEventListeners(); + } // Getters + + + static get Default() { + return Default$a; + } + + static get NAME() { + return NAME$b; + } // Public + + + next() { + this._slide(ORDER_NEXT); + } + + nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if (!document.hidden && isVisible(this._element)) { + this.next(); + } + } + + prev() { + this._slide(ORDER_PREV); + } + + pause(event) { + if (!event) { + this._isPaused = true; + } + + if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) { + triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + } + + cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config && this._config.interval && !this._isPaused) { + this._updateInterval(); + + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); + } + } + + to(index) { + this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + + const activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + EventHandler.one(this._element, EVENT_SLID, () => this.to(index)); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV; + + this._slide(order, this._items[index]); + } // Private + + + _getConfig(config) { + config = { ...Default$a, + ...Manipulator.getDataAttributes(this._element), + ...(typeof config === 'object' ? config : {}) + }; + typeCheckConfig(NAME$b, config, DefaultType$a); + return config; + } + + _handleSwipe() { + const absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; + } + + const direction = absDeltax / this.touchDeltaX; + this.touchDeltaX = 0; + + if (!direction) { + return; + } + + this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT); + } + + _addEventListeners() { + if (this._config.keyboard) { + EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event)); + } + + if (this._config.pause === 'hover') { + EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event)); + EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event)); + } + + if (this._config.touch && this._touchSupported) { + this._addTouchEventListeners(); + } + } + + _addTouchEventListeners() { + const hasPointerPenTouch = event => { + return this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH); + }; + + const start = event => { + if (hasPointerPenTouch(event)) { + this.touchStartX = event.clientX; + } else if (!this._pointerEvent) { + this.touchStartX = event.touches[0].clientX; + } + }; + + const move = event => { + // ensure swiping with one touch and not pinching + this.touchDeltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this.touchStartX; + }; + + const end = event => { + if (hasPointerPenTouch(event)) { + this.touchDeltaX = event.clientX - this.touchStartX; + } + + this._handleSwipe(); + + if (this._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + this.pause(); + + if (this.touchTimeout) { + clearTimeout(this.touchTimeout); + } + + this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval); + } + }; + + SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => { + EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault()); + }); + + if (this._pointerEvent) { + EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event)); + EventHandler.on(this._element, EVENT_POINTERUP, event => end(event)); + + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event)); + EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event)); + EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event)); + } + } + + _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + const direction = KEY_TO_DIRECTION[event.key]; + + if (direction) { + event.preventDefault(); + + this._slide(direction); + } + } + + _getItemIndex(element) { + this._items = element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : []; + return this._items.indexOf(element); + } + + _getItemByOrder(order, activeElement) { + const isNext = order === ORDER_NEXT; + return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap); + } + + _triggerSlideEvent(relatedTarget, eventDirectionName) { + const targetIndex = this._getItemIndex(relatedTarget); + + const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)); + + return EventHandler.trigger(this._element, EVENT_SLIDE, { + relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + } + + _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE$1, this._indicatorsElement); + activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2); + activeIndicator.removeAttribute('aria-current'); + const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement); + + for (let i = 0; i < indicators.length; i++) { + if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) { + indicators[i].classList.add(CLASS_NAME_ACTIVE$2); + indicators[i].setAttribute('aria-current', 'true'); + break; + } + } + } + } + + _updateInterval() { + const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + + if (!element) { + return; + } + + const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10); + + if (elementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = elementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + } + + _slide(directionOrOrder, element) { + const order = this._directionToOrder(directionOrOrder); + + const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element); + + const activeElementIndex = this._getItemIndex(activeElement); + + const nextElement = element || this._getItemByOrder(order, activeElement); + + const nextElementIndex = this._getItemIndex(nextElement); + + const isCycling = Boolean(this._interval); + const isNext = order === ORDER_NEXT; + const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END; + const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV; + + const eventDirectionName = this._orderToDirection(order); + + if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$2)) { + this._isSliding = false; + return; + } + + if (this._isSliding) { + return; + } + + const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.defaultPrevented) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + this._activeElement = nextElement; + + const triggerSlidEvent = () => { + EventHandler.trigger(this._element, EVENT_SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + }; + + if (this._element.classList.contains(CLASS_NAME_SLIDE)) { + nextElement.classList.add(orderClassName); + reflow(nextElement); + activeElement.classList.add(directionalClassName); + nextElement.classList.add(directionalClassName); + + const completeCallBack = () => { + nextElement.classList.remove(directionalClassName, orderClassName); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName); + this._isSliding = false; + setTimeout(triggerSlidEvent, 0); + }; + + this._queueCallback(completeCallBack, activeElement, true); + } else { + activeElement.classList.remove(CLASS_NAME_ACTIVE$2); + nextElement.classList.add(CLASS_NAME_ACTIVE$2); + this._isSliding = false; + triggerSlidEvent(); + } + + if (isCycling) { + this.cycle(); + } + } + + _directionToOrder(direction) { + if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) { + return direction; + } + + if (isRTL()) { + return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT; + } + + return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV; + } + + _orderToDirection(order) { + if (![ORDER_NEXT, ORDER_PREV].includes(order)) { + return order; + } + + if (isRTL()) { + return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT; + } + + return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT; + } // Static + + + static carouselInterface(element, config) { + const data = Carousel.getOrCreateInstance(element, config); + let { + _config + } = data; + + if (typeof config === 'object') { + _config = { ..._config, + ...config + }; + } + + const action = typeof config === 'string' ? config : _config.slide; + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError(`No method named "${action}"`); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } + } + + static jQueryInterface(config) { + return this.each(function () { + Carousel.carouselInterface(this, config); + }); + } + + static dataApiClickHandler(event) { + const target = getElementFromSelector(this); + + if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) { + return; + } + + const config = { ...Manipulator.getDataAttributes(target), + ...Manipulator.getDataAttributes(this) + }; + const slideIndex = this.getAttribute('data-bs-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel.carouselInterface(target, config); + + if (slideIndex) { + Carousel.getInstance(target).to(slideIndex); + } + + event.preventDefault(); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler); +EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => { + const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE); + + for (let i = 0, len = carousels.length; i < len; i++) { + Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i])); + } +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Carousel to jQuery only if jQuery is present + */ + +defineJQueryPlugin(Carousel); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$a = 'collapse'; +const DATA_KEY$9 = 'bs.collapse'; +const EVENT_KEY$9 = `.${DATA_KEY$9}`; +const DATA_API_KEY$5 = '.data-api'; +const Default$9 = { + toggle: true, + parent: null +}; +const DefaultType$9 = { + toggle: 'boolean', + parent: '(null|element)' +}; +const EVENT_SHOW$5 = `show${EVENT_KEY$9}`; +const EVENT_SHOWN$5 = `shown${EVENT_KEY$9}`; +const EVENT_HIDE$5 = `hide${EVENT_KEY$9}`; +const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$9}`; +const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`; +const CLASS_NAME_SHOW$7 = 'show'; +const CLASS_NAME_COLLAPSE = 'collapse'; +const CLASS_NAME_COLLAPSING = 'collapsing'; +const CLASS_NAME_COLLAPSED = 'collapsed'; +const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`; +const CLASS_NAME_HORIZONTAL = 'collapse-horizontal'; +const WIDTH = 'width'; +const HEIGHT = 'height'; +const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; +const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Collapse extends BaseComponent { + constructor(element, config) { + super(element); + this._isTransitioning = false; + this._config = this._getConfig(config); + this._triggerArray = []; + const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4); + + for (let i = 0, len = toggleList.length; i < len; i++) { + const elem = toggleList[i]; + const selector = getSelectorFromElement(elem); + const filterElement = SelectorEngine.find(selector).filter(foundElem => foundElem === this._element); + + if (selector !== null && filterElement.length) { + this._selector = selector; + + this._triggerArray.push(elem); + } + } + + this._initializeChildren(); + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + static get Default() { + return Default$9; + } + + static get NAME() { + return NAME$a; + } // Public + + + toggle() { + if (this._isShown()) { + this.hide(); + } else { + this.show(); + } + } + + show() { + if (this._isTransitioning || this._isShown()) { + return; + } + + let actives = []; + let activesData; + + if (this._config.parent) { + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)); // remove children if greater depth + } + + const container = SelectorEngine.findOne(this._selector); + + if (actives.length) { + const tempActiveData = actives.find(elem => container !== elem); + activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null; + + if (activesData && activesData._isTransitioning) { + return; + } + } + + const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$5); + + if (startEvent.defaultPrevented) { + return; + } + + actives.forEach(elemActive => { + if (container !== elemActive) { + Collapse.getOrCreateInstance(elemActive, { + toggle: false + }).hide(); + } + + if (!activesData) { + Data.set(elemActive, DATA_KEY$9, null); + } + }); + + const dimension = this._getDimension(); + + this._element.classList.remove(CLASS_NAME_COLLAPSE); + + this._element.classList.add(CLASS_NAME_COLLAPSING); + + this._element.style[dimension] = 0; + + this._addAriaAndCollapsedClass(this._triggerArray, true); + + this._isTransitioning = true; + + const complete = () => { + this._isTransitioning = false; + + this._element.classList.remove(CLASS_NAME_COLLAPSING); + + this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + + this._element.style[dimension] = ''; + EventHandler.trigger(this._element, EVENT_SHOWN$5); + }; + + const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + const scrollSize = `scroll${capitalizedDimension}`; + + this._queueCallback(complete, this._element, true); + + this._element.style[dimension] = `${this._element[scrollSize]}px`; + } + + hide() { + if (this._isTransitioning || !this._isShown()) { + return; + } + + const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$5); + + if (startEvent.defaultPrevented) { + return; + } + + const dimension = this._getDimension(); + + this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`; + reflow(this._element); + + this._element.classList.add(CLASS_NAME_COLLAPSING); + + this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7); + + const triggerArrayLength = this._triggerArray.length; + + for (let i = 0; i < triggerArrayLength; i++) { + const trigger = this._triggerArray[i]; + const elem = getElementFromSelector(trigger); + + if (elem && !this._isShown(elem)) { + this._addAriaAndCollapsedClass([trigger], false); + } + } + + this._isTransitioning = true; + + const complete = () => { + this._isTransitioning = false; + + this._element.classList.remove(CLASS_NAME_COLLAPSING); + + this._element.classList.add(CLASS_NAME_COLLAPSE); + + EventHandler.trigger(this._element, EVENT_HIDDEN$5); + }; + + this._element.style[dimension] = ''; + + this._queueCallback(complete, this._element, true); + } + + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$7); + } // Private + + + _getConfig(config) { + config = { ...Default$9, + ...Manipulator.getDataAttributes(this._element), + ...config + }; + config.toggle = Boolean(config.toggle); // Coerce string values + + config.parent = getElement(config.parent); + typeCheckConfig(NAME$a, config, DefaultType$9); + return config; + } + + _getDimension() { + return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT; + } + + _initializeChildren() { + if (!this._config.parent) { + return; + } + + const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); + SelectorEngine.find(SELECTOR_DATA_TOGGLE$4, this._config.parent).filter(elem => !children.includes(elem)).forEach(element => { + const selected = getElementFromSelector(element); + + if (selected) { + this._addAriaAndCollapsedClass([element], this._isShown(selected)); + } + }); + } + + _addAriaAndCollapsedClass(triggerArray, isOpen) { + if (!triggerArray.length) { + return; + } + + triggerArray.forEach(elem => { + if (isOpen) { + elem.classList.remove(CLASS_NAME_COLLAPSED); + } else { + elem.classList.add(CLASS_NAME_COLLAPSED); + } + + elem.setAttribute('aria-expanded', isOpen); + }); + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const _config = {}; + + if (typeof config === 'string' && /show|hide/.test(config)) { + _config.toggle = false; + } + + const data = Collapse.getOrCreateInstance(this, _config); + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + }); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') { + event.preventDefault(); + } + + const selector = getSelectorFromElement(this); + const selectorElements = SelectorEngine.find(selector); + selectorElements.forEach(element => { + Collapse.getOrCreateInstance(element, { + toggle: false + }).toggle(); + }); +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Collapse to jQuery only if jQuery is present + */ + +defineJQueryPlugin(Collapse); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$9 = 'dropdown'; +const DATA_KEY$8 = 'bs.dropdown'; +const EVENT_KEY$8 = `.${DATA_KEY$8}`; +const DATA_API_KEY$4 = '.data-api'; +const ESCAPE_KEY$2 = 'Escape'; +const SPACE_KEY = 'Space'; +const TAB_KEY$1 = 'Tab'; +const ARROW_UP_KEY = 'ArrowUp'; +const ARROW_DOWN_KEY = 'ArrowDown'; +const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button + +const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY$2}`); +const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`; +const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`; +const EVENT_SHOW$4 = `show${EVENT_KEY$8}`; +const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`; +const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`; +const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`; +const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`; +const CLASS_NAME_SHOW$6 = 'show'; +const CLASS_NAME_DROPUP = 'dropup'; +const CLASS_NAME_DROPEND = 'dropend'; +const CLASS_NAME_DROPSTART = 'dropstart'; +const CLASS_NAME_NAVBAR = 'navbar'; +const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]'; +const SELECTOR_MENU = '.dropdown-menu'; +const SELECTOR_NAVBAR_NAV = '.navbar-nav'; +const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; +const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'; +const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'; +const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'; +const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'; +const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; +const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; +const Default$8 = { + offset: [0, 2], + boundary: 'clippingParents', + reference: 'toggle', + display: 'dynamic', + popperConfig: null, + autoClose: true +}; +const DefaultType$8 = { + offset: '(array|string|function)', + boundary: '(string|element)', + reference: '(string|element|object)', + display: 'string', + popperConfig: '(null|object|function)', + autoClose: '(boolean|string)' +}; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Dropdown extends BaseComponent { + constructor(element, config) { + super(element); + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + } // Getters + + + static get Default() { + return Default$8; + } + + static get DefaultType() { + return DefaultType$8; + } + + static get NAME() { + return NAME$9; + } // Public + + + toggle() { + return this._isShown() ? this.hide() : this.show(); + } + + show() { + if (isDisabled(this._element) || this._isShown(this._menu)) { + return; + } + + const relatedTarget = { + relatedTarget: this._element + }; + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, relatedTarget); + + if (showEvent.defaultPrevented) { + return; + } + + const parent = Dropdown.getParentFromElement(this._element); // Totally disable Popper for Dropdowns in Navbar + + if (this._inNavbar) { + Manipulator.setDataAttribute(this._menu, 'popper', 'none'); + } else { + this._createPopper(parent); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && !parent.closest(SELECTOR_NAVBAR_NAV)) { + [].concat(...document.body.children).forEach(elem => EventHandler.on(elem, 'mouseover', noop)); + } + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + this._menu.classList.add(CLASS_NAME_SHOW$6); + + this._element.classList.add(CLASS_NAME_SHOW$6); + + EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget); + } + + hide() { + if (isDisabled(this._element) || !this._isShown(this._menu)) { + return; + } + + const relatedTarget = { + relatedTarget: this._element + }; + + this._completeHide(relatedTarget); + } + + dispose() { + if (this._popper) { + this._popper.destroy(); + } + + super.dispose(); + } + + update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper) { + this._popper.update(); + } + } // Private + + + _completeHide(relatedTarget) { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget); + + if (hideEvent.defaultPrevented) { + return; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + [].concat(...document.body.children).forEach(elem => EventHandler.off(elem, 'mouseover', noop)); + } + + if (this._popper) { + this._popper.destroy(); + } + + this._menu.classList.remove(CLASS_NAME_SHOW$6); + + this._element.classList.remove(CLASS_NAME_SHOW$6); + + this._element.setAttribute('aria-expanded', 'false'); + + Manipulator.removeDataAttribute(this._menu, 'popper'); + EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget); + } + + _getConfig(config) { + config = { ...this.constructor.Default, + ...Manipulator.getDataAttributes(this._element), + ...config + }; + typeCheckConfig(NAME$9, config, this.constructor.DefaultType); + + if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') { + // Popper virtual elements require a getBoundingClientRect method + throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); + } + + return config; + } + + _createPopper(parent) { + if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); + } + + let referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (isElement(this._config.reference)) { + referenceElement = getElement(this._config.reference); + } else if (typeof this._config.reference === 'object') { + referenceElement = this._config.reference; + } + + const popperConfig = this._getPopperConfig(); + + const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false); + this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(referenceElement, this._menu, popperConfig); + + if (isDisplayStatic) { + Manipulator.setDataAttribute(this._menu, 'popper', 'static'); + } + } + + _isShown(element = this._element) { + return element.classList.contains(CLASS_NAME_SHOW$6); + } + + _getMenuElement() { + return SelectorEngine.next(this._element, SELECTOR_MENU)[0]; + } + + _getPlacement() { + const parentDropdown = this._element.parentNode; + + if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) { + return PLACEMENT_RIGHT; + } + + if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) { + return PLACEMENT_LEFT; + } // We need to trim the value because custom properties can also include spaces + + + const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'; + + if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) { + return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } + + return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM; + } + + _detectNavbar() { + return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null; + } + + _getOffset() { + const { + offset + } = this._config; + + if (typeof offset === 'string') { + return offset.split(',').map(val => Number.parseInt(val, 10)); + } + + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + + return offset; + } + + _getPopperConfig() { + const defaultBsPopperConfig = { + placement: this._getPlacement(), + modifiers: [{ + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }] + }; // Disable Popper if we have a static display + + if (this._config.display === 'static') { + defaultBsPopperConfig.modifiers = [{ + name: 'applyStyles', + enabled: false + }]; + } + + return { ...defaultBsPopperConfig, + ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) + }; + } + + _selectMenuItem({ + key, + target + }) { + const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible); + + if (!items.length) { + return; + } // if target isn't included in items (e.g. when expanding the dropdown) + // allow cycling to get the last item in case key equals ARROW_UP_KEY + + + getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus(); + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const data = Dropdown.getOrCreateInstance(this, config); + + if (typeof config !== 'string') { + return; + } + + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + }); + } + + static clearMenus(event) { + if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1)) { + return; + } + + const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3); + + for (let i = 0, len = toggles.length; i < len; i++) { + const context = Dropdown.getInstance(toggles[i]); + + if (!context || context._config.autoClose === false) { + continue; + } + + if (!context._isShown()) { + continue; + } + + const relatedTarget = { + relatedTarget: context._element + }; + + if (event) { + const composedPath = event.composedPath(); + const isMenuTarget = composedPath.includes(context._menu); + + if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) { + continue; + } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu + + + if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) { + continue; + } + + if (event.type === 'click') { + relatedTarget.clickEvent = event; + } + } + + context._completeHide(relatedTarget); + } + } + + static getParentFromElement(element) { + return getElementFromSelector(element) || element.parentNode; + } + + static dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY$2 && (event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) { + return; + } + + const isActive = this.classList.contains(CLASS_NAME_SHOW$6); + + if (!isActive && event.key === ESCAPE_KEY$2) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (isDisabled(this)) { + return; + } + + const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0]; + const instance = Dropdown.getOrCreateInstance(getToggleButton); + + if (event.key === ESCAPE_KEY$2) { + instance.hide(); + return; + } + + if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) { + if (!isActive) { + instance.show(); + } + + instance._selectMenuItem(event); + + return; + } + + if (!isActive || event.key === SPACE_KEY) { + Dropdown.clearMenus(); + } + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler); +EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus); +EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus); +EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { + event.preventDefault(); + Dropdown.getOrCreateInstance(this).toggle(); +}); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Dropdown to jQuery only if jQuery is present + */ + +defineJQueryPlugin(Dropdown); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): util/scrollBar.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; +const SELECTOR_STICKY_CONTENT = '.sticky-top'; + +class ScrollBarHelper { + constructor() { + this._element = document.body; + } + + getWidth() { + // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); + } + + hide() { + const width = this.getWidth(); + + this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width + + + this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth + + + this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width); + + this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width); + } + + _disableOverFlow() { + this._saveInitialAttribute(this._element, 'overflow'); + + this._element.style.overflow = 'hidden'; + } + + _setElementAttributes(selector, styleProp, callback) { + const scrollbarWidth = this.getWidth(); + + const manipulationCallBack = element => { + if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) { + return; + } + + this._saveInitialAttribute(element, styleProp); + + const calculatedValue = window.getComputedStyle(element)[styleProp]; + element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`; + }; + + this._applyManipulationCallback(selector, manipulationCallBack); + } + + reset() { + this._resetElementAttributes(this._element, 'overflow'); + + this._resetElementAttributes(this._element, 'paddingRight'); + + this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight'); + + this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight'); + } + + _saveInitialAttribute(element, styleProp) { + const actualValue = element.style[styleProp]; + + if (actualValue) { + Manipulator.setDataAttribute(element, styleProp, actualValue); + } + } + + _resetElementAttributes(selector, styleProp) { + const manipulationCallBack = element => { + const value = Manipulator.getDataAttribute(element, styleProp); + + if (typeof value === 'undefined') { + element.style.removeProperty(styleProp); + } else { + Manipulator.removeDataAttribute(element, styleProp); + element.style[styleProp] = value; + } + }; + + this._applyManipulationCallback(selector, manipulationCallBack); + } + + _applyManipulationCallback(selector, callBack) { + if (isElement(selector)) { + callBack(selector); + } else { + SelectorEngine.find(selector, this._element).forEach(callBack); + } + } + + isOverflowing() { + return this.getWidth() > 0; + } + +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): util/backdrop.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +const Default$7 = { + className: 'modal-backdrop', + isVisible: true, + // if false, we use the backdrop helper without adding any element to the dom + isAnimated: false, + rootElement: 'body', + // give the choice to place backdrop under different elements + clickCallback: null +}; +const DefaultType$7 = { + className: 'string', + isVisible: 'boolean', + isAnimated: 'boolean', + rootElement: '(element|string)', + clickCallback: '(function|null)' +}; +const NAME$8 = 'backdrop'; +const CLASS_NAME_FADE$4 = 'fade'; +const CLASS_NAME_SHOW$5 = 'show'; +const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$8}`; + +class Backdrop { + constructor(config) { + this._config = this._getConfig(config); + this._isAppended = false; + this._element = null; + } + + show(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + + this._append(); + + if (this._config.isAnimated) { + reflow(this._getElement()); + } + + this._getElement().classList.add(CLASS_NAME_SHOW$5); + + this._emulateAnimation(() => { + execute(callback); + }); + } + + hide(callback) { + if (!this._config.isVisible) { + execute(callback); + return; + } + + this._getElement().classList.remove(CLASS_NAME_SHOW$5); + + this._emulateAnimation(() => { + this.dispose(); + execute(callback); + }); + } // Private + + + _getElement() { + if (!this._element) { + const backdrop = document.createElement('div'); + backdrop.className = this._config.className; + + if (this._config.isAnimated) { + backdrop.classList.add(CLASS_NAME_FADE$4); + } + + this._element = backdrop; + } + + return this._element; + } + + _getConfig(config) { + config = { ...Default$7, + ...(typeof config === 'object' ? config : {}) + }; // use getElement() with the default "body" to get a fresh Element on each instantiation + + config.rootElement = getElement(config.rootElement); + typeCheckConfig(NAME$8, config, DefaultType$7); + return config; + } + + _append() { + if (this._isAppended) { + return; + } + + this._config.rootElement.append(this._getElement()); + + EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => { + execute(this._config.clickCallback); + }); + this._isAppended = true; + } + + dispose() { + if (!this._isAppended) { + return; + } + + EventHandler.off(this._element, EVENT_MOUSEDOWN); + + this._element.remove(); + + this._isAppended = false; + } + + _emulateAnimation(callback) { + executeAfterTransition(callback, this._getElement(), this._config.isAnimated); + } + +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): util/focustrap.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +const Default$6 = { + trapElement: null, + // The element to trap focus inside of + autofocus: true +}; +const DefaultType$6 = { + trapElement: 'element', + autofocus: 'boolean' +}; +const NAME$7 = 'focustrap'; +const DATA_KEY$7 = 'bs.focustrap'; +const EVENT_KEY$7 = `.${DATA_KEY$7}`; +const EVENT_FOCUSIN$1 = `focusin${EVENT_KEY$7}`; +const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`; +const TAB_KEY = 'Tab'; +const TAB_NAV_FORWARD = 'forward'; +const TAB_NAV_BACKWARD = 'backward'; + +class FocusTrap { + constructor(config) { + this._config = this._getConfig(config); + this._isActive = false; + this._lastTabNavDirection = null; + } + + activate() { + const { + trapElement, + autofocus + } = this._config; + + if (this._isActive) { + return; + } + + if (autofocus) { + trapElement.focus(); + } + + EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop + + EventHandler.on(document, EVENT_FOCUSIN$1, event => this._handleFocusin(event)); + EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event)); + this._isActive = true; + } + + deactivate() { + if (!this._isActive) { + return; + } + + this._isActive = false; + EventHandler.off(document, EVENT_KEY$7); + } // Private + + + _handleFocusin(event) { + const { + target + } = event; + const { + trapElement + } = this._config; + + if (target === document || target === trapElement || trapElement.contains(target)) { + return; + } + + const elements = SelectorEngine.focusableChildren(trapElement); + + if (elements.length === 0) { + trapElement.focus(); + } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) { + elements[elements.length - 1].focus(); + } else { + elements[0].focus(); + } + } + + _handleKeydown(event) { + if (event.key !== TAB_KEY) { + return; + } + + this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD; + } + + _getConfig(config) { + config = { ...Default$6, + ...(typeof config === 'object' ? config : {}) + }; + typeCheckConfig(NAME$7, config, DefaultType$6); + return config; + } + +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): modal.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$6 = 'modal'; +const DATA_KEY$6 = 'bs.modal'; +const EVENT_KEY$6 = `.${DATA_KEY$6}`; +const DATA_API_KEY$3 = '.data-api'; +const ESCAPE_KEY$1 = 'Escape'; +const Default$5 = { + backdrop: true, + keyboard: true, + focus: true +}; +const DefaultType$5 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean' +}; +const EVENT_HIDE$3 = `hide${EVENT_KEY$6}`; +const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$6}`; +const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`; +const EVENT_SHOW$3 = `show${EVENT_KEY$6}`; +const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`; +const EVENT_RESIZE = `resize${EVENT_KEY$6}`; +const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$6}`; +const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`; +const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY$6}`; +const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`; +const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`; +const CLASS_NAME_OPEN = 'modal-open'; +const CLASS_NAME_FADE$3 = 'fade'; +const CLASS_NAME_SHOW$4 = 'show'; +const CLASS_NAME_STATIC = 'modal-static'; +const OPEN_SELECTOR$1 = '.modal.show'; +const SELECTOR_DIALOG = '.modal-dialog'; +const SELECTOR_MODAL_BODY = '.modal-body'; +const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Modal extends BaseComponent { + constructor(element, config) { + super(element); + this._config = this._getConfig(config); + this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element); + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + this._isShown = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollBar = new ScrollBarHelper(); + } // Getters + + + static get Default() { + return Default$5; + } + + static get NAME() { + return NAME$6; + } // Public + + + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + + show(relatedTarget) { + if (this._isShown || this._isTransitioning) { + return; + } + + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, { + relatedTarget + }); + + if (showEvent.defaultPrevented) { + return; + } + + this._isShown = true; + + if (this._isAnimated()) { + this._isTransitioning = true; + } + + this._scrollBar.hide(); + + document.body.classList.add(CLASS_NAME_OPEN); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => { + EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => { + if (event.target === this._element) { + this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(() => this._showElement(relatedTarget)); + } + + hide() { + if (!this._isShown || this._isTransitioning) { + return; + } + + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3); + + if (hideEvent.defaultPrevented) { + return; + } + + this._isShown = false; + + const isAnimated = this._isAnimated(); + + if (isAnimated) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + this._focustrap.deactivate(); + + this._element.classList.remove(CLASS_NAME_SHOW$4); + + EventHandler.off(this._element, EVENT_CLICK_DISMISS); + EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS); + + this._queueCallback(() => this._hideModal(), this._element, isAnimated); + } + + dispose() { + [window, this._dialog].forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY$6)); + + this._backdrop.dispose(); + + this._focustrap.deactivate(); + + super.dispose(); + } + + handleUpdate() { + this._adjustDialog(); + } // Private + + + _initializeBackDrop() { + return new Backdrop({ + isVisible: Boolean(this._config.backdrop), + // 'static' option will be translated to true, and booleans will keep their value + isAnimated: this._isAnimated() + }); + } + + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + + _getConfig(config) { + config = { ...Default$5, + ...Manipulator.getDataAttributes(this._element), + ...(typeof config === 'object' ? config : {}) + }; + typeCheckConfig(NAME$6, config, DefaultType$5); + return config; + } + + _showElement(relatedTarget) { + const isAnimated = this._isAnimated(); + + const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.append(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + this._element.setAttribute('role', 'dialog'); + + this._element.scrollTop = 0; + + if (modalBody) { + modalBody.scrollTop = 0; + } + + if (isAnimated) { + reflow(this._element); + } + + this._element.classList.add(CLASS_NAME_SHOW$4); + + const transitionComplete = () => { + if (this._config.focus) { + this._focustrap.activate(); + } + + this._isTransitioning = false; + EventHandler.trigger(this._element, EVENT_SHOWN$3, { + relatedTarget + }); + }; + + this._queueCallback(transitionComplete, this._dialog, isAnimated); + } + + _setEscapeEvent() { + if (this._isShown) { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => { + if (this._config.keyboard && event.key === ESCAPE_KEY$1) { + event.preventDefault(); + this.hide(); + } else if (!this._config.keyboard && event.key === ESCAPE_KEY$1) { + this._triggerBackdropTransition(); + } + }); + } else { + EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS$1); + } + } + + _setResizeEvent() { + if (this._isShown) { + EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog()); + } else { + EventHandler.off(window, EVENT_RESIZE); + } + } + + _hideModal() { + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._element.removeAttribute('role'); + + this._isTransitioning = false; + + this._backdrop.hide(() => { + document.body.classList.remove(CLASS_NAME_OPEN); + + this._resetAdjustments(); + + this._scrollBar.reset(); + + EventHandler.trigger(this._element, EVENT_HIDDEN$3); + }); + } + + _showBackdrop(callback) { + EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => { + if (this._ignoreBackdropClick) { + this._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (this._config.backdrop === true) { + this.hide(); + } else if (this._config.backdrop === 'static') { + this._triggerBackdropTransition(); + } + }); + + this._backdrop.show(callback); + } + + _isAnimated() { + return this._element.classList.contains(CLASS_NAME_FADE$3); + } + + _triggerBackdropTransition() { + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED); + + if (hideEvent.defaultPrevented) { + return; + } + + const { + classList, + scrollHeight, + style + } = this._element; + const isModalOverflowing = scrollHeight > document.documentElement.clientHeight; // return if the following background transition hasn't yet completed + + if (!isModalOverflowing && style.overflowY === 'hidden' || classList.contains(CLASS_NAME_STATIC)) { + return; + } + + if (!isModalOverflowing) { + style.overflowY = 'hidden'; + } + + classList.add(CLASS_NAME_STATIC); + + this._queueCallback(() => { + classList.remove(CLASS_NAME_STATIC); + + if (!isModalOverflowing) { + this._queueCallback(() => { + style.overflowY = ''; + }, this._dialog); + } + }, this._dialog); + + this._element.focus(); + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // ---------------------------------------------------------------------- + + + _adjustDialog() { + const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + const scrollbarWidth = this._scrollBar.getWidth(); + + const isBodyOverflowing = scrollbarWidth > 0; + + if (!isBodyOverflowing && isModalOverflowing && !isRTL() || isBodyOverflowing && !isModalOverflowing && isRTL()) { + this._element.style.paddingLeft = `${scrollbarWidth}px`; + } + + if (isBodyOverflowing && !isModalOverflowing && !isRTL() || !isBodyOverflowing && isModalOverflowing && isRTL()) { + this._element.style.paddingRight = `${scrollbarWidth}px`; + } + } + + _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + } // Static + + + static jQueryInterface(config, relatedTarget) { + return this.each(function () { + const data = Modal.getOrCreateInstance(this, config); + + if (typeof config !== 'string') { + return; + } + + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](relatedTarget); + }); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { + const target = getElementFromSelector(this); + + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + + EventHandler.one(target, EVENT_SHOW$3, showEvent => { + if (showEvent.defaultPrevented) { + // only register focus restorer if modal will actually get shown + return; + } + + EventHandler.one(target, EVENT_HIDDEN$3, () => { + if (isVisible(this)) { + this.focus(); + } + }); + }); // avoid conflict when clicking moddal toggler while another one is open + + const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1); + + if (allReadyOpen) { + Modal.getInstance(allReadyOpen).hide(); + } + + const data = Modal.getOrCreateInstance(target); + data.toggle(this); +}); +enableDismissTrigger(Modal); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Modal to jQuery only if jQuery is present + */ + +defineJQueryPlugin(Modal); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): offcanvas.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$5 = 'offcanvas'; +const DATA_KEY$5 = 'bs.offcanvas'; +const EVENT_KEY$5 = `.${DATA_KEY$5}`; +const DATA_API_KEY$2 = '.data-api'; +const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$5}${DATA_API_KEY$2}`; +const ESCAPE_KEY = 'Escape'; +const Default$4 = { + backdrop: true, + keyboard: true, + scroll: false +}; +const DefaultType$4 = { + backdrop: 'boolean', + keyboard: 'boolean', + scroll: 'boolean' +}; +const CLASS_NAME_SHOW$3 = 'show'; +const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'; +const OPEN_SELECTOR = '.offcanvas.show'; +const EVENT_SHOW$2 = `show${EVENT_KEY$5}`; +const EVENT_SHOWN$2 = `shown${EVENT_KEY$5}`; +const EVENT_HIDE$2 = `hide${EVENT_KEY$5}`; +const EVENT_HIDDEN$2 = `hidden${EVENT_KEY$5}`; +const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`; +const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`; +const SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle="offcanvas"]'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Offcanvas extends BaseComponent { + constructor(element, config) { + super(element); + this._config = this._getConfig(config); + this._isShown = false; + this._backdrop = this._initializeBackDrop(); + this._focustrap = this._initializeFocusTrap(); + + this._addEventListeners(); + } // Getters + + + static get NAME() { + return NAME$5; + } + + static get Default() { + return Default$4; + } // Public + + + toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + } + + show(relatedTarget) { + if (this._isShown) { + return; + } + + const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, { + relatedTarget + }); + + if (showEvent.defaultPrevented) { + return; + } + + this._isShown = true; + this._element.style.visibility = 'visible'; + + this._backdrop.show(); + + if (!this._config.scroll) { + new ScrollBarHelper().hide(); + } + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + this._element.setAttribute('role', 'dialog'); + + this._element.classList.add(CLASS_NAME_SHOW$3); + + const completeCallBack = () => { + if (!this._config.scroll) { + this._focustrap.activate(); + } + + EventHandler.trigger(this._element, EVENT_SHOWN$2, { + relatedTarget + }); + }; + + this._queueCallback(completeCallBack, this._element, true); + } + + hide() { + if (!this._isShown) { + return; + } + + const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2); + + if (hideEvent.defaultPrevented) { + return; + } + + this._focustrap.deactivate(); + + this._element.blur(); + + this._isShown = false; + + this._element.classList.remove(CLASS_NAME_SHOW$3); + + this._backdrop.hide(); + + const completeCallback = () => { + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._element.removeAttribute('role'); + + this._element.style.visibility = 'hidden'; + + if (!this._config.scroll) { + new ScrollBarHelper().reset(); + } + + EventHandler.trigger(this._element, EVENT_HIDDEN$2); + }; + + this._queueCallback(completeCallback, this._element, true); + } + + dispose() { + this._backdrop.dispose(); + + this._focustrap.deactivate(); + + super.dispose(); + } // Private + + + _getConfig(config) { + config = { ...Default$4, + ...Manipulator.getDataAttributes(this._element), + ...(typeof config === 'object' ? config : {}) + }; + typeCheckConfig(NAME$5, config, DefaultType$4); + return config; + } + + _initializeBackDrop() { + return new Backdrop({ + className: CLASS_NAME_BACKDROP, + isVisible: this._config.backdrop, + isAnimated: true, + rootElement: this._element.parentNode, + clickCallback: () => this.hide() + }); + } + + _initializeFocusTrap() { + return new FocusTrap({ + trapElement: this._element + }); + } + + _addEventListeners() { + EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => { + if (this._config.keyboard && event.key === ESCAPE_KEY) { + this.hide(); + } + }); + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const data = Offcanvas.getOrCreateInstance(this, config); + + if (typeof config !== 'string') { + return; + } + + if (data[config] === undefined || config.startsWith('_') || config === 'constructor') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](this); + }); + } + +} +/** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + +EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { + const target = getElementFromSelector(this); + + if (['A', 'AREA'].includes(this.tagName)) { + event.preventDefault(); + } + + if (isDisabled(this)) { + return; + } + + EventHandler.one(target, EVENT_HIDDEN$2, () => { + // focus on trigger when it is closed + if (isVisible(this)) { + this.focus(); + } + }); // avoid conflict when clicking a toggler of an offcanvas, while another is open + + const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR); + + if (allReadyOpen && allReadyOpen !== target) { + Offcanvas.getInstance(allReadyOpen).hide(); + } + + const data = Offcanvas.getOrCreateInstance(target); + data.toggle(this); +}); +EventHandler.on(window, EVENT_LOAD_DATA_API$1, () => SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())); +enableDismissTrigger(Offcanvas); +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + +defineJQueryPlugin(Offcanvas); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): util/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); +const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; +/** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts + */ + +const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; +/** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts + */ + +const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; + +const allowedAttribute = (attribute, allowedAttributeList) => { + const attributeName = attribute.nodeName.toLowerCase(); + + if (allowedAttributeList.includes(attributeName)) { + if (uriAttributes.has(attributeName)) { + return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue)); + } + + return true; + } + + const regExp = allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp); // Check if a regular expression validates the attribute. + + for (let i = 0, len = regExp.length; i < len; i++) { + if (regExp[i].test(attributeName)) { + return true; + } + } + + return false; +}; + +const DefaultAllowlist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] +}; +function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) { + if (!unsafeHtml.length) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + const domParser = new window.DOMParser(); + const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + const elements = [].concat(...createdDocument.body.querySelectorAll('*')); + + for (let i = 0, len = elements.length; i < len; i++) { + const element = elements[i]; + const elementName = element.nodeName.toLowerCase(); + + if (!Object.keys(allowList).includes(elementName)) { + element.remove(); + continue; + } + + const attributeList = [].concat(...element.attributes); + const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []); + attributeList.forEach(attribute => { + if (!allowedAttribute(attribute, allowedAttributes)) { + element.removeAttribute(attribute.nodeName); + } + }); + } + + return createdDocument.body.innerHTML; +} + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): tooltip.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$4 = 'tooltip'; +const DATA_KEY$4 = 'bs.tooltip'; +const EVENT_KEY$4 = `.${DATA_KEY$4}`; +const CLASS_PREFIX$1 = 'bs-tooltip'; +const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']); +const DefaultType$3 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(array|string|function)', + container: '(string|element|boolean)', + fallbackPlacements: 'array', + boundary: '(string|element)', + customClass: '(string|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + allowList: 'object', + popperConfig: '(null|object|function)' +}; +const AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: isRTL() ? 'left' : 'right', + BOTTOM: 'bottom', + LEFT: isRTL() ? 'right' : 'left' +}; +const Default$3 = { + animation: true, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: [0, 0], + container: false, + fallbackPlacements: ['top', 'right', 'bottom', 'left'], + boundary: 'clippingParents', + customClass: '', + sanitize: true, + sanitizeFn: null, + allowList: DefaultAllowlist, + popperConfig: null +}; +const Event$2 = { + HIDE: `hide${EVENT_KEY$4}`, + HIDDEN: `hidden${EVENT_KEY$4}`, + SHOW: `show${EVENT_KEY$4}`, + SHOWN: `shown${EVENT_KEY$4}`, + INSERTED: `inserted${EVENT_KEY$4}`, + CLICK: `click${EVENT_KEY$4}`, + FOCUSIN: `focusin${EVENT_KEY$4}`, + FOCUSOUT: `focusout${EVENT_KEY$4}`, + MOUSEENTER: `mouseenter${EVENT_KEY$4}`, + MOUSELEAVE: `mouseleave${EVENT_KEY$4}` +}; +const CLASS_NAME_FADE$2 = 'fade'; +const CLASS_NAME_MODAL = 'modal'; +const CLASS_NAME_SHOW$2 = 'show'; +const HOVER_STATE_SHOW = 'show'; +const HOVER_STATE_OUT = 'out'; +const SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; +const SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`; +const EVENT_MODAL_HIDE = 'hide.bs.modal'; +const TRIGGER_HOVER = 'hover'; +const TRIGGER_FOCUS = 'focus'; +const TRIGGER_CLICK = 'click'; +const TRIGGER_MANUAL = 'manual'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Tooltip extends BaseComponent { + constructor(element, config) { + if (typeof _popperjs_core__WEBPACK_IMPORTED_MODULE_0__ === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); + } + + super(element); // private + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this._config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + static get Default() { + return Default$3; + } + + static get NAME() { + return NAME$4; + } + + static get Event() { + return Event$2; + } + + static get DefaultType() { + return DefaultType$3; + } // Public + + + enable() { + this._isEnabled = true; + } + + disable() { + this._isEnabled = false; + } + + toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + + toggle(event) { + if (!this._isEnabled) { + return; + } + + if (event) { + const context = this._initializeOnDelegatedTarget(event); + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$2)) { + this._leave(null, this); + + return; + } + + this._enter(null, this); + } + } + + dispose() { + clearTimeout(this._timeout); + EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + + if (this.tip) { + this.tip.remove(); + } + + this._disposePopper(); + + super.dispose(); + } + + show() { + if (this._element.style.display === 'none') { + throw new Error('Please use show on visible elements'); + } + + if (!(this.isWithContent() && this._isEnabled)) { + return; + } + + const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW); + const shadowRoot = findShadowRoot(this._element); + const isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element); + + if (showEvent.defaultPrevented || !isInTheDom) { + return; + } // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-bs-original-title` + // This will be removed later in favor of a `setContent` method + + + if (this.constructor.NAME === 'tooltip' && this.tip && this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML) { + this._disposePopper(); + + this.tip.remove(); + this.tip = null; + } + + const tip = this.getTipElement(); + const tipId = getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + + this._element.setAttribute('aria-describedby', tipId); + + if (this._config.animation) { + tip.classList.add(CLASS_NAME_FADE$2); + } + + const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; + + const attachment = this._getAttachment(placement); + + this._addAttachmentClass(attachment); + + const { + container + } = this._config; + Data.set(tip, this.constructor.DATA_KEY, this); + + if (!this._element.ownerDocument.documentElement.contains(this.tip)) { + container.append(tip); + EventHandler.trigger(this._element, this.constructor.Event.INSERTED); + } + + if (this._popper) { + this._popper.update(); + } else { + this._popper = _popperjs_core__WEBPACK_IMPORTED_MODULE_1__.createPopper(this._element, tip, this._getPopperConfig(attachment)); + } + + tip.classList.add(CLASS_NAME_SHOW$2); + + const customClass = this._resolvePossibleFunction(this._config.customClass); + + if (customClass) { + tip.classList.add(...customClass.split(' ')); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement) { + [].concat(...document.body.children).forEach(element => { + EventHandler.on(element, 'mouseover', noop); + }); + } + + const complete = () => { + const prevHoverState = this._hoverState; + this._hoverState = null; + EventHandler.trigger(this._element, this.constructor.Event.SHOWN); + + if (prevHoverState === HOVER_STATE_OUT) { + this._leave(null, this); + } + }; + + const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$2); + + this._queueCallback(complete, this.tip, isAnimated); + } + + hide() { + if (!this._popper) { + return; + } + + const tip = this.getTipElement(); + + const complete = () => { + if (this._isWithActiveTrigger()) { + return; + } + + if (this._hoverState !== HOVER_STATE_SHOW) { + tip.remove(); + } + + this._cleanTipClass(); + + this._element.removeAttribute('aria-describedby'); + + EventHandler.trigger(this._element, this.constructor.Event.HIDDEN); + + this._disposePopper(); + }; + + const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE); + + if (hideEvent.defaultPrevented) { + return; + } + + tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + [].concat(...document.body.children).forEach(element => EventHandler.off(element, 'mouseover', noop)); + } + + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$2); + + this._queueCallback(complete, this.tip, isAnimated); + + this._hoverState = ''; + } + + update() { + if (this._popper !== null) { + this._popper.update(); + } + } // Protected + + + isWithContent() { + return Boolean(this.getTitle()); + } + + getTipElement() { + if (this.tip) { + return this.tip; + } + + const element = document.createElement('div'); + element.innerHTML = this._config.template; + const tip = element.children[0]; + this.setContent(tip); + tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); + this.tip = tip; + return this.tip; + } + + setContent(tip) { + this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER); + } + + _sanitizeAndSetContent(template, content, selector) { + const templateElement = SelectorEngine.findOne(selector, template); + + if (!content && templateElement) { + templateElement.remove(); + return; + } // we use append for html objects to maintain js events + + + this.setElementContent(templateElement, content); + } + + setElementContent(element, content) { + if (element === null) { + return; + } + + if (isElement(content)) { + content = getElement(content); // content is a DOM node or a jQuery + + if (this._config.html) { + if (content.parentNode !== element) { + element.innerHTML = ''; + element.append(content); + } + } else { + element.textContent = content.textContent; + } + + return; + } + + if (this._config.html) { + if (this._config.sanitize) { + content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn); + } + + element.innerHTML = content; + } else { + element.textContent = content; + } + } + + getTitle() { + const title = this._element.getAttribute('data-bs-original-title') || this._config.title; + + return this._resolvePossibleFunction(title); + } + + updateAttachment(attachment) { + if (attachment === 'right') { + return 'end'; + } + + if (attachment === 'left') { + return 'start'; + } + + return attachment; + } // Private + + + _initializeOnDelegatedTarget(event, context) { + return context || this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); + } + + _getOffset() { + const { + offset + } = this._config; + + if (typeof offset === 'string') { + return offset.split(',').map(val => Number.parseInt(val, 10)); + } + + if (typeof offset === 'function') { + return popperData => offset(popperData, this._element); + } + + return offset; + } + + _resolvePossibleFunction(content) { + return typeof content === 'function' ? content.call(this._element) : content; + } + + _getPopperConfig(attachment) { + const defaultBsPopperConfig = { + placement: attachment, + modifiers: [{ + name: 'flip', + options: { + fallbackPlacements: this._config.fallbackPlacements + } + }, { + name: 'offset', + options: { + offset: this._getOffset() + } + }, { + name: 'preventOverflow', + options: { + boundary: this._config.boundary + } + }, { + name: 'arrow', + options: { + element: `.${this.constructor.NAME}-arrow` + } + }, { + name: 'onChange', + enabled: true, + phase: 'afterWrite', + fn: data => this._handlePopperPlacementChange(data) + }], + onFirstUpdate: data => { + if (data.options.placement !== data.placement) { + this._handlePopperPlacementChange(data); + } + } + }; + return { ...defaultBsPopperConfig, + ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig) + }; + } + + _addAttachmentClass(attachment) { + this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`); + } + + _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + } + + _setListeners() { + const triggers = this._config.trigger.split(' '); + + triggers.forEach(trigger => { + if (trigger === 'click') { + EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event)); + } else if (trigger !== TRIGGER_MANUAL) { + const eventIn = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN; + const eventOut = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT; + EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event)); + EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event)); + } + }); + + this._hideModalHandler = () => { + if (this._element) { + this.hide(); + } + }; + + EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler); + + if (this._config.selector) { + this._config = { ...this._config, + trigger: 'manual', + selector: '' + }; + } else { + this._fixTitle(); + } + } + + _fixTitle() { + const title = this._element.getAttribute('title'); + + const originalTitleType = typeof this._element.getAttribute('data-bs-original-title'); + + if (title || originalTitleType !== 'string') { + this._element.setAttribute('data-bs-original-title', title || ''); + + if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) { + this._element.setAttribute('aria-label', title); + } + + this._element.setAttribute('title', ''); + } + } + + _enter(event, context) { + context = this._initializeOnDelegatedTarget(event, context); + + if (event) { + context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; + } + + if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$2) || context._hoverState === HOVER_STATE_SHOW) { + context._hoverState = HOVER_STATE_SHOW; + return; + } + + clearTimeout(context._timeout); + context._hoverState = HOVER_STATE_SHOW; + + if (!context._config.delay || !context._config.delay.show) { + context.show(); + return; + } + + context._timeout = setTimeout(() => { + if (context._hoverState === HOVER_STATE_SHOW) { + context.show(); + } + }, context._config.delay.show); + } + + _leave(event, context) { + context = this._initializeOnDelegatedTarget(event, context); + + if (event) { + context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget); + } + + if (context._isWithActiveTrigger()) { + return; + } + + clearTimeout(context._timeout); + context._hoverState = HOVER_STATE_OUT; + + if (!context._config.delay || !context._config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(() => { + if (context._hoverState === HOVER_STATE_OUT) { + context.hide(); + } + }, context._config.delay.hide); + } + + _isWithActiveTrigger() { + for (const trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } + + return false; + } + + _getConfig(config) { + const dataAttributes = Manipulator.getDataAttributes(this._element); + Object.keys(dataAttributes).forEach(dataAttr => { + if (DISALLOWED_ATTRIBUTES.has(dataAttr)) { + delete dataAttributes[dataAttr]; + } + }); + config = { ...this.constructor.Default, + ...dataAttributes, + ...(typeof config === 'object' && config ? config : {}) + }; + config.container = config.container === false ? document.body : getElement(config.container); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } + + if (typeof config.title === 'number') { + config.title = config.title.toString(); + } + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn); + } + + return config; + } + + _getDelegateConfig() { + const config = {}; + + for (const key in this._config) { + if (this.constructor.Default[key] !== this._config[key]) { + config[key] = this._config[key]; + } + } // In the future can be replaced with: + // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]]) + // `Object.fromEntries(keysWithDifferentValues)` + + + return config; + } + + _cleanTipClass() { + const tip = this.getTipElement(); + const basicClassPrefixRegex = new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`, 'g'); + const tabClass = tip.getAttribute('class').match(basicClassPrefixRegex); + + if (tabClass !== null && tabClass.length > 0) { + tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass)); + } + } + + _getBasicClassPrefix() { + return CLASS_PREFIX$1; + } + + _handlePopperPlacementChange(popperData) { + const { + state + } = popperData; + + if (!state) { + return; + } + + this.tip = state.elements.popper; + + this._cleanTipClass(); + + this._addAttachmentClass(this._getAttachment(state.placement)); + } + + _disposePopper() { + if (this._popper) { + this._popper.destroy(); + + this._popper = null; + } + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const data = Tooltip.getOrCreateInstance(this, config); + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + }); + } + +} +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Tooltip to jQuery only if jQuery is present + */ + + +defineJQueryPlugin(Tooltip); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): popover.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$3 = 'popover'; +const DATA_KEY$3 = 'bs.popover'; +const EVENT_KEY$3 = `.${DATA_KEY$3}`; +const CLASS_PREFIX = 'bs-popover'; +const Default$2 = { ...Tooltip.Default, + placement: 'right', + offset: [0, 8], + trigger: 'click', + content: '', + template: '' +}; +const DefaultType$2 = { ...Tooltip.DefaultType, + content: '(string|element|function)' +}; +const Event$1 = { + HIDE: `hide${EVENT_KEY$3}`, + HIDDEN: `hidden${EVENT_KEY$3}`, + SHOW: `show${EVENT_KEY$3}`, + SHOWN: `shown${EVENT_KEY$3}`, + INSERTED: `inserted${EVENT_KEY$3}`, + CLICK: `click${EVENT_KEY$3}`, + FOCUSIN: `focusin${EVENT_KEY$3}`, + FOCUSOUT: `focusout${EVENT_KEY$3}`, + MOUSEENTER: `mouseenter${EVENT_KEY$3}`, + MOUSELEAVE: `mouseleave${EVENT_KEY$3}` +}; +const SELECTOR_TITLE = '.popover-header'; +const SELECTOR_CONTENT = '.popover-body'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class Popover extends Tooltip { + // Getters + static get Default() { + return Default$2; + } + + static get NAME() { + return NAME$3; + } + + static get Event() { + return Event$1; + } + + static get DefaultType() { + return DefaultType$2; + } // Overrides + + + isWithContent() { + return this.getTitle() || this._getContent(); + } + + setContent(tip) { + this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE); + + this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT); + } // Private + + + _getContent() { + return this._resolvePossibleFunction(this._config.content); + } + + _getBasicClassPrefix() { + return CLASS_PREFIX; + } // Static + + + static jQueryInterface(config) { + return this.each(function () { + const data = Popover.getOrCreateInstance(this, config); + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`); + } + + data[config](); + } + }); + } + +} +/** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + * add .Popover to jQuery only if jQuery is present + */ + + +defineJQueryPlugin(Popover); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v5.1.3): scrollspy.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ +/** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + +const NAME$2 = 'scrollspy'; +const DATA_KEY$2 = 'bs.scrollspy'; +const EVENT_KEY$2 = `.${DATA_KEY$2}`; +const DATA_API_KEY$1 = '.data-api'; +const Default$1 = { + offset: 10, + method: 'auto', + target: '' +}; +const DefaultType$1 = { + offset: 'number', + method: 'string', + target: '(string|element)' +}; +const EVENT_ACTIVATE = `activate${EVENT_KEY$2}`; +const EVENT_SCROLL = `scroll${EVENT_KEY$2}`; +const EVENT_LOAD_DATA_API = `load${EVENT_KEY$2}${DATA_API_KEY$1}`; +const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; +const CLASS_NAME_ACTIVE$1 = 'active'; +const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]'; +const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group'; +const SELECTOR_NAV_LINKS = '.nav-link'; +const SELECTOR_NAV_ITEMS = '.nav-item'; +const SELECTOR_LIST_ITEMS = '.list-group-item'; +const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`; +const SELECTOR_DROPDOWN$1 = '.dropdown'; +const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; +const METHOD_OFFSET = 'offset'; +const METHOD_POSITION = 'position'; +/** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + +class ScrollSpy extends BaseComponent { + constructor(element, config) { + super(element); + this._scrollElement = this._element.tagName === 'BODY' ? window : this._element; + this._config = this._getConfig(config); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process()); + this.refresh(); + + this._process(); + } // Getters + + + static get Default() { + return Default$1; + } + + static get NAME() { + return NAME$2; + } // Public + + + refresh() { + const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION; + const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target); + targets.map(element => { + const targetSelector = getSelectorFromElement(element); + const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null; + + if (target) { + const targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => { + this._offsets.push(item[0]); + + this._targets.push(item[1]); + }); + } + + dispose() { + EventHandler.off(this._scrollElement, EVENT_KEY$2); + super.dispose(); + } // Private + + + _getConfig(config) { + config = { ...Default$1, + ...Manipulator.getDataAttributes(this._element), + ...(typeof config === 'object' && config ? config : {}) + }; + config.target = getElement(config.target) || document.documentElement; + typeCheckConfig(NAME$2, config, DefaultType$1); + return config; + } + + _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + } + + _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + } + + _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + } + + _process() { + const scrollTop = this._getScrollTop() + this._config.offset; + + const scrollHeight = this._getScrollHeight(); + + const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + const target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + for (let i = this._offsets.length; i--;) { + const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + } + + _activate(target) { + this._activeTarget = target; + + this._clear(); + + const queries = SELECTOR_LINK_ITEMS.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`); + const link = SelectorEngine.findOne(queries.join(','), this._config.target); + link.classList.add(CLASS_NAME_ACTIVE$1); + + if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) { + SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$1); + } else { + SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP$1).forEach(listGroup => { + // Set triggered links parents as active + // With both
    and