* { box-sizing: border-box; }

html { font-size: 18px; font-family: Roboto, Helvetica Neue, 'Open Sans', sans-serif; }

html, body { min-height: 100vh; padding: 0; margin: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: column; flex-flow: column; background: #354c5e; }

ul, ol { margin-top: 0.5em; }

p { margin-top: 0.8em; margin-bottom: 0.5em; }

figure { padding: 0; margin: 0; }

a { text-decoration: none; }

.breadcrumbs { font-size: 72%; color: #c0c544; text-shadow: 1px 1px rgba(0, 0, 0, 0.485); }

.breadcrumbs a { text-decoration: none; color: #c0c544; text-transform: capitalize; }

.site-header { background: url(/assets/header-fs8.png) no-repeat; background-repeat: no-repeat; background-size: cover; background-position: center center; }

.page-title-wrapper { padding: 10px 20px 5px 20px; color: #eee; }

.page-title { margin-top: 8px; line-height: 80%; font-family: headerFont, "Lucida Sans", "Lucida Sans Regular", "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif; font-size: 220%; letter-spacing: 0.5px; text-shadow: 2px 2px 3px #0000008f; }

.site-nav { padding: 1px; border-bottom: 2px solid #9fa333; border-top: 2px solid #9fa333; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.75); z-index: 100; overflow: hidden; display: -ms-grid; display: grid; -ms-grid-columns: 1fr; grid-template-columns: 1fr; -ms-grid-row-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 auto; gap: 1px 4px; background-color: rgba(0, 0, 0, 0.2); }

@media (min-width: 695px) { .site-nav { -ms-grid-columns: (min-content)[2]; grid-template-columns: repeat(2, min-content); } }

@media (min-width: 1199.99px) { .site-nav { -ms-grid-columns: (min-content)[4]; grid-template-columns: repeat(4, min-content); } }

@media (min-width: 1799.99px) { .site-nav { -ms-grid-columns: (min-content)[7]; grid-template-columns: repeat(7, min-content); } }

.site-nav .link-wrapper { text-align: center; }

.site-nav .link-wrapper a { display: inline-block; font-family: navFont, 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; font-size: 120%; color: #cdd16b; text-decoration: none; border: 0.5px solid transparent; white-space: nowrap; padding: 8px 40px; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.75); }

.site-nav .link-active a { background-color: rgba(205, 209, 107, 0.2); border: 0.5px solid #cdd16b; }

.site-nav .link-wrapper a:hover { color: #e7e9b9; background-color: rgba(205, 209, 107, 0.2); border: 0.5px solid #cdd16b; }

.site-nav .link-wrapper a:active { color: #eeefcc; background-color: rgba(205, 209, 107, 0.3); border: 0.5px solid #eeefcc; }

.home-content { color: white; text-shadow: 1px 1px #000000; padding: 0 40px; padding-top: 15px; -webkit-box-flex: 1; -ms-flex: 1 1 100%; flex: 1 1 100%; }

@media (max-width: 600px) { .home-content { padding: 0 10px; padding-top: 15px; } }

.home-content .wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; max-width: 1400px; margin: 0 auto; }

.home-content a { color: #cdd16b; font-weight: 600; }

.home-content a:hover { color: #e7e9b9; }

.page-content { padding: 30px 40px; -webkit-box-flex: 1; -ms-flex: 1 1 100%; flex: 1 1 100%; }

@media (max-width: 600px) { .page-content { padding: 0; } }

.page-content a { color: #002dd9; font-weight: 500; }

.page-content a:hover { color: #4068ff; }

.page-content .wrapper { max-width: 1000px; margin: 0 auto; padding: 25px 40px; padding-bottom: 50px; border: 1px solid #000; box-shadow: 0 0 4px 4px rgba(67, 67, 67, 0.516); background-color: #eff2f5; }

@media (max-width: 600px) { .page-content .wrapper { padding: 15px 10px; padding-bottom: 40px; } }

.page-content li { line-height: 133%; }

.fullscreen-content { font-size: 16px; box-sizing: border-box; -webkit-box-flex: 1; -ms-flex: 1 1 100%; flex: 1 1 100%; -ms-flex-flow: column; flex-flow: column; }

.fullscreen-content .wrapper { -webkit-box-flex: 1; -ms-flex: 1 1 100%; flex: 1 1 100%; width: 100%; max-width: 1600px; margin: 0 auto; }

.qmark { vertical-align: middle; font-size: 180% !important; margin-right: 14px; }

.arrow { vertical-align: middle; }

.question-wrapper { display: -ms-grid; display: grid; -ms-grid-columns: (minmax(calc(min(100%, 500px)), 1fr))[auto-fill]; grid-template-columns: repeat(auto-fill, minmax(calc(min(100%, 500px)), 1fr)); -webkit-box-pack: stretch; -ms-flex-pack: stretch; justify-content: stretch; -ms-grid-row-align: flex-start; align-items: flex-start; gap: 10px; }

.question { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row; flex-flow: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 110%; margin: 2px 12px; }

.bottom-flourish { margin-top: 10px; width: 100%; overflow: hidden; -ms-flex-item-align: center; align-self: center; border-bottom: 3px double #cdd16b; }

.centered { clear: both; margin: 0 auto; display: inline-block; -ms-flex-item-align: center; align-self: center; justify-self: center; }

.todo { padding: 4px; display: none; }

.math-table { border-collapse: collapse; margin: 1em auto; background-color: #dde; }

.math-table td, .math-table th { vertical-align: middle; line-height: 20px; padding: 4px 8px; border: 1px solid #000; }

.math-table th { border-bottom: 2px solid #000; background-color: #1b6ea1; color: white; }

.math-table tr:nth-child(2n) td { background-color: #eef; }

.math-table td:first-child, .math-table th:first-child { text-align: left; }

.math-table th:nth-child(2), .math-table td:nth-child(2) { text-align: center; padding-right: 10px; }

.math-table tr:nth-last-child(1) td { border-top: 3px double black; }

.consumption-table { margin: 20px; padding: 12px; background-color: rgba(53, 76, 94, 0.2); }

.consumption-table td { vertical-align: middle; line-height: 20px; padding: 2px 8px; }

.consumption-table td:nth-child(1) { padding-right: 10px; text-align: right; width: 18em; }

.consumption-table td:nth-child(2) { padding-right: 10px; width: 6em; text-align: right; }

.consumption-table tr:nth-last-child(1) td { border-top: 3px double black; }

.case-table { border-collapse: collapse; width: 100%; max-width: 600px; margin: 0 auto; background-color: #dde; }

.case-table td, .case-table th { vertical-align: middle; line-height: 20px; padding: 2px 8px; border: 1px solid #000; }

.case-table th { border-bottom: 2px solid #000; background-color: #1b6ea1; color: white; }

.case-table td:first-child, .case-table th:first-child { text-align: left; background-color: #1b6ea1 !important; }

.case-table td:first-child { padding-left: 20px; color: white; width: 25%; }

.case-table td:nth-child(2) { width: 30%; }

.case-table td:nth-child(3) { width: 30%; }

.case-table td:not(:first-child) { text-align: center; }

.red-emphasis { color: red; }

.summary-line { font-weight: bold; font-style: italic; text-align: center; }

.company-table { padding: 8px; width: 100%; background-color: rgba(53, 76, 94, 0.2); }

.company-table td { vertical-align: middle; line-height: 20px; padding: 2px 8px; }

.company-table td:nth-child(1) { text-align: left; }

.company-table td:nth-child(2) { text-align: center; }

.removal-table { border-collapse: collapse; width: 100%; background-color: #dde; }

.removal-table td, .removal-table th { vertical-align: middle; line-height: 20px; padding: 2px 8px; border: 1px solid #000; }

.removal-table th { border-bottom: 2px solid #000; background-color: #1b6ea1; color: white; }

.removal-table tr:nth-child(2n) td { background-color: #eef; }

.removal-table td:first-child, .removal-table th:first-child { text-align: left; background-color: #1b6ea1 !important; }

.removal-table td:first-child { padding-left: 20px; color: white; }

.removal-table tr:last-child td:first-child { padding-left: 8px; }

.removal-table td:not(:first-child) { text-align: center; }

.inline-image { padding: 10px; padding-bottom: 4px; box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.5); border: 1px solid gray; background-color: white; margin-bottom: 10px; }

.float-right { float: right; clear: right; margin-left: 20px; margin-bottom: 10px; }

.float-left { float: left; clear: left; margin-right: 20px; margin-bottom: 10px; }

.float-center { margin: 20px auto; clear: both; }

figcaption { font-size: 75%; text-align: center; }

.asterix { font-size: 75%; padding: 4px; }

.flex-gallery { margin-top: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; }

.bigger { font-size: 120%; }

.spacer { width: 1px; height: 30px; }

.sponsored_by { font-size: 90%; }

.sponsors { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; gap: 12px; width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 1em; text-shadow: 1px 1px #000000; padding: 0 20px; max-width: 1440px; margin: 0 auto; }

.sponsors a { color: #cdd16b; font-weight: 600; }

.sponsors a:hover { color: #e7e9b9; }

.sponsors .sponsor { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 20px; -webkit-box-flex: 1; -ms-flex: 1 1 180px; flex: 1 1 180px; font-size: 125%; padding: 6px; border-radius: 12px; background-color: rgba(255, 255, 255, 0.2); }

@media (max-width: 900px) { .sponsors .sponsor { -webkit-box-flex: 1; -ms-flex: 1 1 40%; flex: 1 1 40%; } }

@media (max-width: 450px) { .sponsors .sponsor { -webkit-box-flex: 1; -ms-flex: 1 1 80%; flex: 1 1 80%; } }

.sponsors .sponsor:hover { background-color: rgba(231, 233, 185, 0.34); }

.sponsors .sponsor:active { outline: 1px solid #cdd16b; }

.sponsors img { width: 64px; height: 64px; background-color: white; padding: 5px; border-radius: 30%; }

@media (max-width: 450px) { .sponsors img { width: 48px; height: 48px; padding: 3px; } }

.registration-form { margin-top: 40px; background-color: white; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; max-width: 450px; margin: 40px auto 0 auto; padding: 0.5em 2em; box-sizing: border-box; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2); /* button defined in button.scss */ /* Group radio buttons and labels horizontally */ }

.registration-form label { width: 100%; text-align: left; margin-bottom: 0.25em; font-size: 1em; color: #05141e; font-family: 'Montserrat', 'Arial', sans-serif; font-weight: 600; letter-spacing: 0.01em; }

.registration-form input, .registration-form select { width: 100%; max-width: 100%; margin-bottom: 1em; font-size: 1em; box-sizing: border-box; background: #f1f8fd; border: 1px solid #228ccd; color: black; padding: 0.6em 0.8em; }

.registration-form .radio-group { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: 100%; margin-bottom: 1em; }

.registration-form .radio-option { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; gap: 0.3em; }

.registration-form .radio-option input[type='radio'] { width: 1em; height: 1em; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; vertical-align: middle; -ms-flex-item-align: center; align-self: center; }

.registration-form .radio-option label { font-family: inherit; font-weight: normal; letter-spacing: normal; padding-top: 0.1em; }

@media (max-width: 500px) { .registration-form { padding: 1em 0.25em; font-size: 0.98em; } }

.button { width: auto; -ms-flex-item-align: center; align-self: center; padding: 0.5em 2em; font-size: 1.1em; border-radius: 5px; border: none; background: #228ccd; color: #fff !important; font-weight: bold; box-shadow: 0 1px 4px rgba(27, 110, 161, 0.18); cursor: pointer; -webkit-transition: background 0.2s, box-shadow 0.2s, -webkit-transform 0.1s; transition: background 0.2s, box-shadow 0.2s, -webkit-transform 0.1s; transition: background 0.2s, box-shadow 0.2s, transform 0.1s; transition: background 0.2s, box-shadow 0.2s, transform 0.1s, -webkit-transform 0.1s; }

.button:hover, .button:focus { background: #1b6ea1; box-shadow: 0 2px 8px rgba(27, 110, 161, 0.25); outline: none; }

.button:active { background: #175f8b; box-shadow: 0 1px 2px rgba(27, 110, 161, 0.15); -webkit-transform: scale(0.98); transform: scale(0.98); }

.button:disabled, .button[aria-disabled='true'] { background: #58aee3; color: #ccc; cursor: not-allowed; box-shadow: none; }

.basicLightbox { position: fixed; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.8); opacity: .01; -webkit-transition: opacity .4s ease; transition: opacity .4s ease; z-index: 1000; will-change: opacity; }

.basicLightbox--visible { opacity: 1; }

.basicLightbox__placeholder { max-width: 100%; -webkit-transform: scale(0.9); transform: scale(0.9); -webkit-transition: -webkit-transform .4s ease; transition: -webkit-transform .4s ease; transition: transform .4s ease; transition: transform .4s ease, -webkit-transform .4s ease; z-index: 1; will-change: transform; }

.basicLightbox__placeholder > iframe:first-child:last-child, .basicLightbox__placeholder > img:first-child:last-child, .basicLightbox__placeholder > video:first-child:last-child { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; max-width: 95%; max-height: 95%; }

.basicLightbox__placeholder > iframe:first-child:last-child, .basicLightbox__placeholder > video:first-child:last-child { pointer-events: auto; }

.basicLightbox__placeholder > img:first-child:last-child, .basicLightbox__placeholder > video:first-child:last-child { width: auto; height: auto; }

.basicLightbox--iframe .basicLightbox__placeholder, .basicLightbox--img .basicLightbox__placeholder, .basicLightbox--video .basicLightbox__placeholder { width: 100%; height: 100%; pointer-events: none; }

.basicLightbox--visible .basicLightbox__placeholder { -webkit-transform: scale(1); transform: scale(1); }