@font-face {
    font-family: 'Departura';
    src: local('Departura Regular'), local('Departura-Regular'),
        url('../fonts/Departura-Regular.woff2') format('woff2'),
        url('../fonts/Departura-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Departura';
    src: local('Departura Italic'), local('Departura-Italic'),
        url('../fonts/Departura-Italic.woff2') format('woff2'),
        url('../fonts/Departura-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Departura';
    src: local('Departura Bold'), local('Departura-Bold'),
        url('../fonts/Departura-Bold.woff2') format('woff2'),
        url('../fonts/Departura-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Departura';
    src: local('Departura Bold Italic'), local('Departura-BoldItalic'),
        url('../fonts/Departura-BoldItalic.woff2') format('woff2'),
        url('../fonts/Departura-BoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

:root{
    --body-font: 'Departura';
    --body-weight: 400;
    --body-lineheight: 1.3125rem;

    --title-font: var(--body-font);
    --title-weight: 700;

    --normal-font-size: 1rem;
    --h1-font-size: clamp(2.25rem, 3.5vw, 3rem);
    --h2-font-size: clamp(2rem, 3vw, 2.625rem);
    --h3-font-size: clamp(1.75rem, 2.5vw, 2.25rem);
    --h4-font-size: clamp(1.4rem, 2.5vw, 1.5rem);
    --h5-font-size: 1.3125rem;
    --h6-font-size: 1.125rem;
    --small-font-size: .875rem;
    
    --hue-color: 359;
    --hue-saturation: 85%;
    --hue-lightness: 45%;
    --first-color-code: var(--hue-color), var(--hue-saturation), var(--hue-lightness);
    --first-color: hsl(var(--first-color-code));
    --first-color-alt: hsl(var(--hue-color), var(--hue-saturation), 65%);

    --hue-second-color: 42;
    --hue-second-saturation: 100%;
    --hue-second-lightness: 46%;
    --second-color-code: var(--hue-second-color), var(--hue-second-saturation), var(--hue-second-lightness);
    --second-color: hsl(var(--second-color-code));
    --second-color-alt: hsl(var(--hue-second-color), var(--hue-second-saturation), 65%);

    --title-color: hsl(0, 0%, 0%);
    --text-color: hsl(0, 0%, 0%);
    --text-color-light: hsl(0, 0%, 53%);

    --input-color: var(--text-color);
    --placeholder-color: var(--text-color);
    --input-border: hsl(0, 0%, 75%);

    --body-color: hsl(var(--hue-color), var(--hue-saturation), 100%);
    --dark-color: hsl(0, 0%, 0%);
    --white-color: hsl(0, 0%, 100%);
    --gray-color: hsl(0, 0%, 96%);

    --body-alt-color: hsl(38, 25%, 94%);

    --shadow-color: hsla(var(--hue-color), var(--hue-saturation), var(--hue-lightness), .16);

    --grid-width: 75rem;
    --grid-width-wide: 96.875rem;
    --grid-margin: -.9375rem;
    --grid-padding: .9375rem;
    
    --btn-font-size: 1.125rem;
    --btn-lineheight: 1.5rem;
    --btn-font-weight: 400;
    --btn-padding: .4375rem 1.125rem .1875rem;
    --btn-radius: .3125rem;
    --btn-border-width: 2px;
    --btn-min-width: unset;

    --mb-1: 1.25rem;
    --mb-2: 1.875rem;
    --mb-3: 2.1875rem;
    --mb-heading: 3.75rem;

    --header-height: 4.375rem;

    --b-rad-10: 0.625rem;
}

.b-rad-10{ border-radius: var(--b-rad-10) }

.gradient-overlay:after,
.block-hero > .block-bg:after{
    --gradient-opacity: .5;
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    background: hsl(var(--hue-color), var(--hue-saturation), var(--hue-lightness));
    background: -moz-linear-gradient(0deg, hsla(var(--hue-color), var(--hue-saturation), var(--hue-lightness), var(--gradient-opacity)) 0%, rgba(255,255,255,0) 35%);
    background: -webkit-linear-gradient(0deg, hsla(var(--hue-color), var(--hue-saturation), var(--hue-lightness), var(--gradient-opacity)) 0%, rgba(255,255,255,0) 35%);
    background: linear-gradient(0deg, hsla(var(--hue-color), var(--hue-saturation), var(--hue-lightness), var(--gradient-opacity)) 0%, rgba(255,255,255,0) 35%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#d21113",endColorstr="#ffffff",GradientType=1)
}
.gradient-overlay:after{--gradient-opacity: .75}

body.dark-theme{
    --first-color-alt: hsl(var(--hue-color), var(--hue-saturation), 75%);
    --second-color-alt: hsl(var(--hue-second-color), 54%, 75%);
    --title-color: hsl(0, 0%, 95%);
    --text-color: hsl(0, 0%, 95%);
    --input-color: hsl(var(--hue-color), var(--hue-saturation), 16%);
    --body-color: hsl(var(--hue-color), var(--hue-saturation), 12%);
    --body-alt-color: hsl(var(--hue-color), var(--hue-saturation), 8%);
    --dark-color: hsl(0, 0%, 95%);
    --white-color: hsl(0, 0%, 13%);
    --input-border: hsl(0, 0%, 95%);

    --shadow-color: hsla(var(--hue-color), var(--hue-saturation), 75%, .16)
}

.has-theme-primary-color{color: var(--first-color)}
.has-theme-secondary-color{color: var(--second-color)}

.rounded-corners{border-radius: .625rem; overflow: hidden}

@media (min-width: 1200px){
    :root{
        --header-height: 8.125rem
    }
}

#ps2id-dummy-offset{height: calc( var(--header-height) + 1.875rem )}

@media (min-width: 1200px){
    #accessability-controls > .accessability-controls{padding: var(--grid-padding); gap: calc( var(--grid-padding) * 2 )}
    .accessability-group > .d-flex{gap: var(--grid-padding)}
    .accessability-group > p + .d-flex{margin-top: .5rem}
    
    .accessability-control label{font-size: var(--normal-font-size)!important}
    html.size-small{font-size: calc( var(--normal-font-size) - 2px )!important}
    html.size-large{font-size: calc( var(--normal-font-size) + 2px )!important}
    .accessability-control.label-small label{font-size: calc( var(--normal-font-size) - 4px )!important}
    .accessability-control.label-large label{font-size: calc( var(--normal-font-size) + 6px )!important}
    
    .accessability-control input{opacity: 0}
    .accessability-control label{margin: 0!important}
    
    html.contrast-high{
        --body-color: #000;
        --gray-color: hsl(0, 0%, 25%);
        --title-color: var(--white-color);
        color: var(--white-color)
    }
    html.contrast-high body,
    html.contrast-high .event-item--excerpt{color: #fff}
    
    html.contrast-high .col-actions svg path,
    html.contrast-high .social-icon svg path{fill: #fff}
    
    html.contrast-high a:not(.flex-column):not(.event-item):not(.wp-block-button__link):not(.ab-item):not(.social-icon),
    html.contrast-high a.event-item .has-larger-font-size,
    html.contrast-high a.event-item .rm-link{background-color: yellow!important; color: #000!important}
    html.contrast-high .wp-block-button.is-style-black .wp-block-button__link{background-color: yellow!important; border-color: yellow!important; color: #000!important}
}