:root {
    --header-height: 82px;
    --page-margins: 3rem;
    --page-max-width: 90%;
    --upper-top-navigation: 47px;
}

@media only screen and (max-width: 800px) {
    :root {
        --page-margins: 1.5rem;
    }
}

* {
    -webkit-font-smoothing: antialiased;
}

body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100dvh;
    background-color: var(--wp--preset--color--dark-grey);
}

body.no-scroll, html.no-scroll {
    overflow: hidden;
    height: 100%;
}

a {
    text-decoration: none;
}

strong, b {
    font-weight: 700;
}

header {
    color: #ffffff;
    text-transform: uppercase;
    font-family: var(--wp--preset--font-family--roboto-condensed);
    position: fixed;
    z-index: 100;
    width: 100%;
}

header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    width: var(--wp--custom--cabb-block-content-wide-size);
    max-width: 100%;
}

header .right-side-wrapper {
    display: flex;
    column-gap: .75rem;
    align-items: center;
}
@media (min-width: 1024px) {
    header .right-side-wrapper {
        column-gap: 20px;
    }
}

header .burger-wrap {
    display: flex;
    column-gap: 20px;
}

header .menu-item a {
    transition-property: color;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    text-decoration: none;
    color: #ffffff;
}

header .menu-item:not(.btn) a:hover,
header .menu-item.current-menu-item:not(.btn) a {
    color: var(--wp--preset--color--deep-dark-grey);
}

header>.upper .menu-item:not(.btn) a:hover,
header>.upper .menu-item.current-menu-item:not(.btn) a {
    color: var(--wp--preset--color--orange);
}

header>.upper {
    background-color: var(--wp--preset--color--deep-dark-grey);
    font-size: 12px;
    margin-top: 0;
    margin-bottom: 0;
}

header>.upper .upper-top-navigation {
    padding-top: .6rem;
    padding-bottom: .6rem;
    justify-content: flex-end;
    flex-direction: row;
    gap: 1rem;
}

header>.top {
    background-color: var(--wp--preset--color--orange);
    min-height: var(--header-height);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

header .logo {
    width: 80px;
    height: 50px;
}

header .logo svg {
    width: 100%;
    height: 100%;
}

header .top-navigation {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}
@media (min-width: 1024px) {
    header .top-navigation {
        gap: 1.5rem;
    }
}

header .hamburger {
    display: none;
}

#header-search-content {
    opacity: 0;
    height: 0;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    padding-top: 0;
    padding-bottom: 0;
}

#header-search-content.active {
    opacity: 1;
    padding-top: 5rem;
    padding-bottom: 2.5rem;
    height: auto;
    background: rgb(23 23 23);
    position: fixed;
    top: 0;
    left: 0;
    width: 100dvw;
    height: 100vh !important;
    z-index: 99;
    overflow-x: hidden;
    overflow-y: scroll;
    padding-top: 6rem;
}

#header-search-content:not(.active) * {
    height:0;
}

@media (min-width: 801px) {
    #header-search-content.active {
        padding-top: 9rem;
    }
}

header .btn,
header .btn:hover {
    background-color: var(--wp--preset--color--dark-grey);
    padding: 0;
    border-radius: .25rem;
    margin-left: 0;
}

header .btn a{
    padding: .625rem 2.5rem;
    display: inline-block;
}

header .btn a,
header .btn a:hover {
    color: #ffffff;
}

header .aside-overlay {
    display: none;
}

header .header-search-wrapper {
    position: relative;
    color: white;
}

header .header-search-wrapper svg {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 12px;
    opacity: .6;
    width: .875rem;
    height: .875rem;
}
@media (min-width: 1024px) {
    header .header-search-wrapper svg {
        width: 1rem;
        height: 1rem;
        left: 16px;
    }
}

header #header-search,
header #header-search-relevanssi {
    width: 100%;
    /* Minimun font-size to remove IOS Zoom */
    font-size: 16px;
    line-height: 1;
    padding: .5rem .75rem .5rem 2rem;
    background-color: transparent;
    border: 1px solid rgb(255 255 255 / 0.6);
    border-radius: .25rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    outline-offset: -2px;
    font-family: var(--wp--preset--font-family--roboto);
    color: white;
}

header #header-search-relevanssi {
    padding-right: 25px;
}

header #header-search::placeholder,
header #header-search-relevanssi::placeholder{
    color: white;
}
header #header-search:focus,
header #header-search-relevanssi:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    background-color: rgb(255 255 255 / 0.1);
    border-color: #2563eb;
    box-shadow: /*!*/ /*!*/ 0 0 0 0 #fff, /*!*/ /*!*/ 0 0 0 1px #2563eb, 0 0 transparent;
}
@media (min-width: 640px) {
    header #header-search,
    header #header-search-relevanssi{
        width: 10rem;
    }
}
@media (min-width: 1024px) {
    header #header-search,
    header #header-search-relevanssi{
        padding-left: 2.5rem;
        padding-top: .625rem;
        padding-bottom: .625rem;
    }
}

.btn.desktop-only {
    margin-left: 0;
}

.desktop-only {
    display: block
}
@media (max-width: 800px) {
    .desktop-only {
        display: none;
    }
}

@media only screen and (max-width: 800px) {

    header>.upper {
        display: none;
    }

    header {
        display: block;
    }

    header .hamburger {
        display: inline-block;
        z-index: 53;
        width: 30px;
        height: 30px;
        background-repeat: no-repeat;
        background-image: url('data:image/svg+xml,%3Csvg width="30" height="30" aria-hidden="true" role="img" focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" fill="%23ffffff" viewBox="0 0 24 24" stroke="%23ffffff"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16m-7 6h7"%3E%3C/path%3E%3C/svg%3E');
    }

    header.open .hamburger {
        background-image: url('data:image/svg+xml,%3Csvg width="30" height="30" aria-hidden="true" role="img" focusable="false" preserveAspectRatio="xMidYMid meet" data-prefix="fal" data-icon="times" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath fill="%23ffffff" d="M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z"%3E%3C/path%3E%3C/svg%3E');
    }

    header .aside-overlay {
        display: block;
        visibility: hidden;
        opacity: 0;
        overflow: scroll;
        background: rgba(0, 0, 0, .4);
        position: fixed;
        top: 0;
        left: 0;
        width: 100dvw;
        min-height: 100dvh;
        z-index: 50;
        transition-property: opacity;
        transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        transition-duration: .15s;
    }

    header.open .aside-overlay {
        visibility: visible;
        opacity: 1;
    }

    header .top-navigation {
        display: none;
    }

    header .aside-navigation {
        padding: 2.5rem;
        position: fixed;
        top: 0;
        left: -320px;
        width: 320px;
        background: var(--wp--preset--color--deep-dark-grey);
        border-right: solid 12px var(--wp--preset--color--dark-grey);
        height: 100%;
        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        align-items: flex-start;
        gap: 1.5rem;
        z-index: 51;
        transition-property: left;
        transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        transition-duration: .15s;
    }

    header .aside-navigation .btn {
        margin-top: 3.5rem;
    }

    header.open .aside-navigation {
        left: 0;
    }

    header .aside-navigation a {
        color: #ffffff;
    }

    header .aside-navigation .current-menu-item:not(.btn) a {
        color: var(--wp--preset--color--orange);
    }

    header li a {
        font-size: 20px;
        line-height: 24px;
        padding: 8px 0;
    }

    header .btn,
    header .btn:hover {
        background-color: var(--wp--preset--color--orange);
        padding: 0;
        border-radius: .25rem;
        margin-left: 0;
        width: 100%;
        color: #ffffff;
    }

    header .btn a{
        padding: .625rem 2.5rem;
        display: inline-block;
    }
}

header.transparent,
header.transparent>.upper,
header.transparent>.top,
header.transparent .btn,
header.transparent .btn:hover,
header.transparent .menu-item a:hover,
header.transparent .menu-item.current-menu-item a {
    transition-duration: .5s;
    transition-property: background-color, color;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);

}

header #menu-top-navigation .menu-item.btn {
    display: none;
}
@media (max-width: 800px) {
    header #menu-top-navigation .menu-item.btn {
        display: inline-block;
    }
}

header.transparent,
header.transparent>.upper,
header.transparent>.top {
    background-color: rgba(255, 255, 255, 0);
}

header.transparent .btn,
header.transparent .btn:hover {
    background-color: var(--wp--preset--color--orange);
    color: #ffffff;
}

header.transparent .menu-item:not(.btn) a:hover,
header.transparent .menu-item.current-menu-item:not(.btn) a {
    color: var(--wp--preset--color--orange);
}

main {
    flex: 1;
    background-color: var(--wp--preset--color--dark-grey);
    color: var(--wp--preset--color--extra-light-grey);
}


/* First level blocks that is not regular text */
main>div:not(.hero) {
    margin-top: var(--wp--preset--spacing--x-large);
    margin-bottom: var(--wp--preset--spacing--x-large);
}

/* First block parers header */
main> :first-child:not(.hero):not(.banner):not(.events-list),
#signup-content {
    margin-top: calc(var(--header-height) + 30px);
}

/* Page template Giglight */
body.page-template-template-highlight main> :first-child{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* First block with added margin-top that equals upper-top-navigation */
@media (min-width: 801px) {
    header.has-upper-menu ~ main> :first-child:not(.hero):not(.banner):not(.events-list) {
        margin-top: calc(var(--header-height) + 30px + var(--upper-top-navigation));
    }
}

main> .events-list.events-list-element--hidden + *{
    margin-top: var(--wp--preset--spacing--x-large);
}

/* ------------- Alternating block layout ------------- */

/* Alternating block background */
header.alternating-blocks ~ main{
    overflow: hidden;
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom),
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container{
    position:relative;
    z-index:1;
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):before,
header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):after,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:before,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:after{
    z-index:-1;
    content: '';
    position: absolute;
    top:-40px;
    bottom: -40px;
    min-height:100%;
    width:100vw;
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):before,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:before{
    right:0;
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):after,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:after{
    left:0;
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):nth-child(even):before,
header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):nth-child(even):after,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:after,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:before{
    background: rgb(38 38 38);
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):nth-child(odd):before,
header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):nth-child(odd):after,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:after,
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container:before{
    background: rgb(23 23 23);
}

/* Reset only child */
header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):only-child:before,
header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):only-child:after {
    content: unset;
}

/* Exceptions */
header.alternating-blocks ~ main > .cabb-block.media-with-text:before,
header.alternating-blocks ~ main > .cabb-block.media-with-text:after {
    top: 0 !important;
    bottom: 0 !important;
}

/* Remove before/after if case-carousel has style */
header.alternating-blocks ~ main > .cabb-block.case-carousel[style]::before,
header.alternating-blocks ~ main > .cabb-block.case-carousel[style]::after {
    top: 0 !important;
    bottom: 0 !important;
}

header.alternating-blocks ~ main > .cabb-block.general-carousel::before,
header.alternating-blocks ~ main > .cabb-block.general-carousel::after {
    top: 0 !important;
    bottom: 0 !important;
}

header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):last-child:before,
header.alternating-blocks ~ main > [class*="cabb-block"]:not(.hero):not(.banner):not(.employees):not(.map):not(.buttons-custom):last-child:after{
    bottom: -80px !important;
}

/* Single-news/Single-post */
header.alternating-blocks ~ main > .single-news + .events-list.algolia-container{
    margin-bottom: 0 !important; 
}

/* ------------- End Alternating block layout ------------- */

/* If the first block is hero */
main> :first-child.hero {
    margin-top: 0;
    margin-bottom: var(--wp--preset--spacing--x-large);
}

/* If the first block not hero add cosmetic padding in editor */
.editor-styles-wrapper .is-root-container:not(.hero) {
    margin-top: var(--wp--preset--spacing--x-large);
}

main> :not(div),
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container> :not(div) {
    width: 90%;
    max-width: 50rem;
}

main> :last-child:not(div) {
    margin-bottom: var(--wp--preset--spacing--x-large);
}

/* Bootstrap defaults shouldnt be changed like this */
.container-xl {
    padding-left: 1rem;
    padding-right: 1rem;
}

.container-single{
    padding: 0;
}

@media (min-width: 1024px) {
    .container-xl {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .container-single{
        padding-left: 0;
        padding-right: 0;
    }
}
@media (min-width: 1280px) {
    .container-xl {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .container-single{
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 1400px) {
    .container-single{
        padding-left: 3rem;
        padding-right: 3rem;
    }
}


footer {
    background-color: var(--wp--preset--color--deep-dark-grey);
    color: var(--wp--preset--color--extra-light-grey);
    min-height: 100px;
    overflow: hidden;
}

footer .inner {
    padding: var(--wp--preset--spacing--x-large) 0;
    margin: 0 auto;
    width: var(--wp--custom--cabb-block-content-wide-size);
    max-width: var(--page-max-width);
}

footer .footer-nav-wrap {
    column-gap: 5rem;
}

footer .footer-nav-wrap .col-auto p.link a:hover{
    text-decoration: underline;
    color: var(--wp--preset--color--extra-light-grey);
}

@media (max-width: 768px) {
    footer .footer-nav-wrap {
        flex-direction: column !important;
        align-items: center;
        text-align: center;
    }
}
@media (max-width: 1024px) {
    footer .footer-nav-wrap {
        flex-wrap: wrap;
        justify-content: center !important;
        row-gap: 24px;
        column-gap: 2rem;
    }

    footer .footer-nav-wrap .slogan {
        text-align: center;
    }

    footer .footer-socials-wrap {
        align-items: center !important;
    }
}
@media (max-width: 1280px) {
    footer .footer-nav-wrap {
        column-gap: 3rem;
    }
}

footer section {
    padding-bottom: var(--wp--preset--spacing--x-large);
}

footer section:first-of-type {
    border-bottom: 1px solid var(--wp--preset--color--dark-grey);
    margin-bottom: var(--wp--preset--spacing--medium);
}

footer .logo {
    color: #ffffff;
    display: inline-block;
    width: fit-content;
}

footer ul.footer-navigation {
    display: flex;
    justify-content: center;
    list-style: none inside;
    padding: 0;
    margin: 0;
    gap: var(--wp--preset--spacing--x-large);
}       

@media (max-width: 1280px) {
    footer ul.footer-navigation {
        column-gap: 3rem;
    }
}

@media (max-width: 1024px) {
    footer ul.footer-navigation {
        column-gap: 2rem;
    }
}

@media (max-width: 768px) {
    footer .footer-nav-wrap .col-auto.stack ul.footer-navigation {
        column-gap: 1rem; 
        flex-direction: column;
        row-gap: 2rem;
    }

    footer .footer-nav-wrap .col-auto.no-stack ul.footer-navigation{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        column-gap:inherit;
    } 

    footer .footer-nav-wrap .col-auto.no-stack ul.footer-navigation > li{
        width:50%;
    } 
}

footer ul.footer-navigation .sub-menu {
    margin-top: .75rem;
}

footer ul.footer-navigation .sub-menu>li {
    margin-top: .5rem;
}

footer ul.footer-navigation .sub-menu>li a:hover {
    text-decoration: underline;
    color: var(--wp--preset--color--extra-light-grey);
}

footer ul.footer-navigation>li>a {
    font-family: var(--wp--preset--font-family--roboto-condensed);
    font-size: var(--wp--preset--font-size--medium-small);
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 700;
}

footer ul.footer-navigation ul {
    list-style: none inside;
    padding: 0;
    margin: 0;
}

footer .slogan {
    font-family: var(--wp--preset--font-family--roboto-condensed);
    font-size: var(--wp--preset--font-size--medium-small);
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 700;
    margin-top: 0;
    text-align: right;
    max-width: 288px;
}

footer .markets-title {
    font-family: var(--wp--preset--font-family--roboto-condensed);
    font-size: var(--wp--preset--font-size--medium-small);
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 700;
    margin: 0;
}

footer .socials {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    /*margin-top: var(--wp--preset--spacing--x-large);*/
    margin-bottom: 0;
    padding-bottom: 0;
}

footer .socials a {
    display: flex;
    height: 2.5rem;
    width: 2.5rem;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #ffffff;
    color: #000000;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
}

footer .socials a:hover {
    background: var(--wp--preset--color--orange);
}

footer .bottom {
    padding-bottom: 0;
}

footer.group .bottom {
    text-align: center;
}

footer.group .bottom p {
    font-size: var(--wp--preset--font-size--x-small);
}

/* ------------- Pagination ------------- */

.pagination {
    padding-top: var(--wp--preset--spacing--medium);
    border-top: 1px solid rgb(64 64 64);
    margin-top: var(--wp--preset--spacing--medium);
}


/* ------------- buttons ------------- */

a.btn-primary,
button.btn-primary,
a.btn-secondary,
button.btn-secondary,
a.btn-small,
button.btn-small {
    width: fit-content;
    max-width: none;
}

a.btn-primary svg,
button.btn-primary svg,
a.btn-secondary svg,
button.btn-secondary svg,
a.btn-small svg,
button.btn-small svg {
    fill: currentColor;
    display: block;
    vertical-align: middle;
    width: 18px;
}

/* btn-primary */

a.btn-primary,
button.btn-primary {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    color: var(--wp--preset--color--orange);
    background-color: transparent;
    text-transform: uppercase;
    font-weight: 700;
    padding-top: .625rem;
    padding-bottom: .625rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    border: 1px solid var(--wp--preset--color--orange);
    border-radius: .25rem;
    align-items: center;
    display: inline-flex;
    font-size: 16px;
    font-family: var(--wp--preset--font-family--roboto-condensed);
}

a.btn-primary:hover,
button.btn-primary:hover {
    color: white;
    background-color: var(--wp--preset--color--orange);
}

/* btn-secondary */

a.btn-secondary,
button.btn-secondary {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    color: rgb(212 212 212);
    background-color: transparent;
    text-transform: uppercase;
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.25rem;
    text-align: center;
    padding-top: .75rem;
    padding-bottom: .75rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border: 1px solid rgb(212 212 212);
    border-radius: .25rem;
    justify-content: center;
    align-items: center;
    display: inline-flex;
    font-family: var(--wp--preset--font-family--roboto-condensed);
}

a.btn-secondary:hover,
button.btn-secondary:hover {
    color: white;
    background-color: var(--wp--preset--color--orange);
    border-color: var(--wp--preset--color--orange);
}

/* btn-arrow */

a.btn-arrow,
button.btn-arrow {
    width: fit-content;
    max-width: none;
    opacity: .8;
    border: 1px solid white;
    border-radius: 9999px;
    padding: .875rem;
    margin-top: 60px;
}

@media (min-width: 1024px) {
    a.btn-arrow,
    button.btn-arrow {
        padding: 1.25rem;
    }
}

a.btn-arrow svg,
button.btn-arrow svg {
    top: 2px;
    position: relative;
    display: block;
    vertical-align: middle;
    width: 1rem;
    height: 1rem;
    color: white;
    -webkit-animation: bounce 1s infinite;
    animation: bounce 1s infinite;
}

@media (min-width: 1024px) {
    a.btn-arrow svg,
    button.btn-arrow svg {
        width: 1.5rem;
        height: 1.5rem;
    }
}

/* btn-small */

a.btn-small,
button.btn-small {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    color: var(--wp--preset--color--orange);
    background-color: transparent;
    font-weight: 700;
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    border: 1px solid var(--wp--preset--color--orange);
    border-radius: 9999px;
    align-items: center;
    display: inline-flex;
    font-size: .875rem;
    line-height: 1.25rem;
}

a.btn-small:hover,
button.btn-small:hover {
    color: white;
    background-color: var(--wp--preset--color--orange);
}

/* ------------- Markets ------------- */
.market {
    /*max-width: 140px;*/
    flex: 1;
}

/* ------------- Cards - news archive block, single-news ------------- */
.cards-wrapper {
    row-gap: var(--wp--preset--spacing--medium);
}

.cards-wrapper .card-item .content {
    padding-top: var(--wp--preset--spacing--medium-small);
    padding-bottom: var(--wp--preset--spacing--medium-small);
}

.cards-wrapper .card-item a > svg{
    display:none;
    padding-bottom: 56.25%;
    height: 0;
    width:100%;
}

@media (min-width: 576px) {
    .cards-wrapper .card-item a > svg{
        display:block;
    }
}

@media (min-width: 640px) {
    .cards-wrapper .card-item .content {
        padding-left: var(--wp--preset--spacing--medium-small);
        padding-right: var(--wp--preset--spacing--medium-small);
    }
}

.cards-wrapper .card-item figure {
    margin: 0;
}

.cards-wrapper .card-item img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    aspect-ratio: 16 / 9;
}

.cards-wrapper .card-item time {
    color: var(--wp--preset--color--orange);
}

.cabb-block.news-archive {
    width: 100%;
}

.cards-wrapper .card-item a.transition {
    position: relative;
}

.cards-wrapper .card-item a.transition:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--wp--preset--color--orange);
    height: 2px;
    width: 0;
    transition: width .03s ease-in;
}

.cards-wrapper .card-item a.transition:hover:after {
    width: 100%;
}

.cards-wrapper .card-item a.transition:hover figure {
    opacity: .75;
}

/* ------------- Single-news/Single-post ------------- */

.single-news {
    padding-top: 0;
}

.latest-news {
    max-width: unset;
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.latest-news-header{
    margin-bottom: var(--wp--preset--spacing--medium);
}

.latest-news-header h2 {
    margin: 0;
    font-size: 1.5rem;
    line-height: 2rem;
}

.single-news-excerpt {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

.embed-responsive {
    position: relative;
    height: 0;
    width: 100%;
    overflow: hidden;
    border-radius: .25rem;
    padding-bottom: 56.25%;
    max-width: 56rem;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.embed-responsive iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.single-news-social .icon {
    height: 2rem;
    width: 2rem;
    background: #fff;
    color: #000;
}

.single-news-social .icon:hover {
    background: var(--wp--preset--color--orange);
}

.single-news-social .d-flex.align-items-center {
    gap: .5rem;
}

.latest-news .cards-wrapper .card-item img {
    height: auto;
}

/* ------------- 404 ------------- */

body.error404 main{
    display:flex;
    justify-content: center;
    align-items: center;
}

h1.four-o-four{
    font-size: 1.875rem;
    line-height: 2.25rem;
}

h2.four-o-four{
    font-size: 16px;
    line-height:24px;
}

h2.four-o-four + .wp-block-button{
    margin-top: 2.5rem;
}

/* ------------- End 404 ------------- */

@media (min-width: 1024px) {
    h1.four-o-four{
        font-size: 3rem;
        line-height: 1;
    }

    h2.four-o-four{
        font-size: 1.5rem;
        line-height: 2rem;
    }

    .latest-news-header h2 {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    .single-news .single-container {
        padding:0;
    }
}

/* ------------- Single-news/Single-post Hero ------------- */

section.news-default-header {
    margin-top: 0 !important;
    max-width: unset !important;
    width: 100% !important;
    width: 100vw;
    margin-top: 0;
    min-height: 272px;
}

section.empty-section {
    margin-top: 5rem;
}

section.news-default-header .vail {
    background-image: linear-gradient(180deg, #000,transparent);
    width: 100%;
    height: 10rem;
    position: absolute;
    top: 0;
    pointer-events: none;
    z-index: 30;
}

.news-svg {
    margin-top: -3.5rem;
    margin-top: -3.5rem;
    position: absolute;
    z-index: 20;
    bottom: -1px;
    fill: rgb(38 38 38);
    color: rgb(38 38 38);
}

@media (min-width: 640px) {
    section.news-default-header {
        min-height: 304px;
    }

    section.news-default-header {
        min-height: 304px;
        height: 50vh;
    }
}

@media (min-width: 1200px) {
    section.news-default-header {
        min-height: 608px;
        height: 66.66vh;
    }
}

/* ------------- General ------------- */

.max-width-unset {
    max-width: unset !important;
}

.aspect-ratio-16-9 {
    aspect-ratio: 16/9;
}

.z-0 {
    z-index:0;
}

.mv-100 {
    max-width:100%;
}

.border-bottom {
    border-bottom-color:hsla(0, 0%, 100%, .1) !important;
}

.col-span-2 {
	grid-column: span 2 / span 2;
}

.col-span-3 {
	grid-column: span 3 / span 3;
}

.col-span-6 {
    grid-column: span 6 / span 6;
}

.grid-cols-12 {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.mt-6 {
    margin-top: 24px !important;
}

main > p a {
    color: var(--wp--preset--color--orange);
}

.font-default{
    font-family: var(--wp--preset--font-family--roboto);
}

.font-alt{
    font-family: var(--wp--preset--font-family--roboto-condensed);
}

/* ----- WP-Rocket layout inferfering with certain blocks ----- */

.cabb-block.form[data-wpr-lazyrender],
.carousel-buttons[data-wpr-lazyrender] {
    content-visibility: visible !important;
}

/* ----- Custom ACF field type: Unitedstage icons ----- */

.acf-icon-field-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.acf-icon-field-wrapper label {
    cursor: pointer;
    border: 1px solid #ddd;
    padding: 5px;
    border-radius: 4px;
    margin: 5px;
	flex: 1;
	max-width: 55px;
    transition: border-color 0.2s;
}

.acf-icon-field-wrapper label .svg-wrappper{
	width: 40px;
	height: 40px;
}

.acf-icon-field-wrapper label svg{
	width: 100%;
    height: 100%;
}

.acf-icon-field-wrapper input[type="radio"] {
    display: none;
}

.acf-icon-field-wrapper input[type="radio"]:checked + div {
    border: 2px solid #0073aa;
    padding: 3px;
    border-radius: 4px;
}

/* ----- END Unitedstage icons ----- */

/* ----- Core block - Button ----- */
.pricelist-form input[type=submit],
.wp-block-button__link{
    border-width: 1px !important;
    transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: .15s;
    border-radius: .25rem;
    border: 1px solid;
    border-radius: .25rem !important;
    border-color: var(--wp--preset--color--orange);
}
.pricelist-form input[type=submit]:hover,
.wp-block-button__link.has-orange-color:hover{
    color: white !important;
    background-color: var(--wp--preset--color--orange);
    border-color: var(--wp--preset--color--orange);
}

/* ----- Core block - wp-block-group ----- */

.wp-block-group.alignfull > *,
.wp-block-group.alignwide > *{
    width: 100%;
    max-width: 100% !important;
}

.wp-block-group p{
    margin-block-start: 1rem;
}

/* ----- Core block - wp-block-heading Typography ----- */

.wp-block-heading{
    margin-block-start: 1em;
}

h1.wp-block-heading{
    font-size: 2.25rem;
    line-height: 2.5rem;
}

h4.wp-block-heading{
    font-size: 1.25rem;
    line-height: 1.75rem;
}

h3.wp-block-heading{
    font-size: 1.5rem;
    line-height: 2rem;
}

h2.wp-block-heading{
    font-size: 1.875rem;
    line-height: 2.25rem;
}

@media (min-width: 1024px) {
    h4.wp-block-heading{
        font-size: 1.5rem;
        line-height: 2rem;
    }

    h3.wp-block-heading{
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    h2.wp-block-heading{
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    h1.wp-block-heading{
        font-size: 3.75rem;
        line-height: 1;
    }
}

/* ----- WPforms Confirmation overide----- */
div.wpforms-container-full .wpforms-confirmation-container-full, 
div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message){
    border-radius:.25rem;
    background: rgb(38 38 38) !important;
    border-color: var(--wp--preset--color--orange) !important;
}

div.wpforms-container-full .wpforms-confirmation-container-full *, 
div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) *{
    color: #fff !important;
}

/* ----- Bootstrap overide----- */

@media (min-width: 1024px) {
    .col-xl-1 {
        width: 8.333333%;
    }

    .col-xl-2 {
        width: 16.666667%;
    }

    .col-xl-3 {
        width: 25%;
    }

    .col-xl-4 {
        width: 33.333333%;
    }

    .col-xl-5 {
        width: 41.666667%;
    }

    .col-xl-6 {
        width: 50%;
    }

    .col-xl-7 {
        width: 58.333333%;
    }

    .col-xl-8 {
        width: 66.666667%;
    }

    .col-xl-9 {
        width: 75%;
    }

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

    .col-xl-11 {
        width: 91.666667%;
    }

    .col-xl-12 {
        width: 100%;
    }
}

/* ----- Complianz overide----- */

#cmplz-document, 
.editor-styles-wrapper .cmplz-unlinked-mode{
    margin-top: calc(var(--header-height) + 30px);
}

#cmplz-document .cmplz-dropdown .cookies-per-purpose  *{
    color: rgb(23 23 23) !important;
    font-weight:500;
}

#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories summary{
    background: rgb(23 23 23) !important;
    color: white;
    font-weight:700;
}

#cmplz-cookies-overview .cmplz-dropdown summary p,
#cmplz-document .cmplz-dropdown summary p, 
.editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary p,
#cmplz-cookies-overview .cmplz-dropdown p, #cmplz-document .cmplz-dropdown p{
    font-weight:500;
    color: white;
}

@media (min-width: 801px) {
    #cmplz-document, 
    .editor-styles-wrapper .cmplz-unlinked-mode{
        margin-top: calc(var(--header-height) + 30px + var(--upper-top-navigation));
    }
}

/* ----- Relevanssi search ----- */

.relevanssi-live-search-results:not(.relevanssi-live-search-results-showing) {
    display: none;
}

.relevanssi-live-search-results-showing {
    position: initial !important;
    height: initial !important;
    max-height: inherit !important;
    width: 100% !important;
}

.relevanssi-live-search-results[aria-expanded="true"] {
    opacity: 1;
    padding-bottom: 2.5rem;
    height: auto;
    background: rgb(23 23 23);
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100dvw;
    height: 100vh !important;
    z-index: 99;
    overflow-x: hidden;
    overflow-y: scroll;
}

.relevanssi-live-search-results[aria-expanded="false"]{
    min-height:unset !important;
    background: transparent !important;
}

.relevanssi-live-search-no-results {
    padding: 10px;
    font-style: italic;
    color: #888;
}

.relevanssi-live-search-results .artists-list-item__cover {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #171717; /* Fallback background color */
    border-radius: .25rem;
    margin-bottom: 8px;
    transition: opacity .7s;
}

.relevanssi-live-search-results .artists-list-item-url:hover .artists-list-item__cover {
    opacity: .6;
}

.relevanssi-live-search-results .artists-list-item__cover::before {
    content: "";
    display: block;
    padding-top: 100%; /* 16:9 aspect ratio (9/16 = 0.5625) */
}

.relevanssi-live-search-results .artists-list-item__cover-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.relevanssi-live-search-results .artists-list-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.25rem;
    column-gap: .75rem;
}

.relevanssi-live-search-results .filter-options{
    gap: 1rem;
}

.relevanssi-live-search-results .artists-list-item__posttype {
    color: var(--wp--preset--color--orange);
    padding: 0 .25rem;
}

.relevanssi-live-search-results .artists-list-item__posttype h4{
    text-transform: capitalize;
    font-weight: 300;
}

.relevanssi-live-search-results .artists-list-item__titles-title {
    transition-duration: .3s;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.25rem;
    width: 100%;
    display: inline-flex;
    text-transform: uppercase;
}

.relevanssi-live-search-results .artists-list-item-url:hover .artists-list-item__titles-title {
    color: var(--wp--preset--color--orange);
}

.relevanssi-live-search-results .artists-list-item__titles-redirect {
    column-gap: 8px;
    align-items: center;
    display: flex;
}

.relevanssi-live-search-results .artists-list-item__titles-redirect svg{
    width:20px;
}

/* Hide for now */
.relevanssi-live-search-result-status{
    display: none !important;
}

.relevanssi-wrapper{
    margin-top: 2rem;
}

.filter-options {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.filter-options .custom-checkbox{
    display: flex;
    align-items: center;
    gap: .5rem;
}

.relevanssi-live-search-results .filter-options p{
    width:100%;
}

.filter-options .custom-checkbox input[type="checkbox"] {
    background-color: rgb(115 115 115);
    color:  var(--wp--preset--color--orange); 
    border: 1px solid rgb(115 115 115);
    border-radius: .125rem;
    appearance: none;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
}

.filter-options .custom-checkbox input[type="checkbox"]:checked {
    border-color: transparent;
    background-color:  var(--wp--preset--color--orange); 
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-position: 50%;
    background-repeat: no-repeat;
}

.filter-options .custom-checkbox:hover:before {
    border-color: #ccc; 
}

.relevanssi-live-search-results[aria-expanded="false"] .ajax-results{
    display:none !important;
} 

.relevanssi-live-search-results[aria-expanded="true"] .ajax-results{
    padding-top: 6rem;
}

.live-ajax-messages{
    position: fixed;
    top: 50%;
    width: 100%; 
    z-index: 999;
}

.live-ajax-messages .rlv-has-spinner {
    border: 8px solid var(--wp--preset--color--orange);
    border-right-color: transparent;
}

.live-ajax-messages .rlv-has-spinner::after {
    background: var(--wp--preset--color--orange);
}

/* Remove default X close input search */
.relevanssi-search-container input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.relevanssi-search-container .clear-search {
    position: absolute;
    right: 2px;
    background: none;
    border: none;
    color: white;
    width: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    height:100%;
    top: 0;
    cursor: pointer;
}

header .header-search-wrapper .relevanssi-search-container .clear-search svg {
    left: initial;
    width: 1rem;
    height: 1rem;
}

header .header-search-wrapper .relevanssi-search-container .clear-search:hover {
    color: var(--wp--preset--color--light-grey);
}

.relevanssi-live-search-results .artists-list-item__posttype{
    padding: 0 0 .25rem;
}

.relevanssi-live-search-results .artists-list-items .artist-list-item .artists-list-item__titles-title{
    display:flex;
    flex-direction: column;
}

@media (min-width: 640px) {
    .relevanssi-live-search-results .artists-list-items {
        grid-template-columns: repeat(3, 1fr);
    }

    .relevanssi-live-search-results .filter-options p{
        width:initial;
    }
}

@media (min-width: 800px) {
    .relevanssi-wrapper{
        margin-top: 5rem;
    }
}

@media (min-width: 1024px) {
    .relevanssi-live-search-results .artists-list-items {
        grid-template-columns: repeat(4, 1fr);
        column-gap: 1.5rem;
        row-gap: 2.5rem;
    }
}

@media (min-width: 1280px) {
    .relevanssi-live-search-results .artists-list-items {
        grid-template-columns: repeat(5, 1fr);
    }
}