/*****************************************************************

     ██████╗ ███████╗███╗   ██╗███████╗██████╗  █████╗ ██╗
    ██╔════╝ ██╔════╝████╗  ██║██╔════╝██╔══██╗██╔══██╗██║
    ██║  ███╗█████╗  ██╔██╗ ██║█████╗  ██████╔╝███████║██║
    ██║   ██║██╔══╝  ██║╚██╗██║██╔══╝  ██╔══██╗██╔══██║██║
    ╚██████╔╝███████╗██║ ╚████║███████╗██║  ██║██║  ██║███████╗
     ╚═════╝ ╚══════╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝

 ******************************************************************/



    input, 
    textarea,
    select,
    button, 
    .button {
        border-radius: 4px;
    }

    input:focus, 
    textarea:focus,
    select:focus {
        box-shadow: 0 0 1rem -0.3rem currentColor;
    }



/**************************************************************************************************************

     ██████╗ ██████╗  █████╗ ██╗   ██╗██╗████████╗██╗   ██╗    ███████╗ ██████╗ ██████╗ ███╗   ███╗███████╗
    ██╔════╝ ██╔══██╗██╔══██╗██║   ██║██║╚══██╔══╝╚██╗ ██╔╝    ██╔════╝██╔═══██╗██╔══██╗████╗ ████║██╔════╝
    ██║  ███╗██████╔╝███████║██║   ██║██║   ██║    ╚████╔╝     █████╗  ██║   ██║██████╔╝██╔████╔██║███████╗
    ██║   ██║██╔══██╗██╔══██║╚██╗ ██╔╝██║   ██║     ╚██╔╝      ██╔══╝  ██║   ██║██╔══██╗██║╚██╔╝██║╚════██║
    ╚██████╔╝██║  ██║██║  ██║ ╚████╔╝ ██║   ██║      ██║       ██║     ╚██████╔╝██║  ██║██║ ╚═╝ ██║███████║
     ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝  ╚═══╝  ╚═╝   ╚═╝      ╚═╝       ╚═╝      ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝

 **************************************************************************************************************/



    /* General Gravity Forms stylings. */

    .gform_wrapper [class*="column"] {
        padding-right: var(--grid-gutter) !important;
        padding-left: var(--grid-gutter) !important;
    }

    footer .gform_wrapper {
        margin-top: 6rem !important;
    }

        .gform_body {
            clear: both;
        }

        .gform_footer {
            clear: both;
        }

        .gform_wrapper .row .gform_footer {
            padding-right: var(--grid-gutter) !important;
            padding-left: var(--grid-gutter) !important;
        }

        .gform_wrapper .textarea,
        .gform_wrapper .textarea.small {
            height: 15em;
        }

        .gform_wrapper .textarea.medium {
            height: 25em;
        }

        .gform_wrapper .textarea.large {
            height: 30em;
        }

    /* Form error message. */

    .gform_wrapper .validation_error {
        padding: 1em;
        font-size: unset;
        border-radius: 0.3rem;
        color: var(--color-white);
        background: rgba(var(--red), 0.5);
        transform: translate3d(0, 0, 0);
        animation-name: gform_validation_message_animation;
        animation-delay: 1s;
        animation-duration: 1s;
    }

    .gform_wrapper .row .validation_error {
        margin-left: var(--grid-gutter);
        margin-right: var(--grid-gutter);
    }

        .gform_wrapper .validation_error::before {
            display: inline-block;
            font-family: var(--font-icons);
            content: '\e80e';
            margin-right: 1em;
            color: #ff7878;
        }

    @keyframes gform_validation_message_animation {
        0% {
            transform: scale(1);
        }
        40% {
            opacity: 1;
            transform: scale(1.05);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }

    /* Form error fields. */

    .gform_wrapper .validation_message {
        background: rgba(var(--blue), 0.2);
        padding: 0.1em 0.5em;
        border-radius: 0.2rem;
        transform: translate3d(0, 0, 0);
        animation-name: gform_validation_field_animation;
        animation-delay: 2s;
        animation-duration: 8s;
        animation-iteration-count: infinite;
        animation
    }

        .gfield_error input,
        .gfield_error textarea,
        .gfield_error select {
            background: rgba(var(--gray-light-x), 0.3);
        }

    @keyframes gform_validation_field_animation {
        0% {
            transform: translateX(0);
        }
        5% {
            transform: translateX(10px);
        }
        10% {
            transform: translateX(0);
        }
        15% {
            transform: translateX(10px);
        }
        20% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(0);
        }
    }

    /* Form submit waiting loader. */

    .gform_ajax_spinner {
        background: white;
        width: 2.5rem !important;
        height: 2.5rem !important;
    }

    /* Form success confirmation message. */

    .gform_confirmation_message {
        padding: 2em;
        font-size: unset;
        border-radius: 0.3rem;
        color: var(--color-white);
        background: rgba(var(--green), 0.7);
        animation-name: gform_validation_message_animation;
        animation-delay: 0.3s;
        animation-duration: 0.5s;
    }

        .gform_confirmation_message::before {
            display: inline-block;
            font-family: var(--font-icons);
            content: '\e834';
            margin-right: 1em;
        }

    .row .gform_confirmation_message {
        margin-left: var(--grid-gutter);
        margin-right: var(--grid-gutter);
    }

    /* Newsletter form */

    .newsletter-form_wrapper {
        position: relative;
        height: 3.3rem;
    }

    .vanilla-layout-newsletter .newsletter-form_wrapper {
        margin: 3rem var(--grid-gutter) 0 var(--grid-gutter);
    }

    .laptop .vanilla-layout-newsletter .newsletter-form_wrapper {
        margin: 7rem var(--grid-gutter) 0 var(--grid-gutter);
    }

    .laptop .newsletter-form_wrapper {
        padding: 0;
    }

        .newsletter-form_wrapper label.gfield_label {
            font-size: 1.4rem;
            font-weight: 900;
            position: absolute;
            top: -4rem;
            left: 0;
        }

        .newsletter-form_wrapper .ginput_container_email input {
            height: 5rem;
            width: 100%;
            border: none !important;
            border-radius: 0 !important;
            padding: 0 !important;
            box-shadow: none !important;
            font-size: 1.2rem;
            padding: 0.2rem 1rem !important;
            position: absolute;
            bottom: 0;
            left: 0;
        }

        .newsletter-form_wrapper .gform_footer input {
            height: 5rem;
            width: 5rem;
            border: none !important;
            border-radius: 0 !important;
            padding: 0 !important;
            box-shadow: none !important;
            position: absolute;
            bottom: 0;
            right: 0;
        }

        .newsletter-form_wrapper .validation_error {
            font-size: 1.2rem;
            color: var(--color-white);
            background: none;
            position: absolute;
            bottom: -8rem;
            left: 0;
            width: 100%;
            padding: 0;
        }

        .newsletter-form_wrapper .validation_message {
            display: none;
        }

        .newsletter-form_wrapper .gform_ajax_spinner {
            display: none;
        }
    
    
    
    .gform_validation_container  {
        display: none;
    }



/***********************************************************************************************

    ███████╗███████╗ █████╗ ██████╗  ██████╗██╗  ██╗    ███████╗ ██████╗ ██████╗ ███╗   ███╗
    ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝██║  ██║    ██╔════╝██╔═══██╗██╔══██╗████╗ ████║
    ███████╗█████╗  ███████║██████╔╝██║     ███████║    █████╗  ██║   ██║██████╔╝██╔████╔██║
    ╚════██║██╔══╝  ██╔══██║██╔══██╗██║     ██╔══██║    ██╔══╝  ██║   ██║██╔══██╗██║╚██╔╝██║
    ███████║███████╗██║  ██║██║  ██║╚██████╗██║  ██║    ██║     ╚██████╔╝██║  ██║██║ ╚═╝ ██║
    ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝    ╚═╝      ╚═════╝ ╚═╝  ╚═╝╚═╝     ╚═╝

 ***********************************************************************************************/



    /* Search form */

    .header-search {
        position: relative;
        float: right;
        margin-top: -0.3rem;
    }

        .header-search .search-field {
            width: 12em;
        }

        .responsiville-mobimenu-open .header-search {
            width: 100%;
        }

            .responsiville-mobimenu-open .header-search .search-field {
                width: 8em;
            }

        .responsiville-mobimenu-open .header-search input,
        .responsiville-mobimenu-open .header-search button {
            height: 4rem;
            line-height: 4rem;
            font-size: 2.5rem;
            border: 1px solid white;
        }

        .header-search button {
            font-family: var(--font-icons);
        }

    input#search-field {
        position: absolute;
        font-family: 900;
        font-size: 1.8rem;
        top: 50%;
        width: 40%;
        left: 50%;
        transform: translateX(-50%);
        color: black;
        background: white;
        border: 5px solid white;
        line-height: 3;
        height: 80px;
    }

        .small input#search-field {
            width: 90%;
        }

        .laptop input#search-field {
            width: 40%;
        }

     #search-field::-webkit-input-placeholder {
        -webkit-text-security: none;
        color: var(--color-gray);
        font-family: 900;
        font-size: 1.8rem;
        pointer-events: none;
    }

        i.icon-search {
            display: block;
            font-size: 1.3rem;
            color: var(--color-white);
            background: var(--color-green);
            width: 3rem;
            height: 3rem;
            text-align: center;
            line-height: 3rem;
            position: absolute;
            top: 3.2rem;
            right: 0;
        }

        .tablet i.icon-search {
            position: relative;
            top: auto;
            right: auto;
        }

        .responsiville-mobimenu-open i.icon-search {
            font-size: 1.8rem;
        }

        .responsiville-mobimenu-open i.icon-search {
            color: var(--color-gray);
        }

            i.icon-search:hover {
                cursor: pointer;
                color: gray;
            }

    .curtain {
        position: fixed;
        top: 0;
        left: 0;
        background: var(--color-green);
        opacity: 0;
        height: 0;
        width: 100%;
        z-index: 99;
        overflow: hidden;
    }

    .open {
        height: 100%;
        opacity: 0.9;
    }

    .tranz {
        -webkit-transition: all 500ms ease;
        -moz-transition: all 500ms ease;
        transition: all 500ms ease;
    }

    .curtain.tranz.open .icon-search:before {
        color: var(--color-green);
    }

    .curtain.tranz.open .icon-search:after {
        display: none;
    }

    button.submit-search {
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }

        .small button.submit-search {
            left: 75%;
            top: 50%;
        }

        .laptop button.submit-search {
            left: 63%;
            top: 50%;
        }

        .desktop button.submit-search {
            left: 65%;
        }

        .large button.submit-search {
            left: 66%;
            top: 53%;
        }

    .responsiville-mobimenu-open button.submit-search {
        display: none;
    }

    .laptop .responsiville-mobimenu-open button.submit-search {
        left: 50%;
        top: 90%;
        display: block;
    }

    button.submit-search .icon-search {
        font-size: 3rem;
        color: var(--color-green);
        padding: 0;
        background: transparent;
    }

    a.curtainclose {
        position: absolute;
        top: var(--grid-gutter);
        right: var(--grid-gutter);
    }

    .tablet a.curtainclose {
        position: absolute;
        top: auto;
        right: auto;
        bottom: 2rem;
        left: 50%;
        margin: 40px 0 0 410px;
        transform: translateX(-50%);
    }

    .tablet a.curtainclose {
        margin: 40px 0 0 230px;
    }

    .laptop a.curtainclose {
        margin: 40px 0 0 270px;
        top: 50%;
        bottom: auto;
        transform: translate(-50%, -50%);
    }

    .desktop a.curtainclose {
        margin: 40px 0 0 308px;
    }

    .large a.curtainclose {
        margin: 40px 0 0 360px;
    }

    .xlarge a.curtainclose {
        margin: 40px 0 0 410px;
    }

        a.curtainclose i.icon-close {
            font-size: 3rem;
            color: white;
            font-family: var(--font-sans-serif) !important;
        }

