@charset " utf-8";
/*Park specific blocks*/
@import "/css/destination/ozarkmountaincountry/blocks/main-park-header.css";
/*@import "/css/destination/ozarkmountaincountry/blocks/main-park-footer.css";*/

/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,::before,::after{box-sizing:border-box}:root{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{width:100%;height:100%}body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}img,svg{max-width:100%;vertical-align:middle}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}p:last-of-type{margin-bottom:0}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}


/* ________________________________________ VARIABLES ________________________________________ */
:root{
    /*Colors*/
    /* Primary */
    --color_signature_green:  #215732;
    /*--color_river_mist:       #F7F0E8;*/
    /*--color_river_mist_light: #ffffff;*/
    --color_river_mist:       #F4EFE5;
    --color_river_mist_light: #FFFAF0;
    --color_heritage_gold:    #F3AF36;
    --color_flowstone:        #AA8066;
    --color_mountain_moss:    #8A8D4A;
    --color_cottonwood:       #D0CCBF;
    --color_copper:           #DB864E;
    /*--color_driftwood:        #5C4738;*/
    --color_driftwood:        #2B2A1E; /*Changed to black*/
    --color_blue:             #385D70;
    
    /*Park Colors*/
    --color_cream:            #F7F0E8;
    --color_cream_light:      #FBF8F3;
    
    /* Secondary */
    --color_ozarks_pine:    #424C44;
    --color_fireside_smoke: #919388;
    --color_wildfire:       #A9431E;
    --color_midnight_mine:  #101820;
    
    /* Accent */
    --color_mystic_river: #101820;
    --color_honeysuckle:  #E7C086;
    --color_summer_blue:  #425563;
    --color_focus_blue:   #385D70;
    
    /* Neutral */
    --color_black:  #2B2A1E;
    --color_gray_6: #222222;
    --color_gray_5: #444444;
    --color_gray_4: #666666;
    --color_gray_3: #aaaaaa;
    --color_gray_2: #cccccc;
    --color_gray_1: #eeeeee;
    --color_white:  #ffffff;
    
    /* Alert */
    --color_alert_red:   #FF4747;
    --color_alert_green: #27B91A;
    
    
    /*Font Families*/
    --font_family_alkaline: alkaline, sans-serif;
    --font_family_new_spirit: new-spirit, serif;
    --font_family_new_hero: new-hero, sans-serif;
    --font_family_bebas_neue_pro: bebas-neue-pro, sans-serif;
    
    /*Headline Fonts*/
    --font_h1: 700 40px/44px var(--font_family_new_spirit);
    --font_h2: 700 40px/44px var(--font_family_new_spirit);
    --font_h3: 700 32px/36px var(--font_family_new_spirit);
    --font_h4: 400 24px/28px var(--font_family_new_spirit);
    --font_h5: 500 16px/20px var(--font_family_new_spirit);
    --font_h6: 400 16px/20px var(--font_family_new_spirit);
    @media (width >=1000px) {
        --font_h1: 700 60px/64px var(--font_family_new_spirit);
        --font_h2: 700 48px/52px var(--font_family_new_spirit);
        --font_h3: 700 32px/36px var(--font_family_new_spirit);
        --font_h4: 400 26px/32px var(--font_family_new_spirit);
        --font_h5: 400 16px/20px var(--font_family_new_spirit);
    }

    /*Font styles*/
    --font_body_small: 400 12px/18px var(--font_family_new_hero);
    --font_body_medium: 400 16px/25px var(--font_family_new_hero);
    /*--font_body_large: 400 ??px/??px var(--font_family_new_hero);*/
    --font_navigation_small: 600 12px/16px var(--font_family_new_hero);
    --font_navigation_medium: 600 14px/18px var(--font_family_new_hero);
    --font_eyebrow: 600 21px/22px var(--font_family_bebas_neue_pro);
    
    /*Links Styles*/
    /*--font_link_large: 600 14px/18px var(--font_family_figtree);*/


    /*Container*/
    --container_width:1440px;
    --container_padding:20px;


    /*Padding between blocks*/
    /*--section_padding_block:60px;*/
    
    
    /*Buttons*/
    --button_background: var(--color_heritage_gold);
    --button_svg_color: var(--color_black);
    --button_border_color: var(--color_heritage_gold);
    --button_text_color: var(--color_black);
    
    --header_height:161px;
    
    
    /*Global Variables*/
    --pager_background_color: green;
    --pager_background_hover_color: blue;
    --pager_color: red;
    --pager_color_hover: orange;
    --headline_color: green;
    --eyebrow_color: teal;
    --tab_background_color: purple;
    --tab_color: yellow;
    --tab_active_background: brown;
    --tab_active_color: black;
}
@media (width >= 600px) {
    :root{
        --header_height:206px;
    }
}
/* UPDATE VARIABLES ON LARGE SCREENS */
@media (width >= 1000px) {
    :root{
        /*Font styles*/
        /*--font_body_small: 400 16px/25px var(--font_family_new_hero);*/
        /*--font_body_medium: 400 20px/24px var(--font_family_new_hero);*/
        --font_body_large: 300 32px/42px var(--font_family_new_hero);
        
        /*--header_height:117px;*/
        
        /*Padding between blocks*/
        /*--section_padding_block:60px;*/
        
        --container_padding:60px;
        --header_height:212px;
    }
}
@media (width >= 1400px) {
    :root{
        --header_height:196px;
    }
}


/* ________________________________________ TYPOGRAPHY _____________________________________ */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {margin:0 0 0 0;}
h1, .h1 { font: var(--font_h1); }
h2, .h2 { font: var(--font_h2); color:var(--color_black);}
h3, .h3 { font: var(--font_h3); color:var(--color_black);}
h4, .h4 { font: var(--font_h4); }
h5, .h5 { font: var(--font_h5); }
h6, .h6 { font: var(--font_h5); }



/* ________________________________________ UTILITY CLASSES _____________________________________ */
/*Fonts*/
.font_body_small {font:var(--font_body_small);}
.font_body_medium {font:var(--font_body_medium);}
.font_body_large {font:var(--font_body_large);}
.font_navigation_small {font:var(--font_navigation_small); letter-spacing: 0.5px; text-transform: uppercase;}
.font_navigation_medium {font: var(--font_navigation_medium); letter-spacing: 0.5px; text-transform: uppercase;}
.eyebrow{
    font: var(--font_eyebrow); 
    letter-spacing: 1px; 
    text-transform: uppercase;
    position: relative;
    color:var(--color_driftwood);
    margin-bottom:10px;
}
.short_line{
    /*display: block;*/
    /*width: 100px;*/
    /*height: 4px;*/
    /*border:0;*/
    /*border-bottom: 4px dotted var(--color_driftwood);*/
    /*margin: 20px 0 30px;*/
    display: none;
}




/* ________________________________________ BASE STYLES __________________________________ */
body { background-color:var(--color_river_mist); color:var(--color_driftwood); font: var(--font_body_medium); }
p {margin:0 0 1em 0;}
p:last-of-type {margin:0;}
.container{
    margin: 0 auto;
    max-width: var(--container_width);
    padding-inline: var(--container_padding);
}
.container.narrow{
    --container_width: 1220px;
}
.container.small{
    --container_width: 990px;
}
/*.block{*/
/*    padding-block:var(--section_padding_block);*/
/*}*/
p strong, p b {font-weight:600;}
ul {
    list-style-image: url(https://storage.newportcms.com/silver-dollar-city-resort/sdc-bullet_4568.svg);
}
/*Dialog Styles*/
dialog{
    --dialog_padding: 30px;
    @media (width >= 1000px) {
        --dialog_padding: 50px;
    }
    border-radius: 3px;
    overflow: hidden;
    padding: 0;
    color: var(--color_driftwood);
    background: var(--color_river_mist);
    border: 2px solid var(--color_honeysuckle);
    /*height: 100%;*/
    width: 90vw;
    max-width: 1100px;
    max-height: 85vh;
    &[open]{
        display: flex;
        flex-direction: column;
    }
    header{
        position: relative;
        padding: var(--dialog_padding) var(--dialog_padding) 20px var(--dialog_padding);
        .title{
            margin:0;
        }
    }
    .content{
        overflow: auto;
        height: calc(100vh - 100px);
        min-height:fit-content;
        max-height:fit-content;
        padding: 20px var(--dialog_padding) var(--dialog_padding) var(--dialog_padding);
    }
    &[open]{
        animation: fade_in_dialog /*duration*/ 0.5s /*delay*/ 0s forwards;
    }
}
dialog button[value=close]{
    border: 0;
    background: transparent;
    padding: 0;
    position: absolute;
    cursor: pointer;
    top: 10px;
    right: 10px;
    @media (width >= 1000px) {
        top: 30px;
        right: 30px;
    }
    svg {
        color: var(--color_green);
        transition: color 0.3s ease;
        rect{
            fill: currentColor;
        }
    }
    &:hover, &:focus{
        svg {
            color: var(--color_deepest_green);
        }
    }
}
dialog::backdrop {
  background-color: #000000a6;
}
@keyframes fade_in_dialog {
    0% { opacity:0; }
    100% { opacity:1; }
}
/*Hide body scrolling when a dialog is open*/
body:has(dialog[open]){
    overflow: hidden;
}
/*So modal dialogs dont force scroll to top*/
body.modal-open {
    overflow: visible;
}
/*Skip to Content Link*/
.skip-link{
    position: absolute;
    z-index: 20;
    padding: 20px;
    background: white;
    color: black;
    transform: translateY(-100%);
    transition: transform 0.4s ease;
    &:focus{
        transform: translateY(0%);
    }
}


/* ________________________________________ LINKS & BUTTONS ______________________________ */
/*BUTTON*/
.button{
    background: var(--button_background);
    border:2px solid var(--button_border_color);
    border-radius:999px;
    color:var(--button_text_color);
    font:var(--font_navigation_medium);
    font-weight: 700;
    line-height:11px;
    letter-spacing: 0.42px;
    cursor:pointer;
    padding:16px 3px 16px 20px;
    text-decoration:none;
    width: fit-content;
    text-transform: uppercase;
    position: relative;
    white-space: nowrap;
    outline:0px;
    transition: background 0.3s, border-color 0.3s, color 0.3s;
    text-align:center;
    display: inline-flex;
    gap:10px;
    align-items: center;
    
    svg{
        pointer-events:none;
        color:var(--button_svg_color);
        transition: color 0.3s;
    }
    &:is(:hover, :focus){
        --button_background:var(--color_black);
        --button_border_color: var(--color_black);
        --button_text_color: var(--color_river_mist);
        --button_svg_color: var(--color_river_mist);
    }
    &:active{
        --button_background:var(--color_black);
        --button_border_color: var(--color_black);
        --button_text_color: var(--color_river_mist);
        --button_svg_color: var(--color_river_mist);
    }
    /*Arrow*/
    .arrow{
        overflow: hidden;
        
        svg{
            transform: translateX(-15px);
            transition: transform 0.2s ease-out;
        }
    }
    &:is(:hover, :focus) .arrow svg {
        transform: translateX(-7px);
    }
    /*Offsite Links*/
    &:has(.arrow.offsite){
        padding-right:15px;
        
        &:before{
            width:100%;
        }
        &:is(:hover, :focus){
            &:before{
                width: 100%;
            }
            .arrow svg {
                transform: unset;
            }
        }
        .offsite svg{
            transform: unset;
            transition: color 0.3s
        }
    }
}




/*Common Slider Controls*/
.slider_controls{
    position: absolute;
    bottom: 27px;
    left: 27px;
    z-index: 2;
    display: flex;
    gap: 20px;
    align-items: center;
    .pagination{
        font:var(--font_body_medium);
    }
}
/*Small Screens*/
@media (width < 1000px) {
    .slider_controls {
        bottom: 12px;
        left: 16px;
    }
}


/*Pager Wrapper*/
.pager_wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    
    .pagination{
        color:var(--color_driftwood);
        font:var(--font_body_medium);
    }
}
/*Pager Buttons*/
.pager{
    display:flex;
    gap:20px;
    --color_bg:var(--color_signature_green);
    --color_fg:var(--color_river_mist);
    --color_border:var(--color_signature_green);
    
    button{
        place-content: center;
        display: grid;
        border: 1px solid var(--color_border);
        background: var(--color_bg);
        color: var(--color_fg);
        cursor: pointer;
        outline: 0px;
        transition: background 0.3s, border-color 0.3s, color 0.3s;
        border-radius: 999px;
        width: 40px;
        height: 40px;
        aspect-ratio: 1;
        
        &:is(:hover, :focus-visible){
            --color_bg:var(--color_driftwood);
            --color_fg:var(--color_river_mist);
            --color_border:var(--color_driftwood);
        }
    }
}
/*Disabled Buttons*/
.pager button.swiper-button-disabled,
.pager button.swiper-button-disabled:is(:hover, :focus-visible) {
    --color_bg:#E2E2E2!important;
    --color_fg:var(--color_grey_5)!important;
    --color_border:var(--color_bg)!important;
}
/*Full Screen Button*/
button[value=fullscreen]{
    cursor: pointer;
    outline: 0px;
    padding: 8px;
    background: transparent;
    border-radius: 5px;
    border: 1px solid transparent;
    transition: border-color 0.3s;
    position: absolute;
    z-index: 2;
    top: 30px;
    right: 30px;
}
/*Small Screens*/
@media (width < 1000px) {
    button[value=fullscreen] {
        width: 42px;
        height: 42px;
        top: 10px;
        right: 10px;
    }
}
button[value=fullscreen] svg{
    pointer-events: none;
    width: 100%;
    height: 100%;
}
button[value=fullscreen]:is(:hover, :focus-visible){
    border-color:var(--color_white);
}



/*Inline Links*/
nav a, nav a span{
    width:fit-content;
}
:is(p,form,ol,ul) a{
    color:var(--color_black);
    text-decoration: underline;
}
:is(p,form,ol,ul) a:hover{
    color:var(--color_black);
    text-decoration: none;
}


/*Bold CTA Links*/
.link_large{
    display: inline-block;
    text-transform: uppercase;
    text-decoration: underline;
    outline: 0px;
    cursor:pointer;
    padding-bottom: 8px;
    color:var(--color_black);
    text-decoration: none;
    font:var(--font_navigation_medium);
    letter-spacing:0.5px;
    /*line-height: 26px;*/
    line-height: 1;
    transition: color 0.3s;
    gap: 10px;
    align-items: center;
    display: flex;
    width: fit-content;
    position: relative;
    
    &:before{
        content: '';
        height: 2px;
        background: var(--color_heritage_gold);
        display: inline-flex;
        width: 100%;
        position: absolute;
        bottom: 0;
        transition: width 0.3s, background 0.3s;
    }
    
    .arrow{
        overflow: hidden;
        width: 30px;
        
        svg{
            transform: translateX(-15px);
            transition: transform 0.3s, color 0.3s;
            color:var(--color_black);
        }
    }
    
    &:is(:hover, :focus){
        &:before{
            background: var(--color_heritage_gold);
        }
        .arrow svg {
            transform: translateX(0px);
            color:var(--color_heritage_gold);
        }
    }
    /*When there is a nested arrow*/
    &:has(.arrow){
        &:before{
            width: calc(100% - 15px);
        }
        &:is(:hover, :focus):before{
            width: 100%;
        }
    }
    
    /*Offsite Links*/
    &:has(.arrow.offsite){
        &:before{
            width:100%;
        }
        &:is(:hover, :focus){
            &:before{
                width: 100%;
            }
            .arrow svg {
                transform: unset;
            }
        }
        .offsite svg{
            transform: unset;
            transition: color 0.3s
        }
    }
}


/* ________________________________________ FORMS ________________________________________ */
form .field :is(input, textarea){
    background: var(--color_river_mist);
    border: 2px solid var(--color_heritage_gold);
    border-radius: 10px 10px 0 0;
    padding: 16px 18px;
    color: var(--color_driftwood);
}
form .field :is(input,textarea)::placeholder{
  opacity: 0.74;
  color: var(--color_grey_5);
}
form .field label{
    display: grid;
    gap: 8px;
}
form .field label > span:first-child{
    color:var(--color_deepest_blue);
    font:600 14px/20.3px var(--font_family_figtree); letter-spacing:0.28px;
}
/*Checkboxes*/
form .field.checkboxes{
    position: relative;
}
form .field.checkboxes > span:first-child {
    position: absolute;
    overflow: hidden;
    width: 0;
    height: 0;
}
form label:is(.cms_checkbox, .cms_radio){
    grid-template-columns: 24px auto;
    color: var(--color_deepest_blue);
    cursor: pointer;
    gap: 8px;
}
form label:is(.cms_checkbox, .cms_radio).input_wrap{
    width: 24px;
    height: 24px;
    position: relative;
    border: 1px solid var(--color_deepest_blue);
    
    &:has(input:checked){
        border: 0;
    }
}
form label:is(.cms_checkbox, .cms_radio) .text_wrap{
    font-size: 12px;
    user-select: none;
}

form label:is(.cms_checkbox, .cms_radio) .input_wrap input{
    width:0;
    height:0;
    position: absolute;
    opacity: 0;
}
form label:is(.cms_checkbox, .cms_radio) .input_wrap input:checked + span{
    width: 100%;
    height: 100%;
    display: block;
    background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><rect width="24" height="24" fill="%237F1D49"/><path d="M5 11.875L10.125 17L20.125 7" stroke="white"/></svg>');
}

@media (min-width: 1000px) {
    form label:is(.cms_checkbox, .cms_radio){
        gap: 18px;
    }
}
/*Select*/
form .select_wrapper{
    position: relative;
    border:1px solid var(--color_deepest_blue);
}
form .select_wrapper select{
    background: transparent;
    border: 0;
    width: 100%;
    height: 100%;
    appearance: none;
    padding: 14px 50px 14px 12px;
    border-radius: 0;
    color:var(--color_deepest_blue);
}
form .select_wrapper:after {
    content: '';
    width: 20px;
    height: 46px;
    display: block;
    background: url('data:image/svg+xml,<svg width="22" height="12" viewBox="0 0 22 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L11 11L21 1" stroke="%232B3450"/></svg>') center no-repeat;
    position: absolute;
    right: 12px;
    top: 0;
    pointer-events: none;
    transform-origin: center;
    transition: transform 0.3s ease-in;
}
form .select_wrapper:has(select:open):after{
    transform: rotate(180deg);
}
form option {
    background-color:var(--color_light_green);
}
/*Field Focus*/
form .field :is(input, textarea, select):focus {
    outline: 2px solid var(--color_blue);
    outline-offset: -2px;
}
form .input_wrap:has(input:focus) {
    outline: 2px solid var(--color_blue);
    outline-offset: -2px;
}
/*Validation*/
form .f_error :is(input, textarea, select) {
    outline: 2px solid var(--color_red);
    outline-offset: -2px;
}
form .f_error .input_wrap{
    outline: 2px solid var(--color_red);
    outline-offset: -2px;
}
form .f_error_message {
    color: var(--color_red);
    display:flex;
    gap:8px;
    align-items:flex-start;
    margin-top: 8px;
    font:var(--font_body_small);
}
form .f_error_message:before {
    content: url('data:image/svg+xml,<svg width="13" height="14" viewBox="0 0 13 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.41667 13.2365C2.85833 13.2365 0 10.3782 0 6.81987C0 3.26153 2.85833 0.403198 6.41667 0.403198C9.975 0.403198 12.8333 3.26153 12.8333 6.81987C12.8333 10.3782 9.975 13.2365 6.41667 13.2365ZM7.29167 2.73653H5.54167V7.4032H7.29167V2.73653ZM6.41667 8.56987C5.775 8.56987 5.25 9.09487 5.25 9.73653C5.25 10.3782 5.775 10.9032 6.41667 10.9032C7.05833 10.9032 7.58333 10.3782 7.58333 9.73653C7.58333 9.09487 7.05833 8.56987 6.41667 8.56987Z" fill="%23B6180C"/></svg>');
    margin-top: 2px;
}
/*Submit Button*/
form button[type=submit]{
    display: block;
}
form button[type=submit] > span{
    display: grid;
    gap: 10px;
    justify-content: center;
    grid-template-columns: auto 30px;
}

/*Form Submitted*/
.umbraco-forms-submitmessage{
    padding-block: 60px;
    @media (min-width: 600px) {
        padding-block: 100px;
    }
    display: block;
    text-align: center;
}
/*Hide form*/
.form_submitted .form_content {
    display: none!important;
}
.form_submitted .form_submit_status{
    padding-block: 100px;
    display: grid;
    text-align: center;
    place-items: center;
    gap: 38px;
}
@media (min-width: 600px) {
    .form_submitted .form_submit_status{
        gap: 30px;
    }
}
.form_submitted .form_submit_status a {
    font-family: var(--font_family_mala);
    font-weight: 700;
    font-size: 16px;
    line-height: 19.2px;
    letter-spacing: 2.24px;
    text-transform: uppercase;
    color: var(--color_red);
}





/* ________________________________________ STANDARD POPUP WITH SLIDER ______________________________ */
.block .popup_gallery{
    border: 0;
    padding: 60px 0 0;
    background: transparent;
    max-width: 1150px;
    width: calc(100% - 40px);
    height: unset;
    overflow: visible;
    margin-inline: auto;
}
.block .popup_gallery .swiper{
    width: 100%;
}
.block .popup_gallery .swiper-slide{
    object-fit: cover;
    user-select: none;
    aspect-ratio: 2 / 1.75;
}
@media (min-width: 600px) {
    .block .popup_gallery .swiper-slide{
        aspect-ratio: 2 / 1;
    }
}
.block .popup_gallery .swiper-slide figure{
    margin:0;
    width: 100%;
    height: 100%;
}
.block .popup_gallery .swiper-slide img{
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}
.block .popup_gallery figcaption{
    background: var(--color_white);
    color: var(--color_deepest_blue);
    padding: 8px 8px;
    position: absolute;
    bottom: 0;
    width: 100%;
}
.block .popup_gallery button[value=close]{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    color: var(--color_white);
    background: transparent;
    border: 0;
    width: 40px;
    height: 40px;
    cursor: pointer;
}
.block .popup_gallery .slider_controls{
    position: static;
    margin-top: 30px;
    justify-content: space-between;
}
.block .popup_gallery .page_count{
    color:var(--color_white);
}


/* ________________________________________ ANIMATE-ON-SCROLL OVERRIDES ______________________________ */
[data-aos="expand-line"] { width: 0px; transition-property: width; }
[data-aos="expand-line"].aos-animate { width: 100px; }
[data-aos=fade-up] { transform: translate3d(0,30px,0) }
[data-aos=fade-down] { transform: translate3d(0,-30px,0) }
[data-aos=fade-right] { transform: translate3d(-30px,0,0) }
[data-aos=fade-left] { transform: translate3d(30px,0,0) }

/* ________________________________________ CUSTOM SELECTION ______________________________ */
::selection {
    background: var(--color_honeysuckle);
    color: var(--color_mystic_river);
}

/* ________________________________________ CUSTOM SCROLLBAR ______________________________ */
* {scrollbar-color: var(--color_driftwood) var(--color_river_mist); scrollbar-width: thin;}



/* ---------------------------------------- CUSTOM BOOKING WIDGET ------------------------- */
.booking-widget-container {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.33);
}
.booking-widget-container .booking-widget {
  position: absolute;
  z-index: 9999;
  right: 16px;
  top: 16px;
  width: 100%;
  max-width: 400px;
  background-color: var(--color_river_mist_light);
}
@media screen and (max-width: 768px) {
  .booking-widget-container .booking-widget {
    right: 0;
    top: 0;
  }
}
.booking-widget-container .booking-widget .close {
  /*margin: 16px;*/
  position: absolute;
  top: 0;
  right: 0;
  font-size: 32px;
  color: var(--color_signature_green);
}
.booking-widget-container .booking-widget .close:hover {
  color: var(--color_driftwood);
}
.booking-widget-container .booking-widget .cta {
  margin-top: 24px;
}
.booking-widget-container .booking-widget a {
  color: var(--color_signature_green);
  text-decoration: underline;
  text-transform: none;
  border: 0;
}
.booking-widget-container .booking-widget .button {
    background: var(--button_background);
    border: 2px solid var(--button_border_color);
    border-radius: 999px;
    color: var(--button_text_color);
    font: var(--font_navigation_medium);
    line-height: 10px;
    cursor: pointer;
    padding: 11px 30px 11px 40px;
    text-decoration: none;
    width: calc(100% - 40px);
    justify-content: center;
    text-transform: uppercase;
    position: relative;
    white-space: nowrap;
    outline: 0px;
    transition: background 0.3s, border-color 0.3s, color 0.3s ease-in;
    text-align: center;
    gap: 10px;
    align-items: center;
    display: flex;
    margin: 0 auto;
}
.booking-widget-container .booking-widget .button span {
    font: var(--font_body_medium);
  text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}
.booking-widget-container .booking-widget .widget-header {
  padding: 48px 32px 0 32px;
  text-align: center;
  margin-bottom: 40px;
}
.booking-widget-container .booking-widget .widget-header h3 {
  font:var(--font_h3);
  font-variant-numeric: lining-nums proportional-nums;
  color: var(--color_signature_green);
}
.booking-widget-container .booking-widget form {
  color: var(--color_signature_green);
  margin: 0;
}
.booking-widget-container .booking-widget .form-row {
  padding: 16px 32px;
}
.booking-widget-container .booking-widget label {
    display: block;
    color: var(--color_driftwood);
    text-align: center;
    font-family: var(--font_family_new_spirit);
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
}
.booking-widget-container .booking-widget .inputs {
  display: block;
    width: calc(100% - 64px);
    margin: 0 auto 16px auto;
    padding: 12px 8px;
    background: var(--color_river_mist);
    border-radius: 3px;
    color: var(--color_driftwood);
}
.booking-widget-container .booking-widget .input-field {
  font-size: 20px;
  text-align: center;
  width: 40px;
    padding: 4px 8px;
    border: 0;
  border-radius: 4px;
  outline: none;
    font-family: var(--font_family_new_spirit);
    color: var(--color_driftwood);
}
.booking-widget-container .booking-widget .input-container {
  width: 100%;
  display: flex;
  align-items: center;
  text-align: center;
}
.booking-widget-container .booking-widget .input-container .guests-input {
  width: calc(50% - 1px);
  border-right: 1px solid var(--color_driftwood);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  padding-inline: 8px;
}
.booking-widget-container .booking-widget .input-container .beds-input {
  width: calc(50% - 1px);
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding-inline: 8px;
}
.booking-widget-container .booking-widget .groups {
  text-align: center;
}
.booking-widget-container .booking-widget .groups p, 
.booking-widget-container .booking-widget .groups a {
  font:var(--font_body_medium);
}
.booking-widget-container .booking-widget .special-code label{
    font:var(--font_h4);
    color:var(--color_signature_green);
}
.booking-widget-container .booking-widget .special-code input {
  width: 100%;
  text-align: center;
    padding: 3px 12px;
  margin-top: 16px;
  border-radius: 0;
    border: 1px solid var(--color_driftwood);
    font: var(--font_body_medium);
    background: transparent;
    color: var(--color_driftwood);
}
.booking-widget-container .booking-widget .special-code input::placeholder {
  color: var(--color_grey_medium);
  font-size: 14px;
}
.booking-widget-container .booking-widget .special-code input:focus-visible {
    outline: 2px solid var(--color_focus_blue);
    outline-offset: -2px;
}
.booking-widget-container .calendar {
  padding: 32px 0;
}
.booking-widget-container .ui-spinner {
  border: 0 !important;
  width: calc(100% - 16px);
  background-color: transparent;
}
.booking-widget-container .ui-spinner input {
  border: 0 !important;
  margin: 0 8px;
}
.booking-widget-container .ui-spinner-button {
  border: 0;
  border-radius: 999px !important;
  background-color: var(--color_heritage_gold);
  color: #fff;
  width: 30px;
  height: 30px;
  z-index: 999;
}
.booking-widget-container .ui-spinner-button:hover, 
.booking-widget-container .ui-spinner-button:active {
  background-color: var(--color_driftwood);
  color: #fff;
}
.booking-widget-container .ui-spinner-button.ui-spinner-down {
  left: 0;
  top: 0;
}
.booking-widget-container .ui-spinner-button.ui-spinner-right {
  right: 0;
  top: 0;
}
.booking-widget-container .ui-spinner-button .ui-icon:hover, .booking-widget-container .ui-spinner-button .ui-icon:focus {
  background-image: url("https://www.songteller.com/css/jQuery-UI/1.13.2/images/ui-icons_ffffff_256x240.png");
}

/* hide easepick cal icon */
#booking_form > div.calendar.form-row > span:nth-child(2) {
  display: none !important;
  visibility: hidden !important;
}



/*Booking Widget - From globals*/
.booking-form {
    width: 100%;
    box-shadow: none;

    .calendar {
        padding-top: 0 !important;
        margin-top: -16px;

        .form-control.input {
            display: none;
            visibility: hidden;
        }
    }

    .inputs.form-row {
        margin-bottom: 0;
    }

    .cta {
        margin-block: 24px !important;
    }

    .flatpickr-calendar {
        background-color: transparent;
        box-shadow: none;
        width: 100%;
    }
    
    .flatpickr-months{
        margin-block:20px;
    }

    .flatpickr-months .flatpickr-prev-month,
    .flatpickr-months .flatpickr-next-month {
        color: var(--color_signature_green);
        fill: var(--color_signature_green);
        padding: 5px 10px;
        &:hover{
            svg{
                fill: var(--color_driftwood);
    }
        }
    }
    .flatpickr-rContainer {
        width: 100%;

        .flatpickr-weekday {
            font: var(--font_navigation_medium); 
            letter-spacing: 0.28px; 
            color: var(--color_signature_green);
            text-transform: uppercase;
        }
    }

    .flatpickr-days {
        width: 100%;

        .dayContainer {
            width: 100% !important;
            min-width: 100% !important;
            max-width: 100% !important;
        }
    }
    .flatpickr-current-month{
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .flatpickr-current-month .cur-month,
    .flatpickr-current-month .numInputWrapper .cur-year {
        color: var(--color_signature_green);
        font: var(--font_h4);
        line-height: 1;
        /*font-family: var(--font_family_raleway); */
        /*font-weight: 500; */
        /*font-size: 18px; */
        /*line-height: 26px; */
        font-variant-numeric: lining-nums proportional-nums;
        padding: 0;
    }

    .flatpickr-current-month .numInputWrapper .cur-year {
        padding-left: 4px;

        .arrowUp,
        .arrowDown {
            display: none;
            visibility: hidden;
        }
    }
    .flatpickr-current-month span.cur-month:hover,
    .flatpickr-current-month span.cur-year:hover{
        background: var(--color_white);
    }

    .flatpickr-day {
        height: auto;
        line-height: auto;
        max-width: none;
        font: var(--font_body_medium);
        font-weight:400;
        color:var(--color_signature_green);
        border-radius:3px;
        padding: 2px 0;
    }

    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange,
    .flatpickr-day.inRange,
    .flatpickr-day.selected.inRange,
    .flatpickr-day.startRange.inRange,
    .flatpickr-day.endRange.inRange,
    .flatpickr-day.selected:focus,
    .flatpickr-day.startRange:focus,
    .flatpickr-day.endRange:focus,
    .flatpickr-day.selected:hover,
    .flatpickr-day.startRange:hover,
    .flatpickr-day.endRange:hover,
    .flatpickr-day.selected.prevMonthDay,
    .flatpickr-day.startRange.prevMonthDay,
    .flatpickr-day.endRange.prevMonthDay,
    .flatpickr-day.selected.nextMonthDay,
    .flatpickr-day.startRange.nextMonthDay,
    .flatpickr-day.endRange.nextMonthDay {
        background: var(--color_heritage_gold);
        border-color: var(--color_heritage_gold);
        color: var(--color_signature_green);
    }
    .flatpickr-day.inRange, 
    .flatpickr-day.prevMonthDay.inRange, 
    .flatpickr-day.nextMonthDay.inRange, 
    .flatpickr-day.today.inRange, 
    .flatpickr-day.prevMonthDay.today.inRange, 
    .flatpickr-day.nextMonthDay.today.inRange, 
    .flatpickr-day:hover, 
    .flatpickr-day.prevMonthDay:hover, 
    .flatpickr-day.nextMonthDay:hover, 
    .flatpickr-day:focus, 
    .flatpickr-day.prevMonthDay:focus, 
    .flatpickr-day.nextMonthDay:focus {
        cursor: pointer;
        outline: 0;
        background: var(--color_heritage_gold);
        border-color: var(--color_heritage_gold);
        color:var(--color_signature_green);
    }
    .flatpickr-day.flatpickr-disabled, 
    .flatpickr-day.flatpickr-disabled:hover, 
    .flatpickr-day.prevMonthDay, 
    .flatpickr-day.nextMonthDay, 
    .flatpickr-day.notAllowed, 
    .flatpickr-day.notAllowed.prevMonthDay, 
    .flatpickr-day.notAllowed.nextMonthDay{
        color:var(--color_cottonwood);
    }
    .flatpickr-day.inRange {
        box-shadow: none;
        -webkit-box-shadow: none;
    }

    .flatpickr-day.selected.startRange,
    .flatpickr-day.startRange.startRange,
    .flatpickr-day.endRange.startRange {
        border-radius: 999px 0 0 999px;
    }

    .flatpickr-day.selected.endRange,
    .flatpickr-day.startRange.endRange,
    .flatpickr-day.endRange.endRange {
        border-radius: 0 999px 999px 0;
    }
    
    
    .room-list{
        display: grid;
        gap:20px;
        counter-reset: room-count;
        
        .room{
            counter-increment: room-count;
            position: relative;
            
            .h5{
                text-align: center;
                margin-bottom: 8px;
                
                &:after {
                    content: counters(room-count, ".");
                }
            }
            
            button[value=removeRoom]{
                position: absolute;
                top: 0;
                right: 35px;
                background: transparent;
                border: 0;
                width: 15px;
                padding: 0;
                height: 15px;
            }
        }
        /*Never show remove button on first room*/
        .room:first-child button[value=removeRoom]{
            display: none;
        }
    }
    
    button[value=addRoom]{
        font: var(--font_navigation_small);
        border: 0;
        background: transparent;
        display: block;
        margin: 20px auto;
        color: var(--color_medium_green);
        border-bottom: 1px solid;
        padding: 0;
        cursor: pointer;
    }

}

/* forces booking widget container to appear wherever the user has scrolled to */
.booking-widget-container {
    display: none;
    z-index: 9;
    position: fixed;
    top: 0;

    /* forces the booking widget to scroll if the window is too short */
    .booking-widget {
        max-height: calc(100% - 30px);
        height: auto;
        overflow: auto;

        @media screen and (max-width: 768px) {
            max-height: 100%;
        }
    }

    /* forces close button to have a larger click area */
    span.close {
        cursor: pointer;
        margin: 0;
        padding: 16px;
    }
}
