@font-face {
    font-display: swap;
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 300;
    src: url("fonts/space-grotesk-v22-latin-300.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 400;
    src: url("fonts/space-grotesk-v22-latin-regular.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 600;
    src: url("fonts/space-grotesk-v22-latin-600.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 700;
    src: url("fonts/space-grotesk-v22-latin-700.woff2") format("woff2");
}

:root {
    color-scheme: light;
    --clr-grey: #f7f7f7;
    --clr-grey-dark: #707070;
    --clr-primary: #0078b0;
    --clr-primary-rgb: 0, 120, 176;
    --clr-secondary: #b2dbec;
    --clr-secondary-rgb: 178, 219, 236;
    --clr-tertiary: #d6dd2a;
    --black: var(--clr-primary);
    --white: #fff;
    --font-clr: var(--clr-primary);
    --grey: #e3e3e3;
    --light-grey: #9a9a9a;
    --border-color: rgba(45, 62, 80, 1);
    --font-primary: "Space Grotesk", system-ui, sans-serif;
    --transition-fast: all .2s ease-in-out;
    --anchor-scroll-offset: calc(74px + 1rem);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-padding-top: var(--anchor-scroll-offset);
}

body {
    background: #fff;
    color: var(--font-clr);
    font-family: var(--font-primary);
    line-height: 1.55;
    margin: 0;
    min-height: 100%;
}

body.is-menu-open {
    overflow: hidden;
}

body.is-modal-open {
    overflow: hidden;
}

img {
    max-width: 100%;
}

a {
    color: var(--font-clr);
    text-decoration: underline;
}

h1,
h2,
h3 {
    color: var(--clr-primary);
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 1rem;
}

h1 {
    font-size: clamp(2rem, 4vw, 4.25rem);
}

h2 {
    font-size: clamp(1.4rem, 2.3vw, 2.5rem);
}

h3 {
    font-size: clamp(1.15rem, 1.5vw, 1.6rem);
    font-weight: 400;
}

p {
    line-height: 1.85;
}

.cms-content > :first-child {
    margin-top: 0;
}

.cms-content > :last-child {
    margin-bottom: 0;
}

.cms-content ul,
.cms-content ol {
    padding-left: 1.35rem;
}

.container {
    margin: 0 auto;
    max-width: 1320px;
    padding: 0 1rem;
    width: 100%;
}

.container-fluid {
    padding: 0 1rem;
    width: 100%;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -.75rem;
    margin-right: -.75rem;
}

.row.g-0 {
    margin-left: 0;
    margin-right: 0;
}

.row.g-3 {
    row-gap: 1rem;
}

.row.g-4 {
    row-gap: 1.5rem;
}

.row > * {
    flex-shrink: 0;
    max-width: 100%;
    padding-left: .75rem;
    padding-right: .75rem;
    width: 100%;
}

.row.g-0 > * {
    padding-left: 0;
    padding-right: 0;
}

.col-12 {
    flex: 0 0 auto;
    width: 100%;
}

.col-8 {
    flex: 0 0 auto;
    width: 66.666667%;
}

.col-7 {
    flex: 0 0 auto;
    width: 58.333333%;
}

.col-5 {
    flex: 0 0 auto;
    width: 41.666667%;
}

.h4 {
    font-size: clamp(1.25rem, 1.6vw, 1.65rem);
}

.h5 {
    font-size: clamp(1.1rem, 1.25vw, 1.35rem);
}

.h6 {
    font-size: 1rem;
}

.h4,
.h5,
.h6 {
    color: var(--clr-primary);
    display: block;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 1rem;
}

.border {
    border: 1px solid var(--border-color);
}

.border-light {
    border-color: var(--border-color);
}

.h-100 {
    height: 100%;
}

.h-auto {
    height: auto;
}

.border-0 {
    border: 0 !important;
}

.position-fixed {
    position: fixed;
}

.end-0 {
    right: 0;
}

.p-3 {
    padding: 1rem;
}

.p-4 {
    padding: 1.5rem;
}

.py-3 {
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.py-4 {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
}

.d-flex {
    display: flex;
}

.d-grid {
    display: grid;
}

.d-block {
    display: block;
}

.overflow-hidden {
    overflow: hidden;
}

.object-fit-cover {
    object-fit: cover;
}

.flex-column {
    flex-direction: column;
}

.flex-grow-1 {
    flex-grow: 1;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-center {
    align-items: center;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-stretch {
    align-items: stretch;
}

.flex-wrap {
    flex-wrap: wrap;
}

.gap-2 {
    gap: .5rem;
}

.gap-3 {
    gap: 1rem;
}

.gap-4 {
    gap: 1.5rem;
}

.btn-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
}

.btn-group > .btn {
    border-radius: 0;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-between {
    justify-content: space-between;
}

.w-50 {
    width: 50%;
}

.w-100 {
    width: 100%;
}

.img-fluid {
    height: auto;
    max-width: 100%;
}

.mb-1 {
    margin-bottom: .25rem;
}

.mb-2 {
    margin-bottom: .5rem;
}

.mb-3 {
    margin-bottom: 1rem;
}

.mb-4 {
    margin-bottom: 1.5rem;
}

.mb-5 {
    margin-bottom: 3rem;
}

.mb-0 {
    margin-bottom: 0;
}

.my-3 {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.mt-auto {
    margin-top: auto;
}

.mt-2 {
    margin-top: .5rem;
}

.small {
    font-size: .875em;
}

.fs-7 {
    font-size: .875rem;
}

.text-decoration-none {
    text-decoration: none;
}

.list-unstyled {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.me-2 {
    margin-right: .5rem;
}

.ps-1 {
    padding-left: .25rem;
}

.my-4 {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

.fw-bolder {
    font-weight: 700;
}

.fw-semibold {
    font-weight: 600;
}

.fw-normal {
    font-weight: 400;
}

.text-muted {
    color: var(--clr-grey-dark);
}

.text-uppercase {
    text-transform: uppercase;
}

.fst-italic {
    font-style: italic;
}

.color-black {
    color: #000;
}

.border-bottom {
    border-bottom: 1px solid var(--border-color);
}

.bg-primary {
    background-color: var(--clr-primary) !important;
    color: var(--white);
}

.bg-primary :is(h1, h2, h3, h4, h5, p, label, a) {
    color: inherit;
}

.voting-box.bg-primary {
    background-color: var(--clr-primary) !important;
    color: var(--white);
}

.bg-secondary {
    background-color: var(--clr-secondary) !important;
}

.bg-success {
    background: #1f7a46;
    border-color: #1f7a46;
    color: var(--white);
}

.bg-warning {
    background: #f0d35d;
    border-color: #f0d35d;
    color: #2a2a2a;
}

.bg-danger {
    background: #a52828;
    border-color: #a52828;
    color: var(--white);
}

.text-dark {
    color: #2a2a2a;
}

.text-bg-success {
    background: #1f7a46;
    color: var(--white);
}

.text-bg-danger {
    background: #a52828;
    color: var(--white);
}

.bg-light {
    background: var(--light-grey);
}

.form-label {
    display: block;
}

.form-range {
    width: 100%;
}

.ratio {
    position: relative;
    width: 100%;
}

.ratio::before {
    content: "";
    display: block;
    padding-top: var(--bs-aspect-ratio);
}

.ratio > * {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.sticky-top {
    position: sticky;
}

body > header,
.site-header {
    --font-clr: var(--white);
    background-color: var(--clr-primary);
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    height: 74px;
    left: 0;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 2000;
}

.header {
    display: flex;
    gap: 3rem;
    height: 74px;
    justify-content: space-between;
}

.header .logo {
    background-color: var(--clr-primary);
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    height: 100px;
    padding: 15px;
    transition: height .3s ease, box-shadow .3s ease;
}

.header.scrolled .logo {
    box-shadow: none;
    height: 70px;
}

.header .navigation {
    display: flex;
    gap: 2rem;
    justify-content: flex-end;
}

.header .navigation__items {
    align-items: center;
    display: flex;
    gap: 2rem;
    justify-content: flex-end;
}

.nav-link {
    background: transparent;
    border: 0;
    color: var(--white);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    min-height: auto;
    padding: 0;
    position: relative;
    text-decoration: none;
    width: auto;
}

.nav-link::after {
    background-color: currentColor;
    bottom: -5px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s ease;
    width: 100%;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.is-current {
    color: var(--clr-secondary);
}

.nav-link:hover::after,
.nav-link:focus::after,
.nav-link.is-current::after {
    transform: scaleX(1);
}

.header .navigation > .btn {
    background: transparent;
    border-color: var(--white);
    color: var(--white);
    min-height: 2.75rem;
    padding: .75rem 1.25rem;
    white-space: nowrap;
}

.header .navigation > .btn:hover,
.header .navigation > .btn:focus {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    color: var(--clr-primary);
}

.header .dropdown {
    position: relative;
}

.header .dropdown .dropdown-toggle {
    align-items: center;
    display: inline-flex;
    gap: .25rem;
}

.header .dropdown .dropdown-toggle::after {
    background: none;
    bottom: auto;
    content: "\F282";
    font-family: "bootstrap-icons";
    height: auto;
    left: auto;
    line-height: inherit;
    margin-left: 0;
    position: static;
    transform: none;
    transition: var(--transition-fast);
    width: auto;
}

.header .dropdown:hover .dropdown-toggle::after,
.header .dropdown:focus-within .dropdown-toggle::after,
.header .dropdown.is-open .dropdown-toggle::after {
    transform: rotate(180deg);
}

.header .dropdown-menu {
    background: var(--white);
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 8px 16px rgba(0, 0, 0, .2);
    display: none;
    min-width: 14rem;
    padding: .75rem 0;
    position: absolute;
    right: 0;
    top: calc(100% + 1.25rem);
}

.header .dropdown:hover .dropdown-menu,
.header .dropdown:focus-within .dropdown-menu,
.header .dropdown.is-open .dropdown-menu {
    display: block;
}

.header .dropdown-menu a {
    display: block;
    padding: .45rem 1rem;
    text-decoration: none;
}

.dropdown-item {
    color: var(--clr-primary);
    width: 100%;
}

.dropdown-item.is-current {
    background: var(--clr-secondary);
    color: var(--clr-primary);
    font-weight: 600;
}

.header .nav__trigger {
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: .28rem;
    height: auto;
    justify-content: center;
    padding: 0;
    width: auto;
}

.header .nav__trigger i {
    color: var(--black);
    font-size: 2rem;
    line-height: 1;
}

.offcanvas {
    --offcanvas-padding-x: 1.5rem;
    --offcanvas-padding-y: 1.5rem;
    --offcanvas-width: min(600px, 90vw);
    background: var(--white);
    bottom: 0;
    box-shadow: -10px 0 30px rgba(0, 0, 0, .15);
    max-width: 600px;
    overflow-y: auto;
    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);
    position: fixed;
    right: 0;
    top: 0;
    width: var(--offcanvas-width);
    z-index: 3000;
}

.offcanvas-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.offcanvas-header .logo {
    width: 14rem;
}

.offcanvas-body,
.offcanvas-body .navigation {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.offcanvas-body a,
.offcanvas-body button {
    background: transparent;
    border: 0;
    color: var(--clr-primary);
    cursor: pointer;
    display: block;
    font: inherit;
    font-size: 1.25rem;
    font-weight: 600;
    padding: .25rem 0;
    text-align: left;
    text-decoration: none;
}

.offcanvas-body .nav__item--children {
    display: block;
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: .5rem;
    padding-left: 1rem;
}

.offcanvas-body a.is-current,
.offcanvas-body button.is-current {
    box-shadow: inset 4px 0 0 var(--clr-secondary);
    color: var(--clr-primary);
    font-weight: 700;
    padding-left: .75rem;
}

.offcanvas-body .nav__item--children.is-current {
    font-weight: 600;
}

.offcanvas-body .accordion-item {
    border: 0;
}

.offcanvas-body .accordion-button {
    font-size: 1rem;
    padding: .25rem 0;
}

.offcanvas-body .accordion-body {
    padding: .5rem 0 0;
}

.panel,
.card,
.alert {
    background: var(--white);
    border: 1px solid var(--border-color);
}

.panel.subheader {
    border: 0;
}

.cookie-consent__backdrop {
    background: rgba(0, 0, 0, .25);
    inset: 0;
    position: fixed;
    z-index: 1200;
}

.cookie-consent {
    background: var(--clr-primary);
    bottom: 0;
    color: var(--white);
    left: 0;
    padding: 1rem 0;
    position: fixed;
    right: 0;
    z-index: 1210;
}

.cookie-consent__title {
    color: inherit;
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 .75rem;
}

.cookie-consent__content {
    color: inherit;
    max-width: 76rem;
}

.cookie-consent__content p:last-child {
    margin-bottom: 0;
}

.CookieConsent__content p,
.CookieConsent__content p * {
    font-size: 1rem;
    line-height: 1.5;
    opacity: .75;
}

.cookie-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1rem;
}

.panel {
    padding: clamp(1.25rem, 3vw, 3rem);
}

.grid {
    display: grid;
    gap: 1.5rem;
}

.grid--cards {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.card-body {
    display: block;
    flex: 1;
}

.card-title {
    text-decoration: none;
}

.card__image {
    aspect-ratio: 16 / 10;
    background: var(--light-grey);
    object-fit: cover;
    width: 100%;
}

.card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: .75rem;
    padding: 1.25rem;
}

.submission-card__keyvisual {
    aspect-ratio: 8 / 5;
    background: var(--light-grey);
    display: block;
    overflow: hidden;
    width: 100%;
}

.submission-card__keyvisual img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.pageheader {
    background-color: var(--clr-primary);
    overflow-x: clip;
    --pageheader-signet-height: 7.5rem;
}

.pageheader__content {
    align-items: stretch;
    display: flex;
    min-height: clamp(200px, 30vh, 360px);
    padding:30px;
}

.pageheader__title {
    color: var(--white);
    line-height: 1;
    margin: 0;
}

.pageheader__signet-wrap {
    align-items: center;
    display: none;
    justify-content: flex-end;
    min-height: 120px;
    width: 100%;
}

.pageheader__signet {
    height: auto;
    max-height: var(--pageheader-signet-height);
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.award-submissions-overview {
    margin-top: 0;
}

.public-voting-overview-intro {
    margin-bottom: 1rem;
}

.submission-card {
    background: var(--white);
}

.button--small {
    min-height: 2.5rem;
    padding: .65rem 1rem;
}

.button--icon {
    align-items: center;
    aspect-ratio: 1;
    display: inline-flex;
    justify-content: center;
    min-width: 2.5rem;
    padding-left: .65rem;
    padding-right: .65rem;
}

.button--icon .bi {
    font-size: 1rem;
    line-height: 1;
}

.button--small.button--icon {
    min-height: 2rem;
    min-width: 2rem;
    padding: 0;
    width: 2rem;
}

.button--small.button--icon .bi {
    font-size: .875rem;
}

.button--full {
    width: 100%;
}

.swiper {
    position: relative;
}

.swiper-wrapper {
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    display: flex;
    gap: 1rem;
    overscroll-behavior-x: contain;
    overflow-x: auto;
    padding-bottom: .25rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x pan-y pinch-zoom;
}

.swiper-wrapper.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}

.swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
}

.roles-swiper .swiper-slide {
    flex-basis: 100%;
}

.images-swiper .swiper-slide {
    flex-basis: 100%;
}

.swiper-button-prev,
.swiper-button-next {
    align-items: center;
    background: linear-gradient(180deg, var(--white) 0%, var(--light-grey) 100%);
    border: 1px solid rgba(var(--clr-primary-rgb), .28);
    border-radius: 50%;
    box-shadow: 0 .35rem 1rem rgba(var(--clr-primary-rgb), .12);
    color: var(--clr-primary);
    cursor: pointer;
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    margin-top: 1rem;
    min-height: 3rem;
    padding: 0;
    position: relative;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
    width: 3rem;
}

.swiper-button-prev {
    margin-right: .4rem;
}

.swiper-button-prev::before,
.swiper-button-next::before {
    font-family: "bootstrap-icons";
    font-size: 1.15rem;
    line-height: 1;
}

.swiper-button-prev::before {
    content: "\F284";
}

.swiper-button-next::before {
    content: "\F285";
}

.swiper-button-prev:hover,
.swiper-button-next:hover,
.swiper-button-prev:focus,
.swiper-button-next:focus {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    box-shadow: 0 .55rem 1.35rem rgba(var(--clr-primary-rgb), .22);
    color: var(--white);
    transform: translateY(-1px);
}

.swiper-button-prev:focus-visible,
.swiper-button-next:focus-visible {
    outline: 3px solid rgba(var(--clr-secondary-rgb), .8);
    outline-offset: 3px;
}

.swiper-button-prev[disabled],
.swiper-button-next[disabled] {
    cursor: default;
    opacity: .35;
    transform: none;
}

.swiper-button-prev[disabled]:hover,
.swiper-button-next[disabled]:hover,
.swiper-button-prev[disabled]:focus,
.swiper-button-next[disabled]:focus {
    background: linear-gradient(180deg, var(--white) 0%, var(--light-grey) 100%);
    border-color: rgba(var(--clr-primary-rgb), .28);
    box-shadow: 0 .35rem 1rem rgba(var(--clr-primary-rgb), .12);
    color: var(--clr-primary);
}

.swiper-pagination {
    align-items: center;
    background: var(--white);
    border: 1px solid rgba(var(--clr-primary-rgb), .14);
    border-radius: 999px;
    box-shadow: 0 .25rem .85rem rgba(var(--clr-primary-rgb), .08);
    display: inline-flex;
    gap: .45rem;
    margin-left: .5rem;
    min-height: 2.5rem;
    padding: .45rem .65rem;
    vertical-align: bottom;
}

.swiper-pagination-bullet {
    background: rgba(var(--clr-primary-rgb), .18);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    display: block;
    height: .55rem;
    min-height: 0;
    padding: 0;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease, width .18s ease;
    width: .55rem;
}

.swiper-pagination-bullet:hover,
.swiper-pagination-bullet:focus {
    background: rgba(var(--clr-primary-rgb), .38);
    transform: scale(1.08);
}

.swiper-pagination-bullet:focus-visible {
    outline: 2px solid rgba(var(--clr-secondary-rgb), .85);
    outline-offset: 3px;
}

.swiper-pagination-bullet.is-active {
    background: var(--clr-primary);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
    cursor: default;
    transform: none;
    width: 1.6rem;
}

@media (min-width: 768px) {
    .images-swiper .swiper-slide {
        flex-basis: calc((100% - .5rem) / 1.5);
    }
}

@media (min-width: 992px) {
    .roles-swiper .swiper-slide {
        flex-basis: calc((100% - 1rem) / 2);
    }
}

@media (min-width: 1200px) {
    .roles-swiper .swiper-slide {
        flex-basis: calc((100% - 2rem) / 3);
    }
}

.roles-swiper--single .swiper-slide {
    flex-basis: 100%;
}

@media (min-width: 992px) {
    .roles-swiper--double .swiper-slide {
        flex-basis: calc((100% - 1rem) / 2);
    }
}

.step-navigation {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 2rem;
    padding-bottom: 0;
}

.step-navigation .swiper-wrapper {
    gap: 0;
}

.step-navigation .swiper-slide {
    flex: 0 0 auto;
    min-width: 10.5rem;
    padding: 0 1rem;
    position: relative;
    text-align: center;
}

.step-navigation .swiper-slide::after {
    background: var(--clr-primary);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    transition: opacity .3s ease;
}

.step-navigation .swiper-slide.current,
.step-navigation .swiper-slide.completed {
    font-weight: 600;
}

.step-navigation .swiper-slide.current::after,
.step-navigation .swiper-slide.completed::after,
.step-navigation .swiper-slide:hover::after,
.step-navigation .swiper-slide:focus-within::after {
    opacity: 1;
}

.step-navigation .step__area {
    color: #666;
    display: block;
    line-height: 1.2;
    padding: 1rem 0;
    text-decoration: none;
    transition: var(--transition-fast);
}

.step-navigation .step__area:hover,
.step-navigation .step__area:focus {
    color: var(--clr-primary);
}

.step-navigation .step__title {
    font-size: .9rem;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.awardsubmissionpage .step-navigation {
    margin-bottom: 0;
}

.submission-form-sections {
    gap: 0;
}

.submission-form-sections[data-stepper-ready] .submission-step {
    display: none;
}

.submission-form-sections[data-stepper-ready] .submission-step.is-active {
    display: block;
}

.submission-step {
    border-top: 1px solid var(--border-color);
    padding: clamp(2rem, 4vw, 3rem) 0;
}

.submission-step:first-of-type {
    border-top: 0;
}

.submission-step > h2:first-child {
    margin-top: 0;
}

.submission-step-controls {
    align-items: center;
    border-top: 1px solid var(--border-color);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-top: 1.5rem;
}

.submission-step-controls .button:only-child,
.submission-step-controls .button[hidden] + .button {
    margin-left: auto;
}

.link-list {
    margin: 0;
    padding-left: 1.2rem;
}

.link-list li {
    margin-bottom: .35rem;
}

.accordion-item {
    border-bottom: 1px solid var(--border-color);
}

.accordion-item summary {
    list-style: none;
}

.accordion-item summary::-webkit-details-marker {
    display: none;
}

.accordion-button {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--clr-primary);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 600;
    justify-content: space-between;
    min-height: 0;
    padding: 1.25rem 0;
    text-align: left;
    width: 100%;
}

.accordion-button::after {
    content: "\F282";
    font-family: "bootstrap-icons";
    font-size: 1rem;
    transition: transform .2s ease;
}

.accordion-item[open] .accordion-button::after,
.accordion-item.is-open .accordion-button::after,
.accordion-button[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

.accordion-body {
    padding: 0 0 1.5rem;
}

.davos-accordion {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.davos-accordion .accordion-item {
    background: var(--white);
    border: 0;
    border-radius: 6px;
    box-shadow: 0 .25rem .75rem rgba(var(--clr-primary-rgb), .08);
    padding: 1.25rem 1.5rem;
}

.davos-accordion .accordion-header {
    margin: 0;
}

.davos-accordion button.accordion-button,
.davos-accordion button.accordion-button:hover,
.davos-accordion button.accordion-button:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    transform: none;
}

.davos-accordion .accordion-body {
    padding: 1rem 0 0;
}

.submission-summary {
    border-top: 1px solid var(--border-color);
    margin-bottom: 2rem;
}

.submission-summary__empty {
    color: var(--clr-grey-dark);
    margin: 1rem 0 0;
}

.submission-summary__row {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(10rem, .35fr) minmax(0, 1fr);
    margin-bottom: 1rem;
}

.submission-summary__title {
    color: #000;
    display: block;
}

.submission-summary__value {
    display: block;
    overflow-wrap: anywhere;
}

.submission-summary__value ul {
    margin: 0;
    padding-left: 1.1rem;
}

.submission-summary__file {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
    max-width: 100%;
    vertical-align: top;
}

.submission-summary__thumb {
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
    height: 3rem;
    object-fit: cover;
    width: 4rem;
}

.images-swiper figure {
    margin: 0;
}

.images-swiper .image-lightbox-trigger {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    cursor: zoom-in;
    display: block;
    line-height: 0;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-align: left;
    transform: none;
    width: 100%;
}

.images-swiper .image-lightbox-trigger::after {
    align-items: center;
    background: rgba(var(--clr-primary-rgb), .88);
    bottom: .75rem;
    color: var(--white);
    content: "\F62C";
    display: inline-flex;
    font-family: "bootstrap-icons";
    font-size: 1rem;
    height: 2.25rem;
    justify-content: center;
    line-height: 1;
    opacity: .92;
    position: absolute;
    right: .75rem;
    transition: background-color .18s ease, opacity .18s ease, transform .18s ease;
    width: 2.25rem;
}

.images-swiper .image-lightbox-trigger:hover,
.images-swiper .image-lightbox-trigger:focus {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    color: inherit;
    transform: none;
}

.images-swiper .image-lightbox-trigger:hover::after,
.images-swiper .image-lightbox-trigger:focus::after {
    background: var(--clr-secondary);
    color: var(--clr-primary);
    opacity: 1;
    transform: translateY(-1px);
}

.images-swiper .image-lightbox-trigger:focus-visible {
    outline: 3px solid rgba(var(--clr-secondary-rgb), .85);
    outline-offset: 3px;
}

.images-swiper figure img {
    aspect-ratio: 3 / 2;
    background: var(--light-grey);
    display: block;
    object-fit: cover;
    width: 100%;
}

.badge {
    align-items: center;
    border: 1px solid var(--clr-primary);
    display: inline-flex;
    font-size: .85rem;
    font-weight: 600;
    line-height: 1;
    padding: .4rem .55rem;
    text-align: center;
    white-space: nowrap;
}

.jury-criterion {
    display: grid;
    gap: .5rem;
}

.jury-points-badge {
    background: var(--clr-primary);
    color: var(--white);
}

.jury-range-input {
    accent-color: var(--clr-primary);
    padding-left: 0;
    padding-right: 0;
}

.progress {
    background: var(--light-grey);
    border: 1px solid var(--border-color);
    min-height: 1.75rem;
    overflow: hidden;
}

.progress-bar {
    align-items: center;
    background: var(--clr-primary);
    color: var(--white);
    display: flex;
    font-size: .85rem;
    font-weight: 600;
    height: 100%;
    justify-content: center;
    min-height: 1.75rem;
    min-width: 2.5rem;
}

.muted {
    color: var(--clr-grey-dark);
}

.meta-grid {
    display: grid;
    gap: .5rem 1rem;
    grid-template-columns: minmax(10rem, .35fr) minmax(0, 1fr);
}

.meta-grid dt {
    color: var(--clr-grey-dark);
    font-weight: 700;
}

.meta-grid dd {
    margin: 0;
}

.two-column {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .36fr);
}

.stack {
    display: grid;
    gap: 1.5rem;
}

.auth-shell {
    display: grid;
    gap: 1.5rem;
}

.auth-intro {
    max-width: 58rem;
}

.auth-intro h1 {
    margin-bottom: .75rem;
}

.auth-grid {
    align-items: start;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, .42fr);
}

.auth-panel {
    min-height: 100%;
}

.auth-panel--secondary {
    background: var(--light-grey);
}

.login__screen {
    align-items: center;
    --sst-button-accent: var(--clr-primary);
    background-image: var(--bg-img, linear-gradient(var(--light-grey), var(--light-grey)));
    background-position: var(--bg-position, center);
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    min-height: calc(100vh - 106px);
    padding: 1rem;
    position: relative;
    width: 100vw;
}

.login__box {
    background: var(--white);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: clamp(1.5rem, 4vw, 2rem);
    width: min(100%, 500px);
}

.login__box--wide {
    width: min(100%, 58rem);
}

.login__box .h3 {
    font-size: clamp(1.35rem, 1.8vw, 1.75rem);
    font-weight: 600;
    margin-bottom: 0;
}

.login__box label {
    font-weight: 600;
}

.login__box input:not([type="submit"]) {
    border: 1px solid var(--border-color);
    color: var(--clr-primary);
    font-size: .875rem;
}

.login__box input::placeholder {
    color: var(--clr-grey-dark);
}

.login__box input:focus {
    border-color: var(--clr-primary);
    box-shadow: none;
    outline: 0;
}

.auth-form,
.l-sst-form__content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.auth-form .form-grid {
    gap: 1.25rem;
}

.auth-note {
    margin: 0;
}

.auth-field .fieldholder {
    position: relative;
}

.auth-field .fieldholder::before {
    color: var(--clr-primary);
    font-family: "bootstrap-icons";
    font-size: 1.125rem;
    left: 1.4rem;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.auth-field--email .fieldholder::before {
    content: "\F32F";
}

.auth-field--password .fieldholder::before {
    content: "\F47B";
}

.auth-field--email input,
.auth-field--password input {
    padding-left: 3.75rem;
}

.auth-field--password input {
    padding-right: 3.75rem;
}

.password-toggle {
    background: transparent;
    border: 0;
    color: var(--clr-primary);
    height: 2.25rem;
    min-height: 2.25rem;
    padding: 0;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.25rem;
}

.password-toggle:hover,
.password-toggle:focus {
    background: transparent;
    border-color: transparent;
    color: var(--clr-primary);
}

.page {
    padding-bottom: 4rem;
}

.cms-page-content,
.cookie-policy-controls {
    background: var(--white);
    border: 1px solid var(--border-color);
    padding: clamp(1.25rem, 3vw, 3rem);
}

.cookie-policy-controls {
    margin-top: 1.5rem;
}

.cookie-policy-controls__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1rem;
}

.cookie-consent-form {
    display: grid;
    gap: 1rem;
}

.cookie-policy-group {
    border-bottom: 1px solid var(--border-color);
    display: flex;
    gap: .75rem;
    padding-bottom: 1rem;
}

.cookie-policy-group input {
    margin-top: .35rem;
}

.cookie-policy-group__body {
    display: grid;
    gap: .35rem;
}

.form-status {
    color: #1f7a46;
    font-weight: 600;
    margin: .75rem 0 0;
}

.table-scroll {
    overflow-x: auto;
}

.cookie-policy-table {
    border-collapse: collapse;
    margin: 1rem 0 2rem;
    min-width: 42rem;
    width: 100%;
}

.cookie-policy-table th,
.cookie-policy-table td {
    border-bottom: 1px solid var(--border-color);
    padding: .75rem;
    text-align: left;
    vertical-align: top;
}

.cookie-policy-table thead {
    background: var(--light-grey);
}

.tab-pane {
    display: none;
}

.tab-pane.show.active {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.unfinishedsubmissions__area h2 {
    margin-bottom: 0;
}

.submission-resume-shell {
    background: var(--white);
    border: 0;
}

.resume-or-new {
    max-width: none;
}

.resume-or-new p {
    color: var(--clr-grey-dark);
}

.submission-resume-card {
    border: 1px solid var(--border-color);
    display: grid;
    gap: .75rem;
    margin-top: 1.5rem;
    padding: 1rem;
}

.submission-resume-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.75rem;
}

.submission-resume-actions .button {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
}

.message.info {
    border: 1px solid var(--border-color);
    color: var(--clr-grey-dark);
    margin: 0;
    padding: .9rem 1rem;
}

.modal {
    align-items: center;
    background: rgba(0, 0, 0, .45);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 4000;
}

.modal__dialog,
.modal-dialog {
    max-width: 34rem;
    width: 100%;
}

.modal-dialog-centered {
    align-items: center;
    display: flex;
    min-height: 100%;
}

.modal__dialog--scrollable,
.modal-dialog-scrollable {
    max-height: min(42rem, calc(100vh - 2rem));
}

.modal__content,
.modal-content {
    background: var(--white);
    border: 1px solid var(--border-color);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
    max-height: inherit;
    overflow: auto;
}

.modal__header,
.modal__footer,
.modal-header,
.modal-footer {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem 1.25rem;
}

.modal__header,
.modal-header {
    border-bottom: 1px solid var(--border-color);
}

.modal__header h2,
.modal-title {
    margin: 0;
}

.modal__body,
.modal-body {
    padding: 1.25rem;
}

.modal__footer,
.modal-footer {
    border-top: 1px solid var(--border-color);
    justify-content: flex-end;
}

.modal__close,
.btn-close {
    background: transparent;
    border: 1px solid var(--border-color);
    height: 2rem;
    min-height: 2rem;
    padding: 0;
    position: relative;
    width: 2rem;
}

.modal__close::before,
.modal__close::after,
.btn-close::before,
.btn-close::after {
    background: var(--clr-primary);
    content: "";
    height: 2px;
    left: .45rem;
    position: absolute;
    top: .9rem;
    width: 1rem;
}

.modal__close::before,
.btn-close::before {
    transform: rotate(45deg);
}

.modal__close::after,
.btn-close::after {
    transform: rotate(-45deg);
}

.lightbox {
    align-items: center;
    background: rgba(0, 0, 0, .9);
    display: grid;
    inset: 0;
    justify-items: center;
    padding: clamp(1rem, 4vw, 3rem);
    position: fixed;
    z-index: 5000;
}

.lightbox[hidden] {
    display: none;
}

.lightbox__stage {
    align-items: center;
    display: flex;
    justify-content: center;
    max-height: calc(100vh - 8rem);
    max-width: min(92vw, 84rem);
    width: 100%;
}

.lightbox__figure {
    margin: 0;
    max-height: inherit;
    max-width: 100%;
}

.lightbox__image {
    background: rgba(255, 255, 255, .08);
    display: block;
    max-height: calc(100vh - 10rem);
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.lightbox__caption,
.lightbox__counter {
    color: var(--white);
    font-size: .95rem;
    line-height: 1.4;
    text-align: center;
}

.lightbox__caption {
    margin-top: .8rem;
}

.lightbox__counter {
    bottom: 1.25rem;
    position: absolute;
}

.lightbox__button {
    align-items: center;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    box-shadow: 0 .65rem 1.6rem rgba(0, 0, 0, .24);
    color: var(--clr-primary);
    display: inline-flex;
    height: 3rem;
    justify-content: center;
    min-height: 3rem;
    padding: 0;
    position: absolute;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    width: 3rem;
}

.lightbox__button[hidden],
.lightbox__caption[hidden],
.lightbox__counter[hidden] {
    display: none;
}

.lightbox__button::before {
    font-family: "bootstrap-icons";
    font-size: 1.2rem;
    line-height: 1;
}

.lightbox__button:hover,
.lightbox__button:focus {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    color: var(--clr-primary);
    transform: translateY(-1px);
}

.lightbox__button:focus-visible {
    outline: 3px solid rgba(var(--clr-secondary-rgb), .85);
    outline-offset: 3px;
}

.lightbox__button--close {
    right: 1rem;
    top: 1rem;
}

.lightbox__button--close::before {
    content: "\F62A";
}

.lightbox__button--prev {
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.lightbox__button--prev::before {
    content: "\F284";
}

.lightbox__button--next {
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.lightbox__button--next::before {
    content: "\F285";
}

.lightbox__button--prev:hover,
.lightbox__button--prev:focus,
.lightbox__button--next:hover,
.lightbox__button--next:focus {
    transform: translateY(calc(-50% - 1px));
}

@media (max-width: 767.98px) {
    .lightbox {
        padding: 4.5rem 1rem 3.5rem;
    }

    .lightbox__stage,
    .lightbox__image {
        max-height: calc(100vh - 10rem);
    }

    .lightbox__button {
        height: 2.75rem;
        min-height: 2.75rem;
        width: 2.75rem;
    }

    .lightbox__button--prev {
        left: .75rem;
    }

    .lightbox__button--next {
        right: .75rem;
    }
}

.davos-criterion__title-row {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: flex-start;
}

.davos-criterion__title-row label,
.davos-criterion__title {
    margin: 0;
}

.davos-criterion__info {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--clr-primary);
    display: inline-flex;
    font-size: 1.35rem;
    justify-content: center;
    min-height: 2rem;
    padding: .125rem;
    width: 2rem;
}

.davos-criterion__info:hover,
.davos-criterion__info:focus {
    color: var(--clr-secondary);
}

.form-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field {
    display: grid;
    gap: .35rem;
}

.field--wide {
    grid-column: 1 / -1;
}

label {
    font-weight: 700;
}

input,
select,
textarea {
    border: 1px solid var(--border-color);
    border-radius: 0;
    color: var(--clr-primary);
    font: inherit;
    padding: .75rem .85rem;
    width: 100%;
}

textarea {
    min-height: 7rem;
}

.wysiwyg {
    border: 1px solid var(--border-color);
    display: grid;
}

.wysiwyg__toolbar {
    align-items: center;
    background: var(--light-grey);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .45rem;
}

.wysiwyg__button {
    align-items: center;
    background: var(--white);
    border: 1px solid var(--border-color);
    color: var(--clr-primary);
    display: inline-flex;
    font-size: 1rem;
    gap: .15rem;
    height: 2.25rem;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0;
    width: 2.25rem;
}

.wysiwyg__button:hover,
.wysiwyg__button:focus {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    color: var(--white);
}

.wysiwyg__editor {
    background: var(--white);
    color: var(--clr-primary);
    min-height: 12rem;
    outline: 0;
    padding: .85rem;
}

.wysiwyg__editor:focus {
    box-shadow: inset 0 0 0 2px var(--clr-primary);
}

.wysiwyg__editor > :first-child {
    margin-top: 0;
}

.wysiwyg__editor > :last-child {
    margin-bottom: 0;
}

.checkbox-list {
    display: grid;
    gap: .4rem;
}

.checkbox-list label {
    align-items: start;
    display: flex;
    font-weight: 400;
    gap: .45rem;
}

.consent-option__content {
    display: block;
}

.consent-option__content > :first-child,
.consent-copy > :first-child {
    margin-top: 0;
}

.consent-option__content > :last-child,
.consent-copy > :last-child {
    margin-bottom: 0;
}

.field-label {
    color: var(--clr-primary);
    display: block;
    font-weight: 700;
    margin-bottom: .5rem;
}

.option-set {
    gap: .65rem;
}

.consent-copy,
.step-description,
.optional-notice {
    color: var(--clr-grey-dark);
    margin-top: 0;
}

.step-hint-content {
    border-left: 3px solid var(--clr-secondary);
    color: var(--clr-primary);
    margin: 0 0 1.5rem;
    padding-left: 1rem;
}

.consent-link {
    margin: -.15rem 0 .65rem 1.45rem;
}

.field-description {
    color: var(--clr-grey-dark);
    display: block;
    font-size: .9rem;
    margin-top: .35rem;
}

.d-none,
[hidden] {
    display: none !important;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.image-plan-section {
    border: 1px solid var(--border-color);
    display: block;
    padding: 1.25rem;
    width: 100%;
}

.keyvisual-meta-section {
    background: var(--clr-grey);
    border: 1px solid var(--border-color);
    display: block;
    padding: 1.25rem;
    width: 100%;
}

.keyvisual-meta-section legend {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: .75rem;
}

.image-plan-section__actions {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: .5rem;
}

.image-plan-section__actions h5 {
    margin: 0;
}

.image-plan-section h6 {
    margin: .5rem 0 .25rem;
}

.image-plan-section--odd {
    background: rgba(214, 221, 42, .08);
}

.image-plan-section--even {
    background: var(--clr-grey);
}

.image-plan-add-controls {
    margin-bottom: 1.5rem;
}

.image-plan-add-controls .js-add-image-plan {
    min-width: 260px;
}

.private-person-consent-hint {
    color: var(--clr-primary);
    margin-bottom: -.25rem;
}

.checkbox-list input,
input[type="checkbox"],
input[type="radio"] {
    margin-top: .25rem;
    width: auto;
}

.button,
.btn,
button,
input[type="submit"] {
    align-items: center;
    background: var(--clr-primary);
    border: 2px solid var(--clr-primary);
    border-radius: 3px;
    box-shadow: 0 .25rem .75rem rgba(var(--clr-primary-rgb), .08);
    color: var(--white);
    cursor: pointer;
    display: inline-flex;
    gap: .45rem;
    font: inherit;
    font-weight: 600;
    justify-content: center;
    line-height: 1;
    min-height: 3rem;
    padding: .9rem 1.5rem;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
    width: auto;
}

.button:hover,
.btn:hover,
button:hover,
input[type="submit"]:hover {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    box-shadow: 0 .45rem 1rem rgba(var(--clr-primary-rgb), .14);
    color: var(--clr-primary);
    transform: translateY(-1px);
}

.button:focus-visible,
.btn:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible {
    outline: 3px solid rgba(var(--clr-secondary-rgb), .85);
    outline-offset: 3px;
}

.button:disabled,
.btn:disabled,
button:disabled,
input[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: .52;
    transform: none;
}

button.accordion-button,
button.accordion-button:hover,
button.accordion-button:focus {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--clr-primary);
    justify-content: space-between;
    line-height: 1.2;
    min-height: 0;
    padding: 1.25rem 0;
    text-align: left;
    transform: none;
    width: 100%;
}

.button--outline {
    background: transparent;
    box-shadow: none;
    color: var(--clr-primary);
}

.btn-primary {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    color: var(--white);
}

.bg-primary .btn-primary {
    border-color: var(--white);
    color: var(--white);
}

.bg-primary .btn-primary:hover,
.bg-primary .btn-primary:focus {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    color: var(--clr-primary);
}

.btn-secondary {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    color: var(--clr-primary);
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: var(--clr-tertiary);
    border-color: var(--clr-tertiary);
    color: var(--clr-primary);
}

.btn-sm {
    min-height: 2.5rem;
    padding: .65rem 1rem;
}

.btn-outline-primary {
    background: transparent;
    box-shadow: none;
    color: var(--clr-primary);
}

.btn-outline-primary.active,
.btn-outline-primary[aria-selected="true"],
.btn-outline-primary:hover,
.btn-outline-primary:focus,
button.btn-outline-primary:hover,
button.btn-outline-primary:focus {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    box-shadow: 0 .35rem .9rem rgba(var(--clr-primary-rgb), .16);
    color: var(--white);
}

.btn-outline-secondary {
    background: transparent;
    border-color: var(--clr-grey-dark);
    box-shadow: none;
    color: var(--clr-primary);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    color: var(--white);
}

.btn-danger {
    background: #a52828;
    border-color: #a52828;
    color: var(--white);
}

.button--light {
    background: var(--white);
    border-color: var(--white);
    color: var(--clr-primary);
}

.button--light-outline {
    border-color: rgba(255, 255, 255, .8);
    box-shadow: none;
    color: var(--white);
}

.button--light:hover,
.button--light:focus,
.button--light-outline:hover,
.button--light-outline:focus {
    background: var(--clr-secondary);
    border-color: var(--clr-secondary);
    color: var(--clr-primary);
}

.button--danger {
    background: transparent;
    border-color: #a52828;
    box-shadow: none;
    color: #a52828;
}

.button--danger:hover,
.button--danger:focus {
    background: #a52828;
    border-color: #a52828;
    color: var(--white);
}

.button-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.floating-save-button {
    bottom: 1.25rem;
    position: fixed;
    right: 1.25rem;
    z-index: 50;
}

.floating-save-button .button,
.floating-save-button .btn {
    gap: .5rem;
    min-height: 2.75rem;
    padding: .75rem 1rem;
}

.save-feedback-toast {
    bottom: 5rem;
    max-width: min(24rem, calc(100vw - 2rem));
}

.flash-toast-region {
    display: grid;
    gap: .75rem;
    max-width: min(24rem, calc(100vw - 2rem));
    position: fixed;
    right: 1rem;
    top: calc(74px + 1rem);
    z-index: 4100;
}

.toast {
    background: var(--clr-primary);
    border: 2px solid var(--clr-primary);
    color: var(--white);
    max-width: min(24rem, calc(100vw - 2rem));
}

.toast-body {
    padding: .85rem 1rem;
}

.save-feedback-toast .toast[data-state="error"] {
    background: #a52828;
    border-color: #a52828;
}

.flash-toast {
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .18);
    display: block;
}

.flash-toast > .d-flex {
    align-items: flex-start;
    display: flex;
    min-width: 0;
    width: 100%;
}

.flash-toast .toast-body {
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}

.flash-toast .btn-close {
    flex: 0 0 auto;
    margin-left: .25rem;
    margin-right: .75rem;
    margin-top: .55rem;
}

.flash-toast[hidden] {
    display: none;
}

.flash-toast[data-state="error"] {
    background: #a52828;
    border-color: #a52828;
}

.flash-toast .btn-close::before,
.flash-toast .btn-close::after {
    background: var(--white);
}

@media (max-width: 640px) {
    .floating-save-button,
    .save-feedback-toast {
        left: 1rem;
        right: 1rem;
    }

    .floating-save-button .button,
    .floating-save-button .btn {
        width: 100%;
    }

    .flash-toast-region {
        left: 1rem;
        right: 1rem;
        top: calc(74px + .75rem);
    }
}

.public-vote-form__consent {
    margin-bottom: .35rem;
}

.public-vote-form__privacy-link {
    margin: 0 0 1rem;
}

.draft-file-list {
    display: grid;
    gap: .5rem;
    margin-top: .65rem;
}

.draft-file-item {
    align-items: center;
    border: 1px solid var(--border-color);
    display: grid;
    gap: .65rem;
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
    min-height: 3.25rem;
    padding: .45rem;
}

.draft-file-item__thumb {
    align-items: center;
    aspect-ratio: 1;
    border: 1px solid var(--border-color);
    display: flex;
    font-size: .75rem;
    font-weight: 600;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

.draft-file-item__thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.draft-file-item__meta {
    min-width: 0;
    overflow-wrap: anywhere;
}

.draft-file-item__remove {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
    white-space: nowrap;
}

.admin-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.admin-toolbar + .admin-toolbar {
    margin-top: .75rem;
}

.admin-toolbar--navigation {
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(var(--clr-primary-rgb), .18);
    margin-bottom: 1.5rem;
    padding: 0 0 .75rem;
}

.admin-toolbar__link {
    min-height: 2.75rem;
    padding: .75rem 1rem;
}

.admin-toolbar__link.is-current,
.admin-toolbar__link[aria-current="page"] {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    box-shadow: inset 0 -4px 0 var(--clr-secondary);
    color: var(--white);
}

.admin-toolbar__link.is-current::before,
.admin-toolbar__link[aria-current="page"]::before {
    background: var(--clr-secondary);
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: .55rem;
    margin-right: .45rem;
    width: .55rem;
}

.admin-settings-tabs {
    margin-bottom: 1rem;
}

.admin-settings-tabs__nav {
    width: 100%;
}

.admin-settings-tabs__content {
    min-height: 20rem;
}

.admin-settings-actions {
    align-items: center;
    background: var(--white);
    border-top: 1px solid var(--border-color);
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    padding: 1rem 0;
    position: sticky;
    z-index: 20;
}

input[type="color"] {
    min-height: 3rem;
    padding: .25rem;
    width: 100%;
}

.admin-table {
    border-collapse: collapse;
    width: 100%;
}

.admin-table th,
.admin-table td {
    border-bottom: 1px solid var(--border-color);
    padding: .75rem;
    text-align: left;
    vertical-align: top;
}

.admin-table thead {
    background: var(--light-grey);
}

.admin-user-filters {
    margin-bottom: 1.5rem;
}

.admin-user-filters__actions {
    justify-content: end;
}

.admin-user-permissions,
.admin-user-actions,
.admin-check-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.admin-user-actions {
    align-items: center;
}

.admin-user-actions form {
    margin: 0;
}

.admin-check-list {
    align-items: stretch;
}

.admin-check-list__item {
    align-items: flex-start;
    border: 1px solid var(--border-color);
    display: flex;
    gap: .75rem;
    padding: .85rem;
    width: min(100%, 26rem);
}

.admin-check-list__item input {
    flex: 0 0 auto;
    margin-top: .2rem;
}

.admin-check-list__item span {
    display: grid;
    gap: .2rem;
}

.admin-check-list__item small {
    color: var(--clr-grey-dark);
}

.admin-user-status--active {
    background: var(--clr-secondary);
}

.admin-user-status--pending {
    background: var(--light-grey);
}

.admin-user-status--locked {
    background: var(--clr-primary);
    color: var(--white);
}

.admin-inline-form {
    align-items: flex-start;
    display: grid;
    gap: .5rem;
    max-width: 18rem;
}

.admin-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.admin-row-actions--nowrap {
    flex-wrap: nowrap;
}

.admin-points-input {
    max-width: 7rem;
}

.admin-data-list {
    display: grid;
    gap: .35rem .75rem;
    grid-template-columns: minmax(9rem, max-content) minmax(0, 1fr);
    margin: .5rem 0 0;
}

.admin-data-list .admin-data-list {
    border-left: 2px solid var(--border-color);
    margin-top: 0;
    padding-left: .75rem;
}

.admin-data-list dt {
    font-weight: 700;
    overflow-wrap: anywhere;
}

.admin-data-list dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-file-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
}

.admin-media-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.admin-media-item,
.admin-media-logo {
    border: 1px solid var(--border-color);
    display: grid;
    gap: .75rem;
    min-width: 0;
    padding: 1rem;
}

.admin-media-item h3,
.admin-media-footer-logos h3 {
    font-size: 1.15rem;
    margin-bottom: 0;
}

.admin-media-preview,
.admin-media-logo {
    min-width: 0;
}

.admin-media-preview {
    display: grid;
    gap: .5rem;
}

.admin-media-preview img,
.admin-media-logo img {
    background: var(--light-grey);
    border: 1px solid var(--border-color);
    display: block;
    max-height: 7rem;
    max-width: 100%;
    object-fit: contain;
}

.admin-media-preview a,
.admin-media-logo a {
    overflow-wrap: anywhere;
}

.admin-media-footer-logos {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.admin-media-logo-list {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.admin-media-logo input[type="number"] {
    max-width: 8rem;
}

.admin-social-channels {
    border-top: 1px solid var(--border-color);
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.admin-social-channels h3,
.admin-social-channel-stack h4 {
    margin-bottom: 0;
}

.admin-social-channel-list,
.admin-social-channel-stack {
    display: grid;
    gap: .75rem;
}

.admin-social-channel {
    border: 1px solid var(--border-color);
    display: grid;
    gap: .9rem;
    min-width: 0;
    padding: 1rem;
}

.admin-social-channel__head {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    min-width: 0;
}

.admin-social-channel__head strong {
    overflow-wrap: anywhere;
}

.admin-social-channel input[type="number"] {
    max-width: 8rem;
}

.checkbox-inline {
    align-items: center;
    display: inline-flex;
    gap: .45rem;
}

.criteria-admin-list {
    display: grid;
    gap: 1rem;
}

.admin-file-card,
.criteria-admin-item,
.davos-admin-item {
    border: 1px solid var(--border-color);
    padding: 1rem;
}

.admin-file-card h3,
.criteria-admin-item h2,
.criteria-admin-item h3,
.davos-admin-item h3 {
    font-size: 1.15rem;
}

.admin-file-list {
    display: grid;
    gap: .75rem;
    margin-bottom: 1rem;
}

.admin-file-meta {
    border-top: 1px solid var(--border-color);
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
}

.admin-file-meta h4 {
    font-size: 1rem;
    margin: 0;
}

.admin-file-meta .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.admin-file-item {
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    display: grid;
    gap: .75rem;
    grid-template-columns: 4.5rem minmax(0, 1fr) auto;
    min-height: 4.5rem;
    padding-bottom: .75rem;
}

.admin-file-item:last-child {
    border-bottom: 0;
}

.admin-file-item img {
    aspect-ratio: 1;
    border: 1px solid var(--border-color);
    display: block;
    height: 4.5rem;
    object-fit: cover;
    width: 4.5rem;
}

.admin-file-item:not(:has(img)) {
    grid-template-columns: minmax(0, 1fr) auto;
}

.admin-file-item__meta {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.admin-file-item__meta a,
.admin-file-item__meta span {
    overflow-wrap: anywhere;
}

.admin-file-remove {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
    white-space: nowrap;
}

.admin-actions {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.alert {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
}

.alert--success,
.alert-success {
    border-color: #b7dec9;
    color: #1f7a46;
}

.alert--error,
.alert-error {
    border-color: #e3b8b8;
    color: #a52828;
}

.alert--warning,
.alert-warning {
    border-color: #e6cf91;
    color: #8a5a0a;
}

.alert--info,
.alert-info {
    border-color: #b9d6e7;
    color: #265f7a;
}

.media-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.media-grid img {
    border: 1px solid var(--border-color);
    display: block;
    height: auto;
    width: 100%;
}

.footer-shapes {
    height: 500px;
    pointer-events: none;
    position: relative;
}

.footer-shapes__left {
    background-color: #0089c1;
    bottom: 0;
    clip-path: polygon(0 0, 100% 100%, 100% 100%, 0 100%);
    height: 600px;
    left: 0;
    overflow: hidden;
    position: absolute;
    width: 65%;
    z-index: 1;
}

.footer-shapes__left img {
    height: 100%;
    object-fit: cover;
    user-select: none;
    width: 100%;
}

.footer-shapes__right {
    background-color: rgba(var(--clr-primary-rgb), .6);
    bottom: 0;
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
    height: 500px;
    position: absolute;
    right: 0;
    width: 65%;
    z-index: 2;
}

body > footer {
    background-color: var(--clr-primary);
    margin-top: 0;
    padding-block: 4rem;
    position: relative;
}

body > footer .logo {
    user-select: none;
    width: 18rem;
}

.social__channels {
    display: flex;
    gap: 1.5rem;
}

.social__channel {
    --size: 3rem;
    align-items: center;
    border: 2px solid var(--white);
    border-radius: 50%;
    color: var(--white);
    display: flex;
    height: var(--size);
    justify-content: center;
    padding: .5rem;
    text-decoration: none;
    transition: var(--transition-fast);
    width: var(--size);
}

.social__channel i {
    color: inherit;
    font-size: calc(var(--size) / 2.5);
    line-height: 1;
}

.social__channel:hover,
.social__channel:focus {
    background-color: var(--white);
    color: var(--clr-primary);
}

body > footer .legal__menu {
    columns: 2;
    gap: .5rem 2rem;
}

body > footer .legal__menu a {
    color: var(--white);
    display: block;
    font-weight: 700;
    margin-bottom: .5rem;
    text-decoration: none;
}

body > footer .bg-white p {
    border-bottom: 1px solid var(--border-color);
    color: #000;
    font-weight: 700;
    margin: 0 0 1rem;
}

body > footer .col-lg-9 > div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: space-around;
}

.footer-logo {
    max-height: 60px;
    object-fit: contain;
    width: auto;
}

.print-document {
    background: #fff;
}

@media (max-width: 1199px) {
    .header .navigation__items {
        display: none;
    }

    .header .navigation > .btn {
        font-size: .938rem;
        min-height: 2.5rem;
        padding: .65rem 1rem;
    }

    .header .nav__trigger {
        display: flex;
    }
}

.bg-white {
    background: var(--white);
}

.border-radius-md {
    border-radius: 3.125rem;
}

.py-3 {
    padding-bottom: 1rem;
    padding-top: 1rem;
}

.py-4 {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
}

.py-5 {
    padding-bottom: 3rem;
    padding-top: 3rem;
}

.pb-5 {
    padding-bottom: 3rem;
}

.mt-3 {
    margin-top: 1rem;
}

.mt-4 {
    margin-top: 2rem;
}

.justify-content-center {
    justify-content: center;
}

.awardsubmissionpage {
    padding-bottom: 5rem;
}

.submission-result-box {
    margin-top: 2rem;
}

.thank-you-content {
    padding: 3rem 0;
    text-align: center;
}

.thank-you-content h2 {
    color: #2c3e50;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.thank-you-content p {
    color: #555;
    font-size: 1.1rem;
    line-height: 1.6;
}

.submission-result-actions {
    display: flex;
    justify-content: center;
    padding-bottom: 1rem;
}

.submission-closed {
    text-align: center;
}

.submission-closed h2 {
    margin-bottom: 1.25rem;
}

.submission-closed__content {
    color: #555;
    font-size: 1.1rem;
}

@media (min-width: 768px) {
    .offcanvas {
        --offcanvas-padding-x: 2rem;
        --offcanvas-padding-y: 2rem;
    }

    .pageheader__signet-wrap {
        display: flex;
    }

    .d-md-flex {
        display: flex !important;
    }

    .justify-content-md-end {
        justify-content: flex-end;
    }

    .text-md-end {
        text-align: right;
    }

    .mt-md-0 {
        margin-top: 0;
    }

    .order-md-1 {
        order: 1;
    }

    .order-md-2 {
        order: 2;
    }

    .login__screen {
        min-height: calc(100vh - 165px);
        padding: 4rem;
    }

    .py-md-4 {
        padding-bottom: 1.5rem;
        padding-top: 1.5rem;
    }

    .mt-md-5 {
        margin-top: 3rem;
    }

    .mb-md-4 {
        margin-bottom: 1.5rem;
    }

    .mb-md-5 {
        margin-bottom: 3rem;
    }

    .my-md-4 {
        margin-bottom: 1.5rem;
        margin-top: 1.5rem;
    }

    .px-md-4 {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .gap-md-4 {
        gap: 1.5rem;
    }

    .gap-md-5 {
        gap: 3rem;
    }

    .col-md-4 {
        flex: 0 0 auto;
        width: 33.333333%;
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-md-8 {
        flex: 0 0 auto;
        width: 66.666667%;
    }
}

@media (min-width: 992px) {
    .offcanvas {
        --offcanvas-padding-x: 3rem;
        --offcanvas-padding-y: 2rem;
    }

    .col-lg-4 {
        flex: 0 0 auto;
        width: 33.333333%;
    }

    .col-lg-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-lg-8 {
        flex: 0 0 auto;
        width: 66.666667%;
    }

    .col-lg-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .mb-lg-0 {
        margin-bottom: 0;
    }

    .pb-lg-6 {
        padding-bottom: 4rem;
    }
}

@media (min-width: 1200px) {
    .offcanvas {
        --offcanvas-padding-x: 4.5rem;
        --offcanvas-padding-y: 4rem;
    }

    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.333333%;
    }

    .offset-xl-1 {
        margin-left: 8.333333%;
    }

    .py-xl-5 {
        padding-bottom: 3rem;
        padding-top: 3rem;
    }

    .my-xl-5 {
        margin-bottom: 3rem;
        margin-top: 3rem;
    }

    .pb-xl-7 {
        padding-bottom: 5rem;
    }
}

@media (min-width: 1400px) {
    .col-xxl-4 {
        flex: 0 0 auto;
        width: 33.333333%;
    }

    .col-xxl-8 {
        flex: 0 0 auto;
        width: 66.666667%;
    }
}

@media (max-width: 820px) {
    .two-column,
    .auth-grid,
    .form-grid,
    .meta-grid,
    .admin-data-list {
        grid-template-columns: 1fr;
    }

    .footer-shapes {
        height: 350px;
    }

    .footer-shapes__left {
        height: 400px;
    }

    .footer-shapes__right {
        height: 350px;
    }

}

@media (min-width: 576px) {
    .d-sm-block {
        display: block !important;
    }

    .d-sm-none {
        display: none !important;
    }

    .flex-sm-row {
        flex-direction: row;
    }
}

@media print {
    body > header,
    .site-header,
    .footer-shapes,
    body > footer,
    .site-footer,
    .no-print {
        display: none !important;
    }

    body {
        background: #fff;
    }

    .panel,
    .card {
        border-color: #bbb;
        box-shadow: none;
    }
}
