/**
 * @license
 * MyFonts Webfont Build ID 2698802, 2013-11-30T01:06:29-0500
 * 
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=2698802
 * Licensed pageviews: 200,000
 * Webfonts copyright: Copyright 1990-2003 Bitstream Inc. All rights reserved.
 * 
 * © 2013 MyFonts Inc
 */

@font-face {
    font-family: 'BankGothicBT-Light';
    src: url('../images/fonts/292E32_0_0.eot');
    src: url('../images/fonts/292E32_0_0d41d.eot?#iefix') format('embedded-opentype'), url('../images/fonts/292E32_0_0.woff') format('woff'), url('../images/fonts/292E32_0_0.ttf') format('truetype');
}

@font-face {
    font-family: 'BankGothicBT-Medium';
    src: url('../images/fonts/292E32_1_0.eot');
    src: url('../images/fonts/292E32_1_0d41d.eot?#iefix') format('embedded-opentype'), url('../images/fonts/292E32_1_0.woff') format('woff'), url('../images/fonts/292E32_1_0.ttf') format('truetype');
}

/**
 * 2023:
 * 
 * dark purple: #4f3864
 * dark red: #a6443e
 * metallic gold gradient:
 * -   0%: #e9b43b
 * -  25%: #faebaa
 * -  50%: #e9b43b (repeat)
 * -  75%: #c3996b
 * - 100%: #e9b43b (repeat)
 * gray (tables): #efefef
 * dark gray (font, dark mode background): #434343
 * black (tables): #000000
 * 
 */

html {
    overflow: -moz-scrollbars-vertical;
    height: 100%;
    /* overflow-x: hidden; */
}
body {
    font-family: Lato, sans-serif;
    font-size: 16px;
    color: #434343;
    background-color: #ffffff;
    margin: 0;
    height: 100%;
    /* overflow-x: hidden; */
    overflow-y: scroll; /* moved from html */
}
input, textarea {
    font-family: Verdana, Helvetica, Arial, sans-serif;
    font-size: 12px;
}
h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0;
}
p {
    margin-top: 8px;
    margin-bottom: 14px;
}
h1 { font-family: Orbitron, sans-serif; font-weight: 900; font-size: 30px;                     margin-top: 24px; }
h2 { font-family: Orbitron, sans-serif; font-weight: 700; font-size: 24px;                     margin-top: 24px; }
h3 { font-family: Lato,     sans-serif; font-weight: 900; font-size: 20px;                     margin-top: 24px; }
h4 { font-family: Lato,     sans-serif; font-weight: 700; font-size: 18px;                     margin-top: 24px; }
h5 { font-family: Lato,     sans-serif; font-weight: 700; font-size: 16px; font-style: italic; margin-top: 20px; }
h6 { font-family: Lato,     sans-serif; font-weight: 400; font-size: 16px; font-style: italic; margin-top: 16px; }
h1.post-title {
    margin-top: 0;
}
a:link, a:visited, a:active {
    color: #e9b43b;
    text-decoration: none;
    font-weight: bold;
}
a:hover {
    color: #434343;
    text-decoration: underline;
}
.text-alert {
    color: #c00000;
}

.section-front h1 {
    font-size: 48px;
    margin-top: 0;
}
.section-front h2 {
    font-family: Lato, sans-serif;
    font-weight: 700;
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 12px;
}
.footer h1 {
    font-weight: 700;
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 12px;
}
.footer h2 {
    font-family: Lato, sans-serif;
    font-weight: 700;
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 12px;
}

.schedule-page {
    font-family: Verdana, Helvetica, Arial, sans-serif;
    font-size: 12px;
}
.schedule-page h1 { font-size: 24px; }
.schedule-page h2 { font-size: 20px; }
.schedule-page h3 { font-size: 18px; }
.schedule-page h4 { font-size: 16px; }
.schedule-page h5 { font-size: 14px; }
.schedule-page h6 { font-size: 13px; }

.gallery h1, .gallery h2, .gallery h3, .gallery h4, .gallery h5, .gallery h6 {
    margin-bottom: 12px;
}
input[type='checkbox'] {
    margin-right: 4px;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.header {
    background-color: #4f3864;
    height: 68px;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}
.header-container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.header-items {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.header-item {
    display: flex;
    justify-content: flex-start;
}
.header-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
@media (max-width: 680px) {
    .header-menu {
        display: none;
    }
}
.header-menu-item {
    position: relative;
    display: inline-block;
    height: 68px;
    top: -10px;
}
.header-logo, .header-logo-hover, .header-menu-item {
    margin-right: 15px;
}
.header-logo-hover {
    display: none;
}
.header-logo-container:hover .header-logo {
    display: none;
}
.header-logo-container:hover .header-logo-hover {
    display: block;
}
a.header-menu-item-link, a:hover.header-menu-item-link {
    color: #ffffff;
    text-decoration: none;
    line-height: 68px;
}
.header-menu-item-expand-icon {
    font-size: smaller;
}
.header-menu-submenu {
    display: none;
    z-index: 10;
    position: absolute;
    top: 68px;
    left: -10px;
    width: max-content;
    background-color: #e9b43b;
}
.header-menu-submenu, .header-menu-subsubmenu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.header-menu-item:hover > a {
    color: #e9b43b;
}
.header-menu-item:hover .header-menu-submenu {
    display: block;
}
.header-menu-subitem a,
.header-menu-subsubitem a {
    display: block;
    background-color: #e9b43b;
    color: #434343;
    font-weight: normal;
    text-decoration: none;
}
.header-menu-subitem a {
    padding: 10px;
}
.header-menu-subsubitem a {
    padding: 6px 20px;
    font-size: 14px;
}
.header-menu-subitem a:hover,
.header-menu-subsubitem a:hover {
    background-color: #f6ce56;
    color: #434343 !important; /* important is to override dark mode */
    text-decoration: none;
}
.header-item-right {
    position: relative;
    align-items: center;
    top: -10px;
}
@media (max-width: 680px) {
    .header-item-right {
        top: 0;
    }
}
.header-dates-location {
    text-align: right;
}
.header-dates-location a {
    color: #e9b43b;
    font-weight: normal;
}
.header-dates-location a:hover {
    color: #ffffff;
}
.header-preregister {
    margin-left: 8px;
}
@media (max-width: 800px) {
    .header-preregister {
        display: none;
    }
}
.header-hamburger {
    display: none;
    position: relative;
    width: 48px;
    height: 48px;
    margin-left: 8px;
}
.header-hamburger-checkbox {
    position: absolute;
    opacity: 0;
}
.header-hamburger-icon {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.header-hamburger-icon-closed-slice-1, .header-hamburger-icon-closed-slice-2, .header-hamburger-icon-closed-slice-3 {
    position: absolute;
    width: 70.7%;
    height: 4px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2px;
    background-color: #e9b43b;
}
.header-hamburger-icon-closed-slice-1 {
    top: 13.4%;
}
.header-hamburger-icon-closed-slice-2 {
    top: 45.8%;
}
.header-hamburger-icon-closed-slice-3 {
    top: 78.2%;
}
.header-hamburger-icon-open-cross-1, .header-hamburger-icon-open-cross-2 {
    display: none;
    position: absolute;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background-color: #e9b43b;
}
.header-hamburger-icon-open-cross-1 {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.header-hamburger-icon-open-cross-2 {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}
.header-hamburger-checkbox:checked ~ .header .header-hamburger-icon-open-cross-1,
.header-hamburger-checkbox:checked ~ .header .header-hamburger-icon-open-cross-2 {
    display: block;
}
.header-hamburger-checkbox:checked ~ .header .header-hamburger-icon-closed-slice-1,
.header-hamburger-checkbox:checked ~ .header .header-hamburger-icon-closed-slice-2,
.header-hamburger-checkbox:checked ~ .header .header-hamburger-icon-closed-slice-3 {
    display: none;
}
.header-hamburger-drawer-container {
    display: none;
    position: absolute;
    left: 0;
    top: 68px;
    width: 100%;
    /* height: calc(100% - 68px); */
    height: 0;
    overflow: hidden;
}
@media (max-width: 680px) {
    .header-hamburger {
        display: block;
    }
    .header-hamburger-drawer-container {
        display: block;
    }
}
.header-hamburger-drawer {
    position: absolute;
    top: 0;
    right: -10px;
    width: max-content;
    min-width: 200px;
    z-index: 10;
    background-color: #e9b43b;
    transform: translateX(100%);
    transition: all 0.2s ease-in-out;
}
.header-hamburger-drawer, .header-hamburger-submenu, .header-hamburger-subsubmenu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.header-hamburger-checkbox:checked ~ .header-hamburger-drawer-container {
    /* height: calc(100% - 68px); */
    height: 850px; /* hardcoded hack (sized to the shortest page on the site in widths at which the hamburger menu is present) because it is difficult to base an absolute div on either page height or child content */
}
.header-hamburger-checkbox:checked ~ .header-hamburger-drawer-container .header-hamburger-drawer {
    display: block;
    transform: translateX(0);
}
.header-hamburger-item-checkbox:checked ~ .header-hamburger-item-label {
    background-color: #e9b43b;
}
.header-hamburger-item-checkbox:checked ~ .header-hamburger-item-label:hover {
    background-color: #f6ce56;
}
.header-hamburger-item a,
.header-hamburger-item-label,
.header-hamburger-drawer .header-hamburger-item .header-hamburger-subitem a, /* specificity hack */
.header-hamburger-subsubitem a {
    display: block;
    background-color: #e9b43b;
    color: #434343 !important; /* important is to override dark mode */
    font-weight: normal;
    text-decoration: none;
    cursor: pointer;
}
.header-hamburger-item a, .header-hamburger-item-label {
    padding: 10px;
}
.header-hamburger-submenu a {
    padding: 8px 20px;
    font-size: 15px;
}
.header-hamburger-subsubmenu a {
    padding: 6px 30px;
    font-size: 14px;
}
.header-hamburger-item:hover a,
.header-hamburger-item:hover label,
.header-hamburger-item .header-hamburger-subitem a:hover,
.header-hamburger-subsubitem a:hover {
    background-color: #f6ce56;
    color: #434343;
    text-decoration: none;
}
.header-hamburger-item-expand-icon {
    display: inline-block;
    font-size: smaller;
    transform: rotate(-90deg);
    transition: transform 0.2s ease-in-out;
}
.header-hamburger-item-checkbox {
    position: absolute;
    opacity: 0;
}
.header-hamburger-submenu {
    display: none;
}
.header-hamburger-item-checkbox:checked ~ .header-hamburger-submenu {
    display: block;
}
.header-hamburger-item-checkbox:checked ~ .header-hamburger-item-label .header-hamburger-item-expand-icon {
    transform: rotate(0);
}

.section-body {
    background-color: #ffffff;
    width: 100%;
    padding: 36px 80px;
    box-sizing: border-box;
    flex-grow: 1;
}
.body-container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
}
.news-date {
    font-size: 12px;
    font-style: italic;
}

.section-front {
    position: relative;
    background-color: #ffffff;
    width: 100%;
    height: 1184px;
    box-sizing: border-box;
}
.section-front-background-content {
    background-image: url(../images/front-kimono-light.png);
    background-repeat: repeat;
    background-size: 588px 588px;
    position: absolute;
    width: 100%;
    height: 588px;
}
.section-front-background-content-gradient {
    z-index: 1;
    background: linear-gradient(225deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0) 100%);
    position: absolute;
    width: 100%;
    height: 588px;
}
.section-front-background-news {
    z-index: 3;
    background-color: #e9b43b;
    position: absolute;
    top: 564px;
    width: 100%;
    height: 620px;
}
.section-front-divider {
    z-index: 4;
    background-image: url(../images/front-cityscape.png);
    background-repeat: repeat-x;
    background-size: 1330px 87px;
    position: absolute;
    top: 501px;
    width: 100%;
    height: 87px;
}
.section-front-mascot {
    z-index: 2;
    background-image: url(../images/front-mascot.png);
    background-size: 100% 588px;
    position: absolute;
    right: 0;
    width: 482px;
    height: 588px;
}
.section-front-mascot-extended {
    z-index: 2;
    display: none;
    background-image: url(../images/front-mascot-extended.png);
    background-size: 100% 588px;
    position: absolute;
    right: calc((100% - 1900px) / 2);
    width: 727px;
    height: 588px;
}
@media (min-width: 1900px) {
    .section-front-mascot {
        display: none;
    }
    .section-front-mascot-extended {
        display: block;
    }
}
.section-front-ghost-neko-dark {
    background-image: url(../images/front-ghost-neko-dark.png);
    background-size: 100% 325px;
    position: absolute;
    top: 606px;
    left: 59px;
    width: 214px;
    height: 325px;
}
.section-front-ghost-neko-light {
    background-image: url(../images/front-ghost-neko-light.png);
    background-size: 100% 308px;
    position: absolute;
    top: 847px;
    left: -16px;
    width: 207px;
    height: 308px;
}
.section-front-container-wrapper {
    position: relative;
    padding-left: 80px;
    padding-right: 48px;
    width: 100%;
    height: 1184px;
    box-sizing: border-box;
}
.section-front-container {
    z-index: 5;
    position: relative;
    max-width: 1400px;
    width: 100%;
    margin-left: max(0px, calc((100% - 1272px) / 2 - 80px));
    margin-right: max(0px, calc((100% - 1272px) / 2 - 48px));
    height: 1184px;
    box-sizing: border-box;
}
.section-front-content {
    position: absolute;
    top: 36px;
    width: calc(100% - 408px);
}
.guest-promotional-boxes {
    text-align: center;
}
.section-front-promotional-box,
.guest-promotional-box {
    display: inline-block;
    position: relative;
    width: 222px;
    height: 274px;
    margin-top: 18px;
    margin-right: 18px;
    border: 4px #503864 solid;
    border-radius: 8px;
    background-color: #ffffff;
}
.section-front-promotional-box-image, .section-front-promotional-box-description, .section-front-promotional-box-link,
.guest-promotional-box-image, .guest-promotional-box-description, .guest-promotional-box-link {
    text-align: center;
}
.section-front-promotional-box-image,
.guest-promotional-box-image {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 198px;
    height: 152px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.section-front-promotional-box-description,
.guest-promotional-box-description {
    position: absolute;
    top: 164px;
    left: 12px;
    width: 198px;
    text-align: center;
    font-size: 14px;
}
.section-front-promotional-box-link,
.guest-promotional-box-link {
    position: absolute;
    bottom: 12px;
    left: 12px;
    width: 198px;
    text-align: center;
}
.section-front-promotional-box-link a,
.guest-promotional-box-link a {
    width: 174px;
}
.section-front-news {
    position: absolute;
    top: 620px;
    right: 0;
    width: calc(100% - 340px);
    max-width: 866px;
    height: 564px;
}
.section-front-news a {
    color: #a6443e;
}
.section-front-news a:hover {
    color: #ffffff;
}
.news-headline-boxes {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
    padding-inline-start: 0;
}
.news-headline-box {
    display: inline-block;
    position: relative;
    width: 204px;
    height: 304px;
    border: 1px #a5443e solid;
    border-radius: 8px;
}
.news-headline-box-image {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 192px;
    height: 192px;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.news-headline-box-title {
    position: absolute;
    top: 212px;
    left: 6px;
    width: 192px;
}
.news-headline-box-date {
    position: absolute;
    bottom: 6px;
    left: 6px;
    font-size: 12px;
}
.news-headline-box-date-label {
    font-size: 8px;
}
.news-navigate {
    margin-top: 14px;
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.footer {
    background-color: #4f3864;
    width: 100%;
    padding: 48px 80px;
    box-sizing: border-box;
    color: #ffffff;
}
.footer-container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 40px;
}
.footer a {
    color: #ffffff;
}
.footer a:hover {
    color: #e9b43b;
}
.footer-column {
    display: inline-block;
    flex: 1;
}
.footer-column-break {
    display: none;
    flex: 100%;
}
.footer-menu-submenu, .footer-menu-subsubmenu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-menu-subitem a, .footer-menu-subsubitem a {
    display: block;
    color: #ffffff;
    font-weight: normal;
}
.footer-menu-subitem a {
    padding: 8px 0px;
    font-size: 14px;
}
.footer-menu-subsubitem a {
    padding: 6px 10px;
    font-size: 12px;
}
.footer-column-social-media {
    text-align: center;
    color: #e9b43b;
}
.footer-social-media-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    width: 206px;
    list-style: none;
    margin: 24px auto;
    padding: 0;
}
.footer-social-media-link {
    mask-size: 58px 58px;
    -webkit-mask-size: 58px 58px;
    background-color: #e9b43b;
}
.footer-social-media-link:hover {
    background-color: #ffffff;
}
.footer-social-media-link-box {
    width: 58px;
    height: 58px;
}
.footer-social-media-link-facebook {
    mask-image: url(../images/social_media/large-facebook.png);
    -webkit-mask-image: url(../images/social_media/large-facebook.png);
}
.footer-social-media-link-instagram {
    mask-image: url(../images/social_media/large-instagram.png);
    -webkit-mask-image: url(../images/social_media/large-instagram.png);
}
.footer-social-media-link-discord {
    mask-image: url(../images/social_media/large-discord.png);
    -webkit-mask-image: url(../images/social_media/large-discord.png);
}
.footer-social-media-link-twitter {
    mask-image: url(../images/social_media/large-twitter.png);
    -webkit-mask-image: url(../images/social_media/large-twitter.png);
}
.footer-social-media-link-twitch {
    mask-image: url(../images/social_media/large-twitch.png);
    -webkit-mask-image: url(../images/social_media/large-twitch.png);
}
.footer-social-media-link-youtube {
    mask-image: url(../images/social_media/large-youtube.png);
    -webkit-mask-image: url(../images/social_media/large-youtube.png);
}
.staff-login-status {
    background-color: #a6443e;
    width: 100%;
    padding: 10px 80px;
    box-sizing: border-box;
    color: #ffffff;
}
.staff-login-status-container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.staff-logout {
    margin-left: 10px;
}
.staff-logout a {
    text-align: center;
    min-width: 60px;
}
@media (max-width: 1320px) {
    .section-body {
        padding: 28px 64px;
    }
    .section-front {
        height: 986px;
    }
    .section-front-background-content {
        background-size: 470px 470px;
        height: 470px;
    }
    .section-front-background-content-gradient {
        height: 470px;
    }
    .section-front-background-news {
        top: 466px;
        height: 520px;
    }
    .section-front-divider {
        background-size: 1064px 70px;
        top: 420px;
        height: 70px;
    }
    .section-front-mascot {
        background-size: 100% 470px;
        width: 386px;
        height: 470px;
    }
    .section-front-container-wrapper {
        padding-left: 64px;
        padding-right: 38px;
        height: 986px;
    }
    .section-front-container {
        margin-left: max(0px, calc((100% - 1298px) / 2 - 64px));
        margin-right: max(0px, calc((100% - 1298px) / 2 - 38px));
        height: 986px;
    }
    .section-front-ghost-neko-dark {
        background-size: 100% 260px;
        top: 508px;
        left: 47px;
        width: 171px;
        height: 260px;
    }
    .section-front-ghost-neko-light {
        background-size: 100% 246px;
        top: 701px;
        left: -13px;
        width: 166px;
        height: 246px;
    }
    .section-front-content {
        top: 28px;
        width: calc(100% - 326px);
    }
    .section-front-promotional-box {
        width: 178px;
        height: 229px;
        margin-top: 0;
        margin-right: 14px;
    }
    .section-front-promotional-box-image {
        top: 10px;
        left: 10px;
        width: 158px;
        height: 121px;
    }
    .section-front-promotional-box-image img {
        width: auto;
        height: auto;
        max-width: 158px;
        max-height: 121px;
    }
    .section-front-promotional-box-description {
        top: 131px;
        left: 10px;
        width: 158px;
        font-size: 13px;
    }
    .section-front-promotional-box-link {
        bottom: 10px;
        left: 10px;
        width: 158px;
    }
    .section-front-promotional-box-link a {
        width: 136px;
        font-size: 14px;
    }
    .section-front-news {
        top: 522px;
        width: calc(100% - 272px);
        height: 464px;
    }
    .news-headline-box {
        width: 163px;
        height: 243px;
    }
    .news-headline-box-image {
        top: 5px;
        left: 5px;
        width: 153px;
        height: 153px;
    }
    .news-headline-box-image img {
        width: auto;
        height: auto;
        max-width: 153px;
        max-height: 153px;
    }
    .news-headline-box-title {
        top: 162px;
        left: 5px;
        width: 153px;
        font-size: 14px;
    }
    .news-headline-box-date {
        bottom: 5px;
        left: 5px;
    }
    .news-navigate a {
        font-size: 14px;
    }
    .footer {
        padding: 38px 64px;
    }
    .footer-container {
        column-gap: 32px;
    }
    .footer-about p {
        font-size: 14px;
    }
    .staff-login-status {
        padding: 10px 64px;
    }
}
@media (max-width: 1044px) {
    .section-body {
        padding: 22px 50px;
    }
    .section-front {
        height: 890px;
    }
    .section-front-background-content {
        background-size: 442px 442px;
        height: 442px;
    }
    .section-front-background-content-gradient {
        height: 442px;
    }
    .section-front-background-news {
        top: 442px;
        height: 448px;
    }
    .section-front-divider {
        background-size: 851px 56px;
        top: 400px;
        height: 56px;
    }
    .section-front-mascot {
        background-size: 100% 376px;
        width: 309px;
        height: 376px;
        top: 66px;
    }
    .section-front-container-wrapper {
        padding-left: 50px;
        padding-right: 30px;
        height: 890px;
    }
    .section-front-container {
        margin-left: max(0px, calc((100% - 1320px) / 2 - 50px));
        margin-right: max(0px, calc((100% - 1320px) / 2 - 30px));
        height: 890px;
    }
    .section-front-ghost-neko-dark {
        background-size: 100% 208px;
        top: 468px;
        left: 38px;
        width: 137px;
        height: 208px;
    }
    .section-front-ghost-neko-light {
        background-size: 100% 197px;
        top: 622px;
        left: -10px;
        width: 133px;
        height: 197px;
    }
    .section-front-content {
        top: 22px;
        width: calc(100% - 261px);
    }
    .section-front-promotional-box {
        width: 142px;
        height: 199px;
        margin-right: 12px;
    }
    .section-front-promotional-box-image {
        top: 8px;
        left: 8px;
        width: 126px;
        height: 97px;
    }
    .section-front-promotional-box-image img {
        max-width: 126px;
        max-height: 97px;
    }
    .section-front-promotional-box-description {
        top: 107px;
        left: 8px;
        width: 126px;
        font-size: 12px;
    }
    .section-front-promotional-box-link {
        bottom: 8px;
        left: 8px;
        width: 118px;
    }
    .section-front-promotional-box-link a {
        width: 100px;
        font-size: 12px;
    }
    .section-front-news {
        top: 476px;
        width: calc(100% - 218px);
        height: 414px;
    }
    .news-headline-box {
        width: 130px;
        height: 204px;
    }
    .news-headline-box-image {
        top: 4px;
        left: 4px;
        width: 122px;
        height: 122px;
    }
    .news-headline-box-image img {
        max-width: 122px;
        max-height: 122px;
    }
    .news-headline-box-title {
        top: 128px;
        left: 4px;
        width: 122px;
        font-size: 12px;
    }
    .news-headline-box-date {
        bottom: 2px;
        left: 4px;
        font-size: 10px;
    }
    .footer {
        padding: 30px 50px;
    }
    .footer-container {
        flex-wrap: wrap;
        column-gap: 26px;
    }
    .footer-column.footer-column-menu {
        order: 1;
    }
    .footer-column.footer-column-break-after-menu {
        order: 2;
        display: block;
    }
    .footer-column.footer-about {
        order: 3;
        flex: 100%;
    }
    .footer-column.footer-column-break-after-about {
        order: 4;
        display: block;
    }
    .footer-column.footer-column-social-media {
        order: 5;
        flex: 100%;
    }
    .footer h1 {
        font-size: 18px;
    }
    .footer h2 {
        font-size: 18px;
    }
    .footer-about p {
        font-size: 12px;
    }
    /* .footer-social-media-links {
        gap: 12px;
        width: 162px;
    } */
    .footer-social-media-links {
        gap: 12px;
        width: 336px;
        margin: 0 auto;
    }
    .footer-social-media-link {
        mask-size: 46px 46px;
        -webkit-mask-size: 46px 46px;
    }
    .footer-social-media-link-box {
        width: 46px;
        height: 46px;
    }
    .staff-login-status {
        padding: 10px 50px;
    }
}
@media (max-width: 844px) {
    .section-body {
        padding: 18px 40px;
    }
    .section-front {
        height: 880px;
    }
    .section-front-background-content {
        background-size: 412px 412px;
        height: 412px;
    }
    .section-front-background-content-gradient {
        height: 412px;
    }
    .section-front-background-news {
        top: 412px;
        height: 468px;
    }
    .section-front-divider {
        top: 370px;
    }
    .section-front-mascot {
        background-size: 100% 301px;
        width: 247px;
        height: 301px;
        top: 110px;
    }
    .section-front-container-wrapper {
        padding-left: 40px;
        padding-right: 24px;
        height: 880px;
    }
    .section-front-container {
        margin-left: max(0px, calc((100% - 1336px) / 2 - 40px));
        margin-right: max(0px, calc((100% - 1336px) / 2 - 24px));
        height: 880px;
    }
    .section-front-ghost-neko-dark {
        background-size: 100% 166px;
        top: 438px;
        left: 30px;
        width: 110px;
        height: 166px;
    }
    .section-front-ghost-neko-light {
        background-size: 100% 158px;
        top: 561px;
        left: -8px;
        width: 106px;
        height: 158px;
    }
    .section-front-content {
        top: 18px;
        width: calc(100% - 100px);
    }
    .section-front-promotional-box {
        width: 114px;
        height: 168px;
        margin-right: 10px;
    }
    .section-front-promotional-box-image {
        top: 6px;
        left: 6px;
        width: 102px;
        height: 79px;
    }
    .section-front-promotional-box-image img {
        max-width: 102px;
        max-height: 79px;
    }
    .section-front-promotional-box-description {
        top: 87px;
        left: 6px;
        width: 102px;
        font-size: 10px;
    }
    .section-front-promotional-box-link {
        bottom: 6px;
        left: 6px;
        width: 80px;
    }
    .section-front-promotional-box-link a {
        width: 78px;
        font-size: 11px;
    }
    .section-front-news {
        top: 446px;
        width: calc(100% - 174px);
        height: 434px;
    }
    .news-headline-box {
        width: 104px;
        height: 204px;
    }
    .news-headline-box-image {
        top: 4px;
        left: 4px;
        width: 96px;
        height: 96px;
    }
    .news-headline-box-image img {
        max-width: 96px;
        max-height: 96px;
    }
    .news-headline-box-title {
        top: 102px;
        width: 96px;
    }
    .footer {
        padding: 24px 40px;
    }
    .footer-container {
        column-gap: 20px;
    }
    .footer h1 {
        font-size: 16px;
    }
    .footer h2 {
        font-size: 16px;
    }
    .footer-about p {
        font-size: 10px;
    }
    .footer-social-media-links {
        gap: 8px;
        /* width: 124px; */
        width: 256px;
    }
    .footer-social-media-link {
        mask-size: 36px 36px;
        -webkit-mask-size: 36px 36px;
    }
    .footer-social-media-link-box {
        width: 36px;
        height: 36px;
    }
    .staff-login-status {
        padding: 10px 40px;
    }
}
@media (max-width: 674px) {
    .section-body {
        padding: 14px 32px;
    }
    .section-front {
        height: 868px;
    }
    .section-front-background-content {
        background-size: 398px 398px;
        height: 398px;
    }
    .section-front-background-content-gradient {
        height: 398px;
    }
    .section-front-background-news {
        top: 398px;
        height: 470px;
    }
    .section-front-divider {
        top: 356px;
    }
    .section-front-mascot {
        background-size: 100% 241px;
        width: 198px;
        height: 241px;
        top: 154px;
    }
    .section-front-container-wrapper {
        padding-left: 32px;
        padding-right: 20px;
        height: 868px;
    }
    .section-front-container {
        margin-left: max(0px, calc((100% - 1348px) / 2 - 32px));
        margin-right: max(0px, calc((100% - 1348px) / 2 - 20px));
        height: 868px;
    }
    .section-front-ghost-neko-dark {
        background-size: 100% 133px;
        top: 418px;
        left: 24px;
        width: 88px;
        height: 133px;
    }
    .section-front-ghost-neko-light {
        background-size: 100% 126px;
        top: 516px;
        left: -6px;
        width: 85px;
        height: 126px;
    }
    .section-front-content {
        top: 14px;
        width: 100%;
    }
    .section-front-promotional-box {
        width: 91px;
        height: 158px;
    }
    .section-front-promotional-box-image {
        top: 5px;
        left: 5px;
        width: 81px;
        height: 62px;
    }
    .section-front-promotional-box-image img {
        max-width: 81px;
        max-height: 62px;
    }
    .section-front-promotional-box-description {
        top: 68px;
        left: 5px;
        width: 81px;
    }
    .section-front-promotional-box-link {
        bottom: 5px;
        left: 5px;
    }
    .section-front-promotional-box-link a {
        width: 69px;
        font-size: 9px;
        padding: 6px 6px !important; /* important is to override button-link */
    }
    .section-front-news {
        top: 426px;
        width: calc(100% - 139px);
        height: 442px;
    }
    .news-headline-box {
        width: 83px;
        height: 204px;
    }
    .news-headline-box-image {
        top: 4px;
        left: 4px;
        width: 75px;
        height: 75px;
    }
    .news-headline-box-image img {
        max-width: 75px;
        max-height: 75px;
    }
    .news-headline-box-title {
        top: 81px;
        width: 75px;
        font-size: 11px;
    }
    .news-headline-box-date {
        font-size: 9px;
    }
    .footer {
        padding: 20px 32px;
    }
    .footer h1 {
        font-size: 16px;
    }
    .footer h2 {
        font-size: 16px;
    }
    .footer-about p {
        font-size: 12px;
    }
    /* .footer-social-media-link {
        mask-size: 36px 36px;
        -webkit-mask-size: 36px 36px;
    }
    .footer-social-media-link-box {
        width: 36px;
        height: 36px;
    } */
    .staff-login-status {
        padding: 10px 32px;
    }
}
@media (max-width: 552px) {
    .section-body {
        padding: 8px 20px;
    }
    .section-front {
        height: 1322px;
    }
    .section-front-background-content {
        background-size: 782px 782px;
        height: 782px;
    }
    .section-front-background-content-gradient {
        height: 782px;
    }
    .section-front-background-news {
        top: 782px;
        height: 540px;
    }
    .section-front-divider {
        top: 740px;
    }
    .section-front-mascot {
        top: 538px;
    }
    .section-front-container-wrapper {
        padding-left: 20px;
        padding-right: 14px;
        height: 1322px;
    }
    .section-front-container {
        margin-left: max(0px, calc((100% - 1366px) / 2 - 20px));
        margin-right: max(0px, calc((100% - 1366px) / 2 - 14px));
        height: 1322px;
    }
    .section-front-ghost-neko-dark {
        top: 792px;
    }
    .section-front-ghost-neko-light {
        top: 890px;
    }
    .section-front-content {
        top: 8px;
    }
    .section-front-promotional-box {
        width: 178px;
        height: 229px;
        margin-bottom: 10px;
    }
    .section-front-promotional-box-image {
        top: 10px;
        left: 10px;
        width: 158px;
        height: 121px;
    }
    .section-front-promotional-box-image img {
        max-width: 158px;
        max-height: 121px;
    }
    .section-front-promotional-box-description {
        top: 131px;
        left: 10px;
        width: 158px;
        font-size: 13px;
    }
    .section-front-promotional-box-link {
        bottom: 10px;
        left: 10px;
        width: 158px;
    }
    .section-front-promotional-box-link a {
        width: 136px;
        font-size: 14px;
        padding: 8px 12px !important; /* important is to override button-link */
    }
    .section-front-news {
        top: 820px;
        height: 502px;
    }
    .news-headline-boxes {
        margin-left: -139px;
    }
    .news-headline-box {
        width: 92px;
    }
    .news-headline-box-image {
        width: 84px;
        height: 84px;
    }
    .news-headline-box-image img {
        max-width: 84px;
        max-height: 84px;
    }
    .news-headline-box-title {
        top: 90px;
        width: 84px;
    }
    .news-headline-box-date-label {
        font-size: 7px;
    }
    .news-navigate {
        width: auto;
        margin-left: -139px;
    }
    .footer {
        padding: 20px 20px;
    }
    .footer-column-menu {
        flex-basis: 100%;
        margin-bottom: 32px;
    }
    .staff-login-status {
        padding: 10px 20px;
    }
}
@media (max-width: 428px) {
    .section-front {
        height: 1550px;
    }
    .section-front-background-content {
        background-size: 722px 722px;
        height: 722px;
    }
    .section-front-background-content-gradient {
        height: 722px;
    }
    .section-front-background-news {
        top: 722px;
        height: 828px;
    }
    .section-front-divider {
        top: 680px;
    }
    .section-front-mascot {
        background-size: 100% 193px;
        width: 158px;
        height: 193px;
        top: 528px;
    }
    .section-front-container-wrapper {
        height: 1550px;
    }
    .section-front-container {
        height: 1550px;
    }
    .section-front-ghost-neko-dark {
        background-size: 100% 106px;
        top: 732px;
        left: 20px;
        width: 70px;
        height: 106px;
    }
    .section-front-ghost-neko-light {
        background-size: 100% 101px;
        top: 810px;
        left: -5px;
        width: 68px;
        height: 101px;
    }
    .section-front-promotional-box {
        width: 142px;
        height: 199px;
    }
    .section-front-promotional-box-image {
        top: 8px;
        left: 8px;
        width: 126px;
        height: 97px;
    }
    .section-front-promotional-box-image img {
        max-width: 126px;
        max-height: 97px;
    }
    .section-front-promotional-box-description {
        top: 107px;
        left: 8px;
        width: 126px;
        font-size: 12px;
    }
    .section-front-promotional-box-link {
        bottom: 8px;
        left: 8px;
        width: 118px;
    }
    .section-front-promotional-box-link a {
        width: 100px;
        font-size: 12px;
    }
    .section-front-news {
        top: 740px;
        width: calc(100% - 111px);
    }
    .news-headline-boxes {
        margin-left: -111px;
        flex-wrap: wrap;
    }
    .news-headline-box {
        width: 156px;
        flex-basis: 156px;
        height: 243px;
        margin-bottom: 8px;
    }
    .news-headline-box-image {
        width: 146px;
        height: 146px;
        top: 5px;
        left: 5px;
    }
    .news-headline-box-image img {
        max-width: 146px;
        max-height: 146px;
    }
    .news-headline-box-title {
        top: 152px;
        width: 146px;
        font-size: 13px;
    }
    .news-headline-box-date {
        font-size: 12px;
    }
    .news-headline-box-date-label {
        font-size: 8px;
    }
    .news-navigate {
        margin-left: -111px;
    }
}
@media (max-width: 356px) {
    .header-dates-location {
        font-size: 12px;
    }
    .section-front {
        height: 1542px;
    }
    .section-front-background-news {
        top: 674px;
        height: 868px;
    }
    .section-front-divider {
        top: 632px;
    }
    .section-front-mascot {
        top: 478px;
    }
    .section-front-container-wrapper {
        height: 1542px;
    }
    .section-front-container {
        height: 1542px;
    }
    .section-front-content h1 {
        font-size: 40px;
    }
    .section-front-promotional-box {
        width: 114px;
        height: 168px;
    }
    .section-front-promotional-box-image {
        top: 6px;
        left: 6px;
        width: 102px;
        height: 79px;
    }
    .section-front-promotional-box-image img {
        max-width: 102px;
        max-height: 79px;
    }
    .section-front-promotional-box-description {
        top: 87px;
        left: 6px;
        width: 102px;
        font-size: 10px;
    }
    .section-front-promotional-box-link {
        bottom: 6px;
        left: 6px;
        width: 80px;
    }
    .section-front-promotional-box-link a {
        width: 78px;
        font-size: 11px;
    }
    .section-front-news {
        top: 700px;
    }
    .news-headline-box {
        width: 130px;
        flex-basis: 130px;
        height: 223px;
    }
    .news-headline-box-image {
        width: 120px;
        height: 120px;
    }
    .news-headline-box-image img {
        max-width: 120px;
        max-height: 120px;
    }
    .news-headline-box-title {
        top: 128px;
        width: 120px;
        font-size: 12px;
    }
}
@media (max-width: 1134px) {
    /* corresponds to max-width: 1320px */
    .guest-promotional-box {
        width: 178px;
        height: 229px;
        margin-top: 0;
        margin-right: 14px;
    }
    .guest-promotional-box-image {
        top: 10px;
        left: 10px;
        width: 158px;
        height: 121px;
    }
    .guest-promotional-box-image img {
        width: auto;
        height: auto;
        max-width: 158px;
        max-height: 121px;
    }
    .guest-promotional-box-description {
        top: 131px;
        left: 10px;
        width: 158px;
        font-size: 13px;
    }
    .guest-promotional-box-link {
        bottom: 10px;
        left: 10px;
        width: 158px;
    }
    .guest-promotional-box-link a {
        width: 136px;
        font-size: 14px;
    }
}
@media (max-width: 914px) {
    /* corresponds to max-width: 1044px */
    .guest-promotional-box {
        width: 142px;
        height: 199px;
        margin-right: 12px;
    }
    .guest-promotional-box-image {
        top: 8px;
        left: 8px;
        width: 126px;
        height: 97px;
    }
    .guest-promotional-box-image img {
        max-width: 126px;
        max-height: 97px;
    }
    .guest-promotional-box-description {
        top: 107px;
        left: 8px;
        width: 126px;
        font-size: 12px;
    }
    .guest-promotional-box-link {
        bottom: 8px;
        left: 8px;
        width: 118px;
    }
    .guest-promotional-box-link a {
        width: 100px;
        font-size: 11px;
    }
}
@media (max-width: 742px) {
    /* corresponds to max-width: 844px */
    .guest-promotional-box {
        width: 114px;
        height: 168px;
        margin-right: 10px;
    }
    .guest-promotional-box-image {
        top: 6px;
        left: 6px;
        width: 102px;
        height: 79px;
    }
    .guest-promotional-box-image img {
        max-width: 102px;
        max-height: 79px;
    }
    .guest-promotional-box-description {
        top: 87px;
        left: 6px;
        width: 102px;
        font-size: 10px;
    }
    .guest-promotional-box-link {
        bottom: 6px;
        left: 6px;
        width: 80px;
    }
    .guest-promotional-box-link a {
        width: 78px;
        font-size: 9px;
    }
}
@media (max-width: 604px) {
    /* corresponds to max-width: 552px (skips max-width: 674px) */
    .guest-promotional-box {
        width: 178px;
        height: 229px;
        margin-bottom: 10px;
    }
    .guest-promotional-box-image {
        top: 10px;
        left: 10px;
        width: 158px;
        height: 121px;
    }
    .guest-promotional-box-image img {
        max-width: 158px;
        max-height: 121px;
    }
    .guest-promotional-box-description {
        top: 131px;
        left: 10px;
        width: 158px;
        font-size: 13px;
    }
    .guest-promotional-box-link {
        bottom: 10px;
        left: 10px;
        width: 158px;
    }
    .guest-promotional-box-link a {
        width: 136px;
        font-size: 14px;
        padding: 8px 12px !important; /* important is to override button-link */
    }
}
@media (max-width: 438px) {
    /* corresponds to max-width: 428px */
    .guest-promotional-box {
        width: 142px;
        height: 199px;
    }
    .guest-promotional-box-image {
        top: 8px;
        left: 8px;
        width: 126px;
        height: 97px;
    }
    .guest-promotional-box-image img {
        max-width: 126px;
        max-height: 97px;
    }
    .guest-promotional-box-description {
        top: 107px;
        left: 8px;
        width: 126px;
        font-size: 12px;
    }
    .guest-promotional-box-link {
        bottom: 8px;
        left: 8px;
        width: 118px;
    }
    .guest-promotional-box-link a {
        width: 100px;
        font-size: 11px;
    }
}
@media (max-width: 366px) {
    /* corresponds to max-width: 356px */
    .guest-promotional-box {
        width: 114px;
        height: 168px;
    }
    .guest-promotional-box-image {
        top: 6px;
        left: 6px;
        width: 102px;
        height: 79px;
    }
    .guest-promotional-box-image img {
        max-width: 102px;
        max-height: 79px;
    }
    .guest-promotional-box-description {
        top: 87px;
        left: 6px;
        width: 102px;
        font-size: 10px;
    }
    .guest-promotional-box-link {
        bottom: 6px;
        left: 6px;
        width: 80px;
    }
    .guest-promotional-box-link a {
        width: 78px;
        font-size: 9px;
    }
}
@media (max-width: 326px) {
    /* unique breakpoint just for the guests page */
    .guest-promotional-box {
        width: 112px;
        height: 166px;
    }
    .guest-promotional-box-image {
        top: 5px;
        left: 5px;
        width: 102px;
        height: 79px;
    }
    .guest-promotional-box-image img {
        max-width: 102px;
        max-height: 79px;
    }
    .guest-promotional-box-description {
        top: 87px;
        left: 5px;
        width: 102px;
        font-size: 10px;
    }
    .guest-promotional-box-link {
        bottom: 5px;
        left: 5px;
        width: 80px;
    }
    .guest-promotional-box-link a {
        width: 78px;
        font-size: 9px;
    }
}
@media (min-resolution: 144dpi) {
    .section-front-divider {
        background-image: url(../images/front-cityscape%402x.png);
    }
    .section-front-mascot {
        background-image: url(../images/front-mascot%402x.png);
    }
    .section-front-mascot-extended {
        background-image: url(../images/front-mascot-extended%402x.png);
    }
    .section-front-ghost-neko-dark {
        background-image: url(../images/front-ghost-neko-dark%402x.png);
    }
    .section-front-ghost-neko-light {
        background-image: url(../images/front-ghost-neko-light%402x.png);
    }
    .footer-social-media-link-facebook {
        mask-image: url(../images/social_media/large-facebook%402x.png);
        -webkit-mask-image: url(../images/social_media/large-facebook%402x.png);
    }
    .footer-social-media-link-instagram {
        mask-image: url(../images/social_media/large-instagram%402x.png);
        -webkit-mask-image: url(../images/social_media/large-instagram%402x.png);
    }
    .footer-social-media-link-discord {
        mask-image: url(../images/social_media/large-discord%402x.png);
        -webkit-mask-image: url(../images/social_media/large-discord%402x.png);
    }
    .footer-social-media-link-twitter {
        mask-image: url(../images/social_media/large-twitter%402x.png);
        -webkit-mask-image: url(../images/social_media/large-twitter%402x.png);
    }
    .footer-social-media-link-twitch {
        mask-image: url(../images/social_media/large-twitch%402x.png);
        -webkit-mask-image: url(../images/social_media/large-twitch%402x.png);
    }
    .footer-social-media-link-youtube {
        mask-image: url(../images/social_media/large-youtube%402x.png);
        -webkit-mask-image: url(../images/social_media/large-youtube%402x.png);
    }
}
@media (min-resolution: 240dpi) {
    .section-front-divider {
        background-image: url(../images/front-cityscape%403x.png);
    }
    .section-front-mascot {
        background-image: url(../images/front-mascot%403x.png);
    }
    .section-front-mascot-extended {
        background-image: url(../images/front-mascot-extended%403x.png);
    }
    .section-front-ghost-neko-dark {
        background-image: url(../images/front-ghost-neko-dark%403x.png);
    }
    .section-front-ghost-neko-light {
        background-image: url(../images/front-ghost-neko-light%403x.png);
    }
    .footer-social-media-link-facebook {
        mask-image: url(../images/social_media/large-facebook%403x.png);
        -webkit-mask-image: url(../images/social_media/large-facebook%403x.png);
    }
    .footer-social-media-link-instagram {
        mask-image: url(../images/social_media/large-instagram%403x.png);
        -webkit-mask-image: url(../images/social_media/large-instagram%403x.png);
    }
    .footer-social-media-link-discord {
        mask-image: url(../images/social_media/large-discord%403x.png);
        -webkit-mask-image: url(../images/social_media/large-discord%403x.png);
    }
    .footer-social-media-link-twitter {
        mask-image: url(../images/social_media/large-twitter%403x.png);
        -webkit-mask-image: url(../images/social_media/large-twitter%403x.png);
    }
    .footer-social-media-link-twitch {
        mask-image: url(../images/social_media/large-twitch%403x.png);
        -webkit-mask-image: url(../images/social_media/large-twitch%403x.png);
    }
    .footer-social-media-link-youtube {
        mask-image: url(../images/social_media/large-youtube%403x.png);
        -webkit-mask-image: url(../images/social_media/large-youtube%403x.png);
    }
}

.photo-carousel {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}
.photo-carousel-container {
    position: absolute;
    top: 0;
    width: 4800px;
    height: 100%;
}
.photo-carousel-image {
    display: inline-block;
    width: 200px;
    height: 200px;
    object-fit: cover;
}
@media (max-width: 674px) {
    .photo-carousel {
        height: 160px;
    }
    .photo-carousel-container {
        width: 3840px;
    }
    .photo-carousel-image {
        width: 160px;
        height: 160px;
    }
}
@media (max-width: 428px) {
    .photo-carousel {
        height: 120px;
    }
    .photo-carousel-container {
        width: 2880px;
    }
    .photo-carousel-image {
        width: 120px;
        height: 120px;
    }
}

.guest-carousel {
    position: relative;
    width: 100%;
    height: 335px;
    background-image: url(../images/front-kimono-dark.png);
    background-repeat: repeat;
    background-size: 335px 335px;
}
.guest-carousel-background-gradient {
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 335px;
    background: rgba(255, 255, 255, 0.9);
}
.guest-carousel h1 {
    z-index: 2;
    position: absolute;
    text-align: center;
    width: calc(100% - 40px);
    left: 20px;
}
.guest-carousel-page-previous, .guest-carousel-page-next {
    position: absolute;
    top: 0;
    width: 40px;
    height: 335px;
    z-index: 3;
    cursor: pointer;
}
.guest-carousel-page-previous {
    left: 0;
}
.guest-carousel-page-next {
    right: 0;
}
.guest-carousel-page-previous-arrow-slice-1,
.guest-carousel-page-previous-arrow-slice-2,
.guest-carousel-page-next-arrow-slice-1,
.guest-carousel-page-next-arrow-slice-2 {
    position: absolute;
    top: 50%;
    width: 84.9%; /* 60% divided by sqrt(2) */
    height: 4px;
    border-radius: 2px;
    background-color: #e9b43b;
}
.guest-carousel-page-previous-arrow-slice-1 {
    transform: translateY(-22px) rotate(-45deg);
}
.guest-carousel-page-previous-arrow-slice-2 {
    transform: rotate(45deg);
}
.guest-carousel-page-next-arrow-slice-1 {
    transform: translateY(-22px) rotate(45deg);
}
.guest-carousel-page-next-arrow-slice-2 {
    transform: rotate(-45deg);
}
.guest-carousel-page-previous-arrow-slice-1,
.guest-carousel-page-previous-arrow-slice-2 {
    left: 20%;
}
.guest-carousel-page-next-arrow-slice-1,
.guest-carousel-page-next-arrow-slice-2 {
    right: 20%;
}
.guest-carousel-page-previous:hover .guest-carousel-page-previous-arrow-slice-1,
.guest-carousel-page-previous:hover .guest-carousel-page-previous-arrow-slice-2,
.guest-carousel-page-next:hover .guest-carousel-page-next-arrow-slice-1,
.guest-carousel-page-next:hover .guest-carousel-page-next-arrow-slice-2 {
    background-color: #434343;
}
.guest-carousel-matte {
    z-index: 2;
    position: absolute;
    top: 80px;
    height: 223px;
    overflow: hidden;
}
.guest-carousel-scroller {
    position: absolute;
    top: 0;
    height: 100%;
    transition: left 0.5s ease;
}
.guest-carousel-page-indicators {
    z-index: 2;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 30px;
    text-align: center;
}
.guest-carousel-page-indicator {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    border-radius: 50%;
    background-color: #e9b43b;
    cursor: pointer;
}
.guest-carousel-page-indicator:hover {
    background-color: #434343;
}
.guest-carousel-page-indicator-active {
    background-color: #4f3864;
}
.guest-carousel-item {
    position: relative;
    display: inline-block;
    width: 140px;
    height: 208px;
    padding-left: 5px;
    padding-right: 10px;
}
.guest-carousel-item .guest-frame,
.guest-carousel-item .guest-frame img,
.guest-carousel-item .guest-card,
.guest-carousel-item .guest-shadow,
.guest-carousel-item .guest-name {
    position: absolute;
    top: 0;
    left: 0;
    width: 140px;
}
.guest-carousel-item .guest-frame {
    height: 140px;
    width: 140px;
}
.guest-carousel-item .guest-frame img {
    position: absolute;
    height: 140px;
    width: 140px;
}
.guest-carousel-item .guest-frame img.guest-frame-image {
    mask-image: url(../images/guest-frame-mask.png);
    -webkit-mask-image: url(../images/guest-frame-mask.png);
    mask-size: 140px 140px;
    -webkit-mask-size: 140px 140px;
}
.guest-carousel-item .guest-frame img.guest-frame-border-dark,
.guest-carousel-item .guest-frame img.guest-frame-border-light {
    z-index: 1;
}
.guest-carousel-item .guest-frame img.guest-frame-border-light {
    display: none;
}
.guest-carousel-item .guest-frame img.guest-frame-image-dark {
    display: none;
}
.guest-carousel-item .guest-name {
    top: 143px;
    text-align: center;
    font-family: Orbitron, sans-serif;
    font-size: 18px;
    padding: 4px;
    width: 140px;
    height: 54px;
    display: flex;
    justify-content: center;
}
.guest-carousel-item .guest-name a {
    color: inherit;
}
@media (max-width: 740px) {
    .guest-carousel h1 {
        font-size: 24px;
    }
}
@media (max-width: 600px) {
    .guest-carousel h1 {
        font-size: 20px;
    }
}
@media (max-width: 500px) {
    .guest-carousel h1 {
        margin-top: 12px;
    }
}
@media (max-width: 740px) {
    .guest-carousel {
        height: 291px;
        background-size: 291px 291px;
    }
    .guest-carousel-background-gradient {
        height: 291px;
    }
    .guest-carousel-page-previous, .guest-carousel-page-next {
        width: 32px;
        height: 291px;
    }
    .guest-carousel-page-previous-arrow-slice-1 {
        transform: translateY(-17px) rotate(-45deg);
    }
    .guest-carousel-page-next-arrow-slice-1 {
        transform: translateY(-17px) rotate(45deg);
    }
    .guest-carousel-matte {
        height: 179px;
    }
    .guest-carousel-item {
        width: 110px;
        height: 172px;
        padding-left: 3px;
        padding-right: 7px;
    }
    .guest-carousel-item .guest-frame {
        height: 110px;
        width: 110px;
    }
    .guest-carousel-item .guest-frame img {
        height: 110px;
        width: 110px;
    }
    .guest-carousel-item .guest-frame img.guest-frame-image {
        mask-size: 110px 110px;
        -webkit-mask-size: 110px 110px;
    }
    .guest-carousel-item .guest-name {
        top: 113px;
        font-size: 14px;
        width: 110px;
        height: 40px;
    }
}
@media (max-width: 428px) {
}

.guests-index-heading a {
    color: inherit;
    text-decoration: none;
}
.guests-index-heading-right {
    text-align: right;
}
.guest-type-container {
    display: flex;
    gap: 16px;
    margin-top: 20px;
    margin-bottom: 20px;
}
.guest-type-image, .guest-type-description {
    display: inline-block;
    vertical-align: top;
}
.guest-type-image {
    order: 1;
    width: 300px;
    height: auto;
    max-width: 100%;
}
.guest-type-image img {
    width: 300px;
    height: auto;
    max-width: 100%;
}
.guest-type-description {
    order: 2;
    width: calc(100% - 320px);
}
.guest-type-page-link {
    font-size: 20px;
}
.guest-type-page-link-right {
    text-align: right;
}
.guest-type-container-right .guest-type-description{
    order: 0;
}
@media (max-width: 550px) {
    .guests-index-heading-right {
        text-align: left;
    }
    .guest-type-container, .guest-type-image, .guest-type-description, .guest-type-image img {
        display: block;
    }
    .guest-type-description {
        width: 100%;
        margin-top: 16px;
    }
    .guest-type-page-link-right {
        text-align: left;
    }
}
.guest-highlights {
    text-align: center;
    margin-top: 20px;
}
.guest-highlight {
    display: inline-block;
    width: auto;
    height: 200px;
    margin-right: 16px;
    margin-bottom: 16px;
}
@media (max-width: 674px) {
    .guest-highlight {
        height: 160px;
        margin-right: 14px;
        margin-bottom: 14px;
    }
}
@media (max-width: 428px) {
    .guest-highlight {
        height: 120px;
        margin-right: 12px;
        margin-bottom: 12px;
    }
}

.guests-summary {
    width: 100%;
    text-align: center;
    margin-top: 32px;
}
.guests-summary-item {
    position: relative;
    display: inline-block;
    width: 140px;
    height: 208px;
    padding-left: 4px;
    padding-right: 11px;
    padding-bottom: 15px;
}
.guests-summary-item .guest-frame,
.guests-summary-item .guest-frame img,
.guests-summary-item .guest-card,
.guests-summary-item .guest-name {
    position: absolute;
    top: 0;
    left: 0;
    width: 140px;
}
.guests-summary-item .guest-frame {
    width: 140px;
    height: 140px;
    position: relative;
}
.guests-summary-item .guest-frame img {
    position: absolute;
    height: 140px;
    width: 140px;
}
.guests-summary-item .guest-frame img.guest-frame-image {
    mask-image: url(../images/guest-frame-mask.png);
    -webkit-mask-image: url(../images/guest-frame-mask.png);
    mask-size: 140px 140px;
    -webkit-mask-size: 140px 140px;
}
.guests-summary-item .guest-frame img.guest-frame-border-dark,
.guests-summary-item .guest-frame img.guest-frame-border-light {
    z-index: 1;
}
.guests-summary-item .guest-frame img.guest-frame-border-light {
    display: none;
}
.guests-summary-item .guest-frame img.guest-frame-image-dark {
    display: none;
}
.guests-summary-item .guest-card {
    height: 62px;
    top: 140px;
}
.guests-summary-item .guest-name {
    top: 143px;
    text-align: center;
    font-family: Orbitron, sans-serif;
    font-size: 18px;
    padding: 4px;
    width: 140px;
    height: 54px;
    display: flex;
    justify-content: center;
}
.guests-summary-item .guest-name a {
    color: inherit;
}

.guests-bios {
    width: 100%;
    background-image: url(../images/background-accent.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.guests-bios-item {
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: solid 1px #000000;
}
.guests-bios-item:last-child {
    border-bottom: 0;
}
.guests-bios-item .guest-name {
    font-size: 26px;
    margin-top: 0;
}
.guests-bios-item .guest-tagline {
    font-size: 18px;
    font-weight: normal;
    margin-top: 0;
}
.guests-bios-item .guest-column-photo {
    display: inline-block;
    width: 200px;
    margin-top: 20px;
    margin-right: 20px;
}
.guests-bios-item .guest-column-photo img {
    width: 200px;
}
.guests-bios-item .guest-column-photo-caption {
    font-size: 14px;
    font-style: italic;
}
.guests-bios-item .guest-column-bio {
    display: inline-block;
    width: calc(100% - 228px);
    margin-top: 8px;
    vertical-align: top;
}
.guests-bios-item .guest-bio-image-dark {
    display: none;
}
.guest-social-media-links {
    padding-inline-start: 0;
}
.guest-social-media-link {
    display: inline-block;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-right: 8px;
    mask-size: 32px 32px;
    -webkit-mask-size: 32px 32px;
    background-color: #e9b43b;
}
.guest-social-media-link:hover {
    background-color: #434343;
}
.guest-social-media-link-box {
    width: 32px;
    height: 32px;
}
.guest-social-media-link-facebook {
    mask-image: url(../images/social_media/medium-facebook.png);
    -webkit-mask-image: url(../images/social_media/medium-facebook.png);
}
.guest-social-media-link-instagram {
    mask-image: url(../images/social_media/medium-instagram.png);
    -webkit-mask-image: url(../images/social_media/medium-instagram.png);
}
.guest-social-media-link-discord {
    mask-image: url(https://www.kumoricon.org/images/social_media/medium-discord.png/);
    -webkit-mask-image: url(https://www.kumoricon.org/images/social_media/medium-discord.png/);
}
.guest-social-media-link-tiktok {
    mask-image: url(../images/social_media/medium-tiktok.png);
    -webkit-mask-image: url(../images/social_media/medium-tiktok.png);
}
.guest-social-media-link-twitter {
    mask-image: url(../images/social_media/medium-twitter.png);
    -webkit-mask-image: url(../images/social_media/medium-twitter.png);
}
.guest-social-media-link-twitch {
    mask-image: url(../images/social_media/medium-twitch.png);
    -webkit-mask-image: url(../images/social_media/medium-twitch.png);
}
.guest-social-media-link-youtube {
    mask-image: url(../images/social_media/medium-youtube.png);
    -webkit-mask-image: url(../images/social_media/medium-youtube.png);
}
.guest-social-media-link-spotify {
    mask-image: url(../images/social_media/medium-spotify.png);
    -webkit-mask-image: url(../images/social_media/medium-spotify.png);
}
.guest-social-media-link-www {
    mask-image: url(../images/social_media/medium-www.png);
    -webkit-mask-image: url(../images/social_media/medium-www.png);
}
@media (min-resolution: 144dpi) {
    .guest-social-media-link-facebook {
        mask-image: url(../images/social_media/medium-facebook%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-facebook%402x.png);
    }
    .guest-social-media-link-instagram {
        mask-image: url(../images/social_media/medium-instagram%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-instagram%402x.png);
    }
    .guest-social-media-link-discord {
        mask-image: url(https://www.kumoricon.org/images/social_media/medium-discord@2x.png/);
        -webkit-mask-image: url(https://www.kumoricon.org/images/social_media/medium-discord@2x.png/);
    }
    .guest-social-media-link-tiktok {
        mask-image: url(../images/social_media/medium-tiktok%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-tiktok%402x.png);
    }
    .guest-social-media-link-twitter {
        mask-image: url(../images/social_media/medium-twitter%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-twitter%402x.png);
    }
    .guest-social-media-link-twitch {
        mask-image: url(../images/social_media/medium-twitch%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-twitch%402x.png);
    }
    .guest-social-media-link-youtube {
        mask-image: url(../images/social_media/medium-youtube%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-youtube%402x.png);
    }
    .guest-social-media-link-spotify {
        mask-image: url(../images/social_media/medium-spotify%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-spotify%402x.png);
    }
    .guest-social-media-link-www {
        mask-image: url(../images/social_media/medium-www%402x.png);
        -webkit-mask-image: url(../images/social_media/medium-www%402x.png);
    }
}
@media (min-resolution: 240dpi) {
    .guest-social-media-link-facebook {
        mask-image: url(../images/social_media/medium-facebook%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-facebook%403x.png);
    }
    .guest-social-media-link-instagram {
        mask-image: url(../images/social_media/medium-instagram%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-instagram%403x.png);
    }
    .guest-social-media-link-discord {
        mask-image: url(https://www.kumoricon.org/images/social_media/medium-discord@3x.png/);
        -webkit-mask-image: url(https://www.kumoricon.org/images/social_media/medium-discord@3x.png/);
    }
    .guest-social-media-link-tiktok {
        mask-image: url(../images/social_media/medium-tiktok%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-tiktok%403x.png);
    }
    .guest-social-media-link-twitter {
        mask-image: url(../images/social_media/medium-twitter%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-twitter%403x.png);
    }
    .guest-social-media-link-twitch {
        mask-image: url(../images/social_media/medium-twitch%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-twitch%403x.png);
    }
    .guest-social-media-link-youtube {
        mask-image: url(../images/social_media/medium-youtube%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-youtube%403x.png);
    }
    .guest-social-media-link-spotify {
        mask-image: url(../images/social_media/medium-spotify%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-spotify%403x.png);
    }
    .guest-social-media-link-www {
        mask-image: url(../images/social_media/medium-www%403x.png);
        -webkit-mask-image: url(../images/social_media/medium-www%403x.png);
    }
}
@media (max-width: 620px) {
    .guests-bios-item .guest-column-photo, .guests-bios-item .guest-column-bio {
        display: block;
    }
    .guests-bios-item .guest-column-photo {
        float: left;
        margin-bottom: 10px;
    }
    .guests-bios-item .guest-column-bio {
        width: 100%;
        margin-top: 16px;
    }
}
@media (max-width: 400px) {
    .guests-bios-item .guest-name, .guests-bios-item .guest-tagline {
        text-align: center;
    }
    .guests-bios-item .guest-column-photo {
        float: none;
        width: 100%;
        text-align: center;
    }
    .guest-social-media-links {
        text-align: center;
    }
}

.event-preview-area {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
    padding-inline-start: 0;
    margin: 0;
    padding: 0;
}
.event-preview-box {
    position: relative;
    width: calc(25% - 40px);
    padding: 12px;
    margin-top: 16px;
    margin-right: 16px;
    background-color: #ffffff;
    color: #434343;
}
.event-preview-box-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}
h2.event-preview-title, h3.event-preview-title {
    font-family: Orbitron, sans-serif;
    font-weight: 700;
    text-align: center;
    font-size: 20px;
    height: 60px;
    margin-top: 0;
    color: #434343 !important; /* important is to override dark mode */
}
.event-preview-open {
    color: green;
}
.event-preview-closed {
    color: red;
}
.event-preview-link-container {
    height: 20px;
}
.event-preview-link {
    position: absolute;
    width: calc(100% - 24px);
    height: 20px;
    background-color: #e9b43b;
    text-align: center;
    padding-top: 4px;
    padding-bottom: 4px;
}
.event-preview-link:link, .event-preview-link:visited, .event-preview-link:active, .event-preview-link:hover {
    color: #000000 !important;
    text-decoration: none !important;
}
.event-preview-link:hover {
    background-color: #f6ce56 !important;
}
@media (max-width: 1200px) {
    .event-preview-box {
        width: calc(33.3% - 40px);
    }
}
@media (max-width: 820px) {
    .event-preview-box {
        width: calc(50% - 40px);
    }
}
@media (max-width: 540px) {
    .event-preview-box {
        width: calc(100% - 32px);
        margin-right: 0;
    }
}

.kc-file-upload-status-wrap {
    position: relative;
    width: 150px;
    margin-top: 4px;
}
.kc-file-upload-status-progress {
    width: 100%;
    height: 18px;
    border: 1px solid #000000;
}
.kc-file-upload-status-text {
    position: absolute;
    width: 100%;
    text-align: center;
    font-size: 12px;
}
.kc-file-upload-status-bg {
    position: absolute;
    margin: 1px;
    height: 16px;
}
.kc-file-upload-status-bg-orange {
    background-color: #ffb080;
}
.kc-file-upload-status-bg-green {
    background-color: #60b060;
}

.staff-login-box.ios input, .staff-login-box.ios textarea, .staff-login-box.ios select {
    font-size: 16px;
}
.staff-login-box.ios input[type="button"] {
    font-size: 11px;
}
.staff-login-box .staff-login-row-label {
    font-weight: bold;
    font-size: 14px;
}
.staff-login-box .staff-login-row {
    font-size: 12px;
    padding: 0;
    margin: 0;
}
.staff-login-box .staff-login-row input[type="text"], .staff-login-box .staff-login-row input[type="password"] {
    width: 250px;
}
.staff-login-box .staff-login-row input[type="button"] {
    margin-top: 2px;
    border: 0;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    background-color: #503864;
    color: #ffffff;
    cursor: pointer;
}
.staff-login-box .staff-login-row input[type="button"].button-link-disabled {
    cursor: default;
}
.staff-login-box .staff-login-row input[type="button"]:hover {
    background-color: #a6443e;
}
.staff-login-box .staff-login-help {
    font-size: 12px;
    margin-top: 0;
    width: 250px;
}

a.button-link {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
}
a.button-link:hover {
    text-decoration: none;
}
a.button-link.button-link-disabled {
    cursor: default;
}
a.button-link-yellow-on-purple {
    background-color: #e9b43b;
    color: #4f3864;
}
a.button-link-yellow-on-purple:hover {
    background-color: #ffffff;
    color: #4f3864;
}
a.button-link-purple-on-white {
    background-color: #503864;
    color: #ffffff;
}
a.button-link-purple-on-white:hover {
    background-color: #a6443e;
}
a.button-link-purple-on-yellow {
    background-color: #4f3864;
    color: #e9b43b;
}
a.button-link-purple-on-yellow:hover {
    background-color: #a6443e;
    color: #e9b43b;
}
a.button-link-purple-on-red-with-yellow {
    background-color: #4f3864;
    color: #e9b43b;
}
a.button-link-purple-on-red-with-yellow:hover {
    background-color: #e9b43b;
    color: #4f3864;
}

.contact td:nth-child(1) {
    font-weight: bold;
    padding-right: 20px;
}
.contact td:nth-child(2) {
    text-align: right;
}

.history-table-outer {
    overflow-x: auto;
    min-width: 100%;
}
.history-table {
    border-collapse: collapse;
    margin: 0 auto;
}
.history-table td, .history-table th {
    padding: 2px 8px 2px 8px;
    border: 1px solid #000000;
    white-space: nowrap;
}
.history-table td {
    text-align: left;
}
.history-table th {
    text-align: center;
    font-weight: bold;
    background-color: #e9b43b;
}
.history-table tr:nth-child(even) {
    background-color: #ffffff;
}
.history-table tr:nth-child(odd) {
    background-color: #efefef;
}
.history-table-mini td:nth-child(1) {
    text-align: right;
}
.history-table-attendance-header {
    padding-bottom: 4px;
}
.history-table-attendance, .history-table-attendance-online {
    border: 0;
    padding: 4px 20px 4px 4px;
    position: relative;
    display: inline-block;
}
.history-table-attendance {
    cursor: cell;
}
.history-table-attendance-fullwidth {
    width: calc(100% - 20px);
}
.history-table-attendance:hover {
    border: 1px solid #000000;
    padding: 3px 19px 3px 3px;
}
.history-table-attendance-number, .history-table-attendance-number-online {
    display: inline-block;
}
.history-table-attendance-handle,
.history-table-attendance-handle-invertible {
    display: inline-block;
    width: 16px;
    height: 16px;
    position: absolute;
    right: 4px;
    background-image: url(../images/dropdown-arrow.png);
    background-size: 16px 16px;
    cursor: pointer;
}
.history-table-attendance:hover .history-table-attendance-handle {
    right: 3px;
}
.history-table-attendance-type-selection {
    text-align: center;
}
.history-dropdown-mask {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: auto;
    overflow: auto;
    z-index: 1000;
}
.history-dropdown {
    position: absolute;
    z-index: 1001;
    border: 1px solid #000000;
    background-color: #e9b43b;
    padding: 4px;
}
.history-dropdown-choice {
    cursor: pointer;
    margin: 4px;
}

.meetings-outer, .meeting-recordings-outer {
    overflow-x: auto;
    min-width: 100%;
    margin-top: 12px;
}
.meetings, .meeting-recordings {
    border-collapse: collapse;
}
.meetings td, .meetings th,
.meeting-recordings td, .meeting-recordings th {
    padding: 2px 8px 2px 8px;
    border: 1px solid #000000;
    white-space: nowrap;
}
.meetings td, .meeting-recordings td {
    text-align: left;
}
.meetings th, .meeting-recordings th {
    text-align: center;
    font-weight: bold;
    background-color: #e9b43b;
}
.meetings tr:nth-child(even), .meeting-recordings tr:nth-child(even) {
    background-color: #ffffff;
}
.meetings tr:nth-child(odd), .meeting-recordings tr:nth-child(odd) {
    background-color: #efefef;
}
.meeting-recordings td:nth-child(3) {
    text-align: right;
}
.meeting-recordings td:nth-child(5) {
    max-width: 600px;
    white-space: normal;
}
.meeting-recordings .download-icon-block {
    display: inline-block;
    margin: 0 4px 0 4px;
    min-width: 35px;
}
.meeting-recordings .download-icon-part {
    text-align: center;
    font-size: 10px;
    font-weight: bold;
}

.amv-prizes-outer {
    overflow-x: auto;
    min-width: 100%;
    margin-top: 12px;
}
.amv-prizes {
    border-collapse: collapse;
}
.amv-prizes td, .amv-prizes th {
    padding: 2px 8px 2px 8px;
    border: 1px solid #000000;
    white-space: nowrap;
}
.amv-prizes td {
    text-align: left;
}
.amv-prizes th {
    text-align: center;
    font-weight: bold;
    background-color: #e9b43b;
}
.amv-prizes tr:nth-child(even) {
    background-color: #ffffff;
}
.amv-prizes tr:nth-child(odd) {
    background-color: #efefef;
}

.headers-to-tabs .header-tabs {
    display: inline-flex;
    gap: 4px;
    border-bottom: 1px solid #000000;
}
.headers-to-tabs .header-tab {
    padding: 8px 16px 8px 16px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    font-weight: bold;
    background-color: #7c7bba;
    cursor: pointer;
    color: #ffffff;
}
.headers-to-tabs .header-tab.tab-selected {
    background-color: #39296c;
}
.headers-to-tabs .header-tab.tab-not-selected:hover {
    background-color: #c6c0df;
}

.crossfade-container {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}
.crossfade-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.staff-registration-about-table {
    margin-top: 12px;
    border-collapse: collapse;
}
.staff-registration-about-table th,
.staff-registration-about-table td {
    border: 1px black solid;
    vertical-align: top;
    padding: 0 8px 0 8px;
    width: 50%;
    min-width: 150px;
}
.staff-registration-about-narrow {
    display: none;
}
@media (max-width: 600px) {
    .staff-registration-about-narrow {
        display: block;
    }
    .staff-registration-about-wide {
        display: none;
    }
}

.adjudication-policy-table-outer {
    overflow-x: auto;
    min-width: 100%;
}
.adjudication-policy-table {
    margin-top: 12px;
    border-collapse: collapse;
}
.adjudication-policy-table th,
.adjudication-policy-table td {
    border: 1px black solid;
    vertical-align: top;
    padding: 0 8px 0 8px;
    width: 33.3%;
    min-width: 150px;
}
.adjudication-policy-table h6 {
    margin-top: 4px;
    margin-bottom: 8px;
}
.adjudication-policy-mobile {
    display: none;
}
@media (max-width: 550px) {
    .adjudication-policy-mobile {
        display: block;
    }
}

.elections-process-filter {
    font-family: Verdana, Helvetica, Arial, sans-serif;
    font-size: 12px;
}
.elections-process-filter input {
    margin-right: 4px;
}
.elections-process-format-table-outer {
    overflow-x: auto;
    margin-top: 24px;
}
.elections-process-format-table {
    font-size: smaller;
    border-collapse: collapse;
}
.elections-process-format-table td, .elections-process-format-table th {
    text-align: center;
    vertical-align: top;
    margin: 0;
    padding: 8px;
    border: 1px solid black;
}
.elections-process-format-table td:nth-child(1) {
    text-align: left;
}
.elections-process-column-filter-highlight-active {
    background-color: #e0e0e0;
}
.elections-process-checkmark {
    color: #00b000;
    font-weight: bold;
}
.elections-process-checkmark::after {
    content: "\2714";
}
.elections-process-xmark {
}
.elections-process-xmark::after {
    content: "\274C";
}
.elections-process-format-table .elections-process-checkmark,
.elections-process-format-table .elections-process-xmark {
    font-size: 140%;
}

.hotel-listing {
    padding-bottom: 20px;
    text-align: center;
}
.hotel-listing p {
    line-height: 20px;
    margin: 0;
    padding: 0;
}
.hotel-listing-title {
    font-size: 18px;
    font-weight: bold;
}
.hotel-listing-price-amount {
    font-size: 18px;
    padding-right: 12px;
    font-style: normal;
}
.hotel-listing-price {
    font-size: 12px;
    font-style: italic;
}
.hotel-listing-address {
    font-size: 12px;
}
.hotel-reservation-start {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}
.hotel-table {
    margin-top: 16px;
    margin-left: auto;
    margin-right: auto;
}
.hotel-table td, .hotel-table th {
    padding-left: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-right: 8px;
    vertical-align: top;
    text-align: left;
    border: 1px solid #000000;
}
.hotel-title,
.hotel-table .hotel-title {
    font-weight: bold;
}
.hotel-table .hotel-contact {
    font-size: smaller;
}
.hotel-table td:nth-child(2),
.hotel-table th:nth-child(2),
.hotel-table td:nth-child(3),
.hotel-table th:nth-child(3)
{
    text-align: right;
}
.hotel-table .lodging-hotel {
    font-size: smaller;
}
.hotel-table .event-hotel {
    font-weight: bold;
    font-size: larger;
}
.exhibits-list {
    margin-top: 18px;
}
.exhibits-list th {
    text-align: left;
}
.exhibits-list td {
    vertical-align: top;
}
.exhibits-list td:nth-child(1), .exhibits-list th:nth-child(1) {
    padding-right: 16px;
}
.exhibits-list td:nth-child(1) {
    text-align: right;
}

.checkmark {
    width: 32px;
    height: auto;
    opacity: 0.25;
    vertical-align: middle;
}
.checkmark-small {
    width: 16px;
    height: auto;
    vertical-align: middle;
}
.with-checkmark .checkmark-small {
    margin-left: -20px;
}

/* https://stackoverflow.com/a/18754435 */
ul.convention-checklist {
    padding-left: 30px;
    text-indent: -12px;
    list-style: none;
    list-style-position: outside;
}
.convention-checklist li {
    margin-bottom: 12px;
}
.convention-checklist li:before {
    content: '\02713';
    margin-left: -1em;
    margin-right: 1em;
}

.staff-application-survey-results {
    height: 500px;
    overflow-y: scroll;
    padding: 8px;
    background-color: #faf3d2;
    color: #000000;
}
.staff-application-survey-results a:link, .staff-application-survey-results a:visited, .staff-application-survey-results a:active {
    color: #b96e4a !important; /* important is to override dark mode */
}
.staff-application-survey-results a:hover {
    color: #eaa44d !important; /* important is to override dark mode */
}
.staff-application-survey-result {
    margin-bottom: 12px;
    background-color: #faebaa;
}

.landscape-warning-schedule-hours {
    display: none;
}
.schedule-hours-outer {
    overflow-x: auto;
}
.schedule-hours {
    margin-top: 12px;
    font-size: 90%;
    font-family: "Arial","Helvetica","Verdana",sans-serif;
    color: #000000 !important; /* important is to override dark mode */
    border-collapse: collapse;
}
.schedule-hours td, .schedule-hours th {
    border: 1px solid #000000;
    vertical-align: top;
    padding: 2px;
    text-align: center;
}
.schedule-hours td {
    /* background: #e0e8f6; */
    background: #f2f2f2;
}
.schedule-hours tr, .schedule-hours td:nth-child(1) {
    /* background: #a6c2ee; */
    background: #d9d9d9;
}
.schedule-hours td.schedule-hours-category,
.schedule-hours tr.schedule-headers th {
    /* background: #c3d3ed; */
    background: #c6c0df;
}
.schedule-hours td:nth-child(1), .schedule-hours td:last-child {
    text-align: left;
}
.schedule-hours-category {
    font-weight: bold;
    text-align: center !important;
    font-size: 120%;
}

.schedule-category {
    margin-top: 18px;
    color: #d04000;
    font-style: normal;
}
.schedule-category a {
    color: #d04000;
}
.schedule-title {
    font-size: 12px;
    margin-top: 18px;
    font-style: normal;
    font-weight: bold;
}
.schedule-presenters {
    margin-top: 2px;
    margin-bottom: 6px;
    font-style: italic;
    color: purple;
}
.schedule-presenter, .schedule-presenter-type {
    font-weight: bold;
}
.schedule-instance {
    color: #0000d0;
    margin-top: 2px;
    margin-bottom: 6px;
}
.schedule-flags {
    margin-top: 6px;
    margin-bottom: 6px;
}
.schedule-flags, .schedule-alert {
    font-weight: bold;
    color: #b00000;
}
.schedule-description p {
    margin-top: 6px;
}
.schedule-links {
    margin-top: -8px;
}

.schedule-control-panel {
    color: #000000 !important; /* important is to override dark mode */
}
.schedule-control-panel label {
    margin-right: 8px;
}
.schedule-control-panel input {
    margin-right: 4px;
}
.schedule-control-panel-box {
    padding-left: 12px;
    padding-right: 12px;
    border: 1px solid #000000;
    /* background-color: #a6c2ee; */
    background-color: #d9d9d9;
}
.schedule-control-panel-floating {
    position: fixed;
    top: 4px;
    right: 4px;
}

body.dark-mode.force-dark-mode {
    color: #ffffff;
    background-color: #434343;
}
.dark-mode.force-dark-mode .section-body {
    background-color: #434343;
}
.dark-mode.force-dark-mode a:hover {
    color: #ffffff;
}
.dark-mode.force-darkmode h1, .dark-mode.force-darkmode h2, .dark-mode.force-dark-mode h3, .dark-mode.force-dark-mode h4, .dark-mode.force-dark-mode h5, .dark-mode.force-dark-mode h6 {
    color: #ffffff;
}
.dark-mode.force-dark-mode .text-alert {
    color: #ff8080;
}
.dark-mode.force-darkmode .section-front-background-content {
    background-image: url(../images/front-kimono-dark.png);
}
.dark-mode.force-darkmode .section-front-background-content-gradient {
    background: linear-gradient(225deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0) 100%);
}
.dark-mode.force-darkmode .section-front-promotional-box,
.dark-mode.force-darkmode .guest-promotional-box {
    border: 4px #ffffff solid;
    background-color: #4f3864;
}
.dark-mode.force-darkmode .section-front-news, .dark-mode.force-darkmode .section-front-news h1 {
    color: #434343;
}
.dark-mode.force-darkmode .footer h2 {
    color: #e9b43b;
}
.dark-mode.force-darkmode .footer a:hover {
    color: #e9b43b;
}
.dark-mode.force-darkmode a.button-link-yellow-on-purple:hover {
    color: #4f3864;
}
.dark-mode.force-darkmode a.button-link-dark-mode-yellow-on-purple {
    background-color: #e9b43b;
    color: #4f3864;
}
.dark-mode.force-darkmode a.button-link-dark-mode-yellow-on-purple:hover {
    background-color: #ffffff;
}
.dark-mode.force-darkmode a.button-link-dark-mode-yellow-on-darkgray {
    background-color: #e9b43b;
    color: #000000;
}
.dark-mode.force-darkmode a.button-link-dark-mode-yellow-on-darkgray:hover {
    background-color: #ffffff;
}
.dark-mode.force-darkmode a.button-link-purple-on-red-with-yellow:hover {
    color: #4f3864;
}
.dark-mode.force-darkmode .staff-login-box .staff-login-row input[type="button"] {
    background-color: #e9b43b;
    color: #000000;
}
.dark-mode.force-darkmode .staff-login-box .staff-login-row input[type="button"]:hover {
    background-color: #ffffff;
}
.force-dark-mode .guest-carousel-background-gradient {
    background: rgb(0, 0, 0, 0.7);
}
.force-dark-mode .guest-carousel-page-previous:hover .guest-carousel-page-previous-arrow-slice-1,
.force-dark-mode .guest-carousel-page-previous:hover .guest-carousel-page-previous-arrow-slice-2,
.force-dark-mode .guest-carousel-page-next:hover .guest-carousel-page-next-arrow-slice-1,
.force-dark-mode .guest-carousel-page-next:hover .guest-carousel-page-next-arrow-slice-2 {
    background-color: #ffffff;
}
.force-dark-mode .guest-carousel-page-indicator:hover {
    background-color: #ffffff;
}
.force-dark-mode .guest-carousel-page-indicator-active {
    background-color: #a6443e;
}
.force-dark-mode .guest-carousel-item .guest-frame img.guest-frame-border-dark {
    display: none;
}
.force-dark-mode .guest-carousel-item .guest-frame img.guest-frame-border-light {
    display: block;
}
.force-dark-mode .guest-carousel-item .guest-frame img.guest-frame-image-light {
    display: none;
}
.force-dark-mode .guest-carousel-item .guest-frame img.guest-frame-image-dark {
    display: block;
}
.force-dark-mode .guest-carousel-item .guest-name a {
    color: #ffffff;
}
.force-dark-mode .guests-summary-item .guest-frame img.guest-frame-border-dark {
    display: none;
}
.force-dark-mode .guests-summary-item .guest-frame img.guest-frame-border-light {
    display: block;
}
.force-dark-mode .guests-summary-item .guest-frame img.guest-frame-image-light {
    display: none;
}
.force-dark-mode .guests-summary-item .guest-frame img.guest-frame-image-dark {
    display: block;
}
.force-dark-mode .guests-summary-item .guest-name a {
    color: #ffffff;
}
.force-dark-mode .guests-bios-item {
    border-bottom: solid 1px #ffffff;
}
.force-dark-mode .guests-bios {
    background-image: none;
}
.force-dark-mode .guests-bios-item .guest-bio-image-light {
    display: none;
}
.force-dark-mode .guests-bios-item .guest-bio-image-dark {
    display: block;
}
.force-dark-mode .guest-social-media-link:hover {
    background-color: #ffffff;
}
.dark-mode.force-dark-mode .history-table th {
    color: #434343;
}
.dark-mode.force-dark-mode .history-table tr:nth-child(even) {
    background-color: #434343;
}
.dark-mode.force-dark-mode .history-table tr:nth-child(odd) {
    background-color: #000000;
}
.dark-mode.force-dark-mode .history-table-attendance:hover {
    border: 1px solid #ffffff;
}
.dark-mode.force-dark-mode .history-table-attendance-handle-invertible {
    background-image: url(../images/dropdown-arrow-invert.png);
}
.dark-mode.force-dark-mode .history-dropdown {
    color: #434343;
}
.dark-mode.force-dark-mode .meetings th, .dark-mode.force-dark-mode .meeting-recordings th {
    color: #000000;
}
.dark-mode.force-dark-mode .meetings tr:nth-child(even), .dark-mode.force-dark-mode .meeting-recordings tr:nth-child(even) {
    background-color: #434343;
}
.dark-mode.force-dark-mode .meetings tr:nth-child(odd), .dark-mode.force-dark-mode .meeting-recordings tr:nth-child(odd) {
    background-color: #000000;
}
.dark-mode.force-dark-mode .amv-prizes th {
    color: #000000;
}
.dark-mode.force-dark-mode .amv-prizes tr:nth-child(even) {
    background-color: #434343;
}
.dark-mode.force-dark-mode .amv-prizes tr:nth-child(odd) {
    background-color: #000000;
}
.dark-mode.force-dark-mode .headers-to-tabs .header-tab.tab-selected {
    background-color: #56428c;
}
.dark-mode.force-dark-mode .schedule-instance {
    color: #d0d0ff;
}
.dark-mode.force-dark-mode .elections-process-column-filter-highlight-active {
    background-color: #2b1f51;
}
.dark-mode.force-dark-mode .elections-process-format-table td, .dark-mode.force-dark-mode .elections-process-format-table th {
    border: 1px solid white;
}
.image-dark-mode {
    display: none;
}
.dark-mode.force-dark-mode .image-dark-mode {
    display: block;
}
.dark-mode.force-dark-mode .image-light-mode {
    display: none;
}

@media (prefers-color-scheme: dark) {
    body.dark-mode {
        color: #ffffff;
        background-color: #434343;
    }
    .dark-mode .section-body {
        background-color: #434343;
    }
    .dark-mode a:hover {
        color: #ffffff;
    }
    .dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, .dark-mode h6 {
        color: #ffffff;
    }
    .dark-mode .text-alert {
        color: #ff8080;
    }
    .dark-mode .section-front-background-content {
        background-image: url(../images/front-kimono-dark.png);
    }
    .dark-mode .section-front-background-content-gradient {
        background: linear-gradient(225deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0) 100%);
    }
    .dark-mode .section-front-promotional-box,
    .dark-mode .guest-promotional-box {
        border: 4px #ffffff solid;
        background-color: #4f3864;
    }
    .dark-mode .section-front-news, .dark-mode .section-front-news h1 {
        color: #434343;
    }
    .dark-mode .footer h2 {
        color: #e9b43b;
    }
    .dark-mode .footer a:hover {
        color: #e9b43b;
    }
    .dark-mode a.button-link-yellow-on-purple:hover {
        color: #4f3864;
    }
    .dark-mode a.button-link-dark-mode-yellow-on-purple {
        background-color: #e9b43b;
        color: #4f3864;
    }
    .dark-mode a.button-link-dark-mode-yellow-on-purple:hover {
        background-color: #ffffff;
    }
    .dark-mode a.button-link-dark-mode-yellow-on-darkgray {
        background-color: #e9b43b;
        color: #000000;
    }
    .dark-mode a.button-link-dark-mode-yellow-on-darkgray:hover {
        background-color: #ffffff;
    }
    .dark-mode a.button-link-purple-on-red-with-yellow:hover {
        color: #4f3864;
    }
    .dark-mode .staff-login-box .staff-login-row input[type="button"] {
        background-color: #e9b43b;
        color: #000000;
    }
    .dark-mode .staff-login-box .staff-login-row input[type="button"]:hover {
        background-color: #ffffff;
    }
    .guest-carousel-background-gradient {
        background: rgb(0, 0, 0, 0.7);
    }
    .guest-carousel-page-previous:hover .guest-carousel-page-previous-arrow-slice-1,
    .guest-carousel-page-previous:hover .guest-carousel-page-previous-arrow-slice-2,
    .guest-carousel-page-next:hover .guest-carousel-page-next-arrow-slice-1,
    .guest-carousel-page-next:hover .guest-carousel-page-next-arrow-slice-2 {
        background-color: #ffffff;
    }
    .guest-carousel-page-indicator:hover {
        background-color: #ffffff;
    }
    .guest-carousel-page-indicator-active {
        background-color: #a6443e;
    }
    .guest-carousel-item .guest-frame img.guest-frame-border-dark {
        display: none;
    }
    .guest-carousel-item .guest-frame img.guest-frame-border-light {
        display: block;
    }
    .guest-carousel-item .guest-frame img.guest-frame-image-light {
        display: none;
    }
    .guest-carousel-item .guest-frame img.guest-frame-image-dark {
        display: block;
    }
    .guest-carousel-item .guest-name a {
        color: #ffffff;
    }
    .guests-summary-item .guest-frame img.guest-frame-border-dark {
        display: none;
    }
    .guests-summary-item .guest-frame img.guest-frame-border-light {
        display: block;
    }
    .guests-summary-item .guest-frame img.guest-frame-image-light {
        display: none;
    }
    .guests-summary-item .guest-frame img.guest-frame-image-dark {
        display: block;
    }
    .guests-summary-item .guest-name a {
        color: #ffffff;
    }
    .guests-bios-item {
        border-bottom: solid 1px #ffffff;
    }
    .guests-bios {
        background-image: none;
    }
    .guests-bios-item .guest-bio-image-light {
        display: none;
    }
    .guests-bios-item .guest-bio-image-dark {
        display: block;
    }
    .guest-social-media-link:hover {
        background-color: #ffffff;
    }
    .dark-mode .history-table th {
        color: #434343;
    }
    .dark-mode .history-table tr:nth-child(even) {
        background-color: #434343;
    }
    .dark-mode .history-table tr:nth-child(odd) {
        background-color: #000000;
    }
    .dark-mode .history-table-attendance:hover {
        border: 1px solid #ffffff;
    }
    .dark-mode .history-table-attendance-handle-invertible {
        background-image: url(../images/dropdown-arrow-invert.png);
    }
    .dark-mode .history-dropdown {
        color: #434343;
    }
    .dark-mode .meetings th, .dark-mode .meeting-recordings th {
        color: #000000;
    }
    .dark-mode .meetings tr:nth-child(even), .dark-mode .meeting-recordings tr:nth-child(even) {
        background-color: #434343;
    }
    .dark-mode .meetings tr:nth-child(odd), .dark-mode .meeting-recordings tr:nth-child(odd) {
        background-color: #000000;
    }
    .dark-mode .amv-prizes th {
        color: #000000;
    }
    .dark-mode .amv-prizes tr:nth-child(even) {
        background-color: #434343;
    }
    .dark-mode .amv-prizes tr:nth-child(odd) {
        background-color: #000000;
    }
    .dark-mode .schedule-instance {
        color: #d0d0ff;
    }
    .dark-mode .headers-to-tabs .header-tab.tab-selected {
        background-color: #56428c;
    }
    .dark-mode .elections-process-column-filter-highlight-active {
        background-color: #2b1f51;
    }
    .dark-mode .elections-process-format-table td, .dark-mode .elections-process-format-table th {
        border: 1px solid white;
    }
    .dark-mode .image-dark-mode {
        display: block;
    }
    .dark-mode .image-light-mode {
        display: none;
    }
}

@media (min-resolution: 144dpi) {
    .guests-summary-item .guest-frame img.guest-frame-image,
    .guest-carousel-item .guest-frame img.guest-frame-image {
        mask-image: url(../images/guest-frame-mask%402x.png);
        -webkit-mask-image: url(../images/guest-frame-mask%402x.png);
    }
}
@media (min-resolution: 240dpi) {
    .guests-summary-item .guest-frame img.guest-frame-image,
    .guest-carousel-item .guest-frame img.guest-frame-image {
        mask-image: url(../images/guest-frame-mask%403x.png);
        -webkit-mask-image: url(../images/guest-frame-mask%403x.png);
    }
}

@media (max-width: 460px) {
    .landscape-warning-schedule-hours {
        display: block;
    }
}
@media (max-width: 420px) {
    .contact, .history, .meetings, .hotel-table, .registration-table {
        font-size: smaller;
    }
    .registration-table-large {
        display: none;
    }
    .registration-table-small {
        display: inline;
    }

    .registration-convention-dates {
        width: 220px;
        margin-left: 0;
        padding: 0 15px 15px 25px;
        font-size: 14px;
    }
    .registration-convention-dates td {
        padding-right: 8px;
    }
}

.kc-gallery-item {
    display: inline-block;
    position: relative;
    max-width: 100%;
}
.kc-gallery-category {
    width: 100%;
}
.kc-gallery-category-center {
    text-align: center;
}
.kc-gallery-item-image {
    position: relative;
    display: flex;
    max-width: 100%;
}
.kc-gallery-item-image-center {
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}
.kc-gallery-item-image img {
    max-width: 100%;
    /* max-height: 100%; */
}
.kc-gallery-item-header {
    position: absolute;
    width: 100%;
}
.kc-gallery-item-header-center {
    text-align: center;
}
.kc-gallery-item-footer {
    position: absolute;
    width: 100%;
}
.kc-gallery-item-footer-center {
    text-align: center;
}

.rank-board {
    color: #ffb000;
}
.rank-executive {
    color: #0000ff;
}
.rank-manager {
    color: #ff0000;
}
.rank-coordinator {
    color: #ffff00;
}
.rank-general {
    color: #00b000;
}
.rank-volunteer {
    color: #ff00ff;
}
.rank-board,
.rank-executive,
.rank-manager,
.rank-coordinator,
.rank-general,
.rank-volunteer {
    font-family: 'BankGothicBT-Medium';
    font-size: 14pt;
    font-style: italic;
    font-weight: bold;
    padding-right: 4px;
}
