/*
Theme Name: Schilsweek
Theme URI: https://schilsweek.nl/
Author: Backscreen
Author URI: https://backscreen.nl
Description: Theme for Schilsweek.nl
Version: 0.3.8
*/

body {
    height: 100%;
    min-height: 100vh;
    background-color: #000000;
}

body.tml-action-register,
body.tml-action-login,
body.tml-action-lostpassword,
body.tml-action-dashboard,
body.tml-action-resetpass,
body.page-template-page-contact {
    background: #75741f url('img/background_outdoor.jpg') no-repeat center center;
    background-size: cover;
}

body.page-template-page-portal {
    background: #e9e9e9 url('img/background_home_v3.jpg') no-repeat top center;
    background-size: 126%;
}

body.page-template-page-appointments,
body.page-template-page-calfbook-request,
body.page-template-page-presentations,
body.page-template-page-schils-media,
body.page-template-page-schils-pdfs,
body.page-template-page-schils-webinars,
body.page-template-page-schils-files,
body.page-template-page-appointment-request {
    background: #e9e9e9 url('img/bg_home.jpg') no-repeat top center;
    background-size: 126%;
}

body.page-template-page-calf-rearing {
    background: #e9e9e9 url('img/background_calf_v3.jpg') no-repeat top center;
    background-size: 100%;
}

body.page-template-page-piglet-rearing {
    background: #e9e9e9 url('img/background_piglet_v3.jpg') no-repeat top center;
    background-size: 100%;
}

body.page-template-page-dry-fats {
    background: #e9e9e9 url('img/background_dryfats_v3.jpg') no-repeat top center;
    background-size: 100%;
}

.gate {
    width: 80vw;
    height: 47vw;
    top: calc((100vh - 47vw) / 2);
    position: absolute;
    left: 10vw;
    background: url('img/gate_outdoor_2.png') no-repeat center center;
    background-size: contain;
    padding: 8vw 7vw 0 7vw;
}

img,
video {
    max-width: 100%;
}

.video-js {
    width: 100% !important;
    height: 40.5vw !important;
}
    
    .video-js .vjs-big-play-button {
        left: 33vw;
        top: 18vw;
    }

video {
    margin: 0;
    padding: 0;
    display: block;
}

.tippy-box[data-theme~='schils'] {
    background-color: #DF1840;
    color: white;
    text-transform: uppercase;
    padding: 6px 12px;
    font-weight: bold;
    font-size: 18px;
    line-height: 22px;
}

.tippy-box[data-theme~='schils'][data-placement^='top'] > .tippy-arrow::before {
    border-top-color: #DF1840;
}

.tippy-box[data-theme~='schils'][data-placement^='bottom'] > .tippy-arrow::before {
    border-bottom-color: #DF1840;
}

.tippy-box[data-theme~='schils'][data-placement^='left'] > .tippy-arrow::before {
    border-left-color: #DF1840;
}

.tippy-box[data-theme~='schils'][data-placement^='right'] > .tippy-arrow::before {
    border-right-color: #DF1840;
}

.tippy-box[data-theme~='schils'] > .tippy-arrow::before {
    transform: scale(1.5);
}

.tippy-box[data-theme~='schils-small'] {
    background-color: #DF1840;
    color: white;
    text-transform: uppercase;
    font-weight: bold;
    padding: 3px 6px;
    font-size: 14px;
    line-height: 18px;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, .5));
}

.tippy-box[data-theme~='schils-small'][data-placement^='top'] > .tippy-arrow::before {
    border-top-color: #DF1840;
}

.tippy-box[data-theme~='schils-small'][data-placement^='bottom'] > .tippy-arrow::before {
    border-bottom-color: #DF1840;
}

.tippy-box[data-theme~='schils-small'][data-placement^='left'] > .tippy-arrow::before {
    border-left-color: #DF1840;
}

.tippy-box[data-theme~='schils-small'][data-placement^='right'] > .tippy-arrow::before {
    border-right-color: #DF1840;
}

.tippy-box[data-theme~='schils-small'] > .tippy-arrow::before {
    transform: scale(1.5);
}

*[id^='tippy-']{
    pointer-events: initial;
}

/*
----------- TYPOGRAPHY ---------------
*/
@font-face {
    font-family: 'Frutiger LT Std';
    src: url('fonts/FrutigerLTStd-Roman.woff2') format('woff2'),
        url('fonts/FrutigerLTStd-Roman.woff') format('woff'),
        url('fonts/FrutigerLTStd-Roman.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Frutiger LT Std';
    src: url('fonts/FrutigerLTStd-Bold.woff2') format('woff2'),
        url('fonts/FrutigerLTStd-Bold.woff') format('woff'),
        url('fonts/FrutigerLTStd-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Frutiger LT Std';
    src: url('fonts/FrutigerLTStd-Black.woff2') format('woff2'),
        url('fonts/FrutigerLTStd-Black.woff') format('woff'),
        url('fonts/FrutigerLTStd-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

body {
    font-size: 16px;
    font-weight: normal;
    line-height: 22px;
    font-family: 'Frutiger LT Std';
}

.text-center {
    text-align: center;
}

.pull-right {
    float: right;
}

p {
    margin-bottom: 10px;
}

/*
----------- COLOURS ---------------
*/
.text-white {
    color: #FFFFFF;
}

.text-blue {
    color: #00407D;
}

.text-red {
    color: #DF1840;
}

.background-white {
    background-color: #FFFFFF;
}

.background-blue {
    background-color: #00407D;
}

.background-red {
    background-color: #DF1840;
}

a {
    color: inherit;
    text-decoration: none;
}

/*
----------- BUTTONS ---------------
*/
button,
[role="button"],
.btn,
.js-open-overlay {
    cursor: pointer;
}

.btn,
.tml-button,
.wpcf7-submit {
    font-weight: normal;
    font-size: 16px;
    display: inline-block;
    padding: 8px 16px;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
        touch-action: manipulation;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border-width: 0;
    border-style: hidden;
    border-radius: 16px;
    -webkit-transition: all 200ms ease-in-out;
            transition: all 200ms ease-in-out;
}

    .btn:focus,
    .btn:active:focus,
    .btn.active:focus,
    .btn.focus,
    .btn:active.focus,
    .btn.active.focus {
        outline: 5px auto -webkit-focus-ring-color;
        outline-offset: -2px;
    }

    .btn:hover,
    .btn:focus,
    .btn.focus,
    .wpcf7-submit:hover {
        text-decoration: none;
        opacity: 0.85;
    }

    .btn:active,
    .btn.active {
        background-image: none;
        outline: 0;
        -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
                box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
    }

    .btn.disabled,
    .btn[disabled],
    fieldset[disabled] .btn {
        cursor: not-allowed;
        filter: alpha(opacity=65);
        -webkit-box-shadow: none;
                box-shadow: none;
        opacity: .65;
    }

    .wpcf7-submit {
        background-color: #DF1840;
        color: white;
        cursor: pointer;
    }

    .btn--nopointer {
        cursor: default;
    }

        .btn--nopointer:hover {
            opacity: 1;
        }


/*
----------- HOME ---------------
*/
.entree_video_wrapper {
    margin-top: calc((100vh - (100vw / 16 * 9)) / 2);
}

#entree_video {
    width: 100%;
    max-width: 100vw;
}

/*
----------- THEME MY LOGIN ---------------
*/
.gate-title {
    font-size: 24px;
    text-transform: uppercase;
    margin-left: 3.5vw;
    margin-top: 3vw;
    margin-bottom: 2vw;
}

.tml-form {
    margin: 0 auto;
    width: 89%;
    height: 29vw;
    background: rgba(255, 255, 255, 0.6);
    padding: 1vw 2vw;
}

    .tml-login,
    .tml-lostpassword,
    .tml-resetpass {
        height: 28vw;
    }

    .tml-form-dashboard {
        background: rgba(255, 255, 255, 0.3);
    }

    body.tml-action-login .tml-form,
    body.tml-action-lostpassword .tml-form,
    body.tml-action-resetpass .tml-form {
        padding-left: 15vw;
        padding-right: 15vw;
    }

    body.page-template-page-contact .wpcf7 {
        text-align: left;
        font-weight: bold;
        max-width: 400px;
        margin: 0 auto;
    }

.tml-field-wrap {
    margin-bottom: 0.5vw;
}
    
    .tml-field-wrap label {
        font-weight: bold;
        font-size: 15px;
    }

    .tml-field-wrap input[type="text"],
    .tml-field-wrap input[type="email"],
    .tml-field-wrap input[type="password"],
    .wpcf7 input[type="text"],
    .wpcf7 input[type="password"],
    .wpcf7 input[type="email"],
    .wpcf7 textarea {
        width: 100%;
        border: 1px solid #DF1840;
        border-radius: 15px;
        font-size: 16px;
        line-height: 26px;
        height: 26px;
        padding: 0 8px;
    }

        .wpcf7 textarea {
            height: 80px;
        }

    .tml-field-wrap input[type="checkbox"] {
        border: 1px solid #DF1840;
        border-radius: 15px;
        font-size: 16px;
        line-height: 26px;
        height: 16px;
        width: 16px;
        padding: 0 8px;
    }

    .tml-field-wrap select,
    .wpcf7 select {
        width: 100%;
        border: 1px solid #DF1840;
        border-radius: 15px;
        font-size: 16px;
        line-height: 26px;
        height: 26px;
        padding: 0 8px;
    }

.tml-indicator_hint-wrap {
    display: none;
}

.tml-button {
    background-color: #DF1840;
    color: #FFFFFF;
    padding-left: 32px;
    padding-right: 32px;
}

#pass-strength-result {
    display: none;
}

.tml-errors,
.tml-message {
    background: white;
    padding: 6px;
    border-left: 2px solid #df1941;
    margin-bottom: 10px;
    font-size: 14px;
}

.tml-secondary-action {
    margin-top: 7%;
    font-size: 18px;
}

.countdown {
    position: absolute;
    top: 15px;
    right: -3%;
}

    #tml-countdown {
        margin-top: 24px;
    }

.dashboard-content {
    margin: 8% auto 0 auto; 
    max-width: 500px;
}

    body.page-template-page-contact .dashboard-content {
        margin-top: 3%;
    }

.tml-lostpassword-link {
    color: #00407D;
}

/*
----------- PORTAL ---------------
*/
.portal_video_wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: black;
    z-index: 10;
    padding-top: calc((100vh - (100vw / 16 * 9)) / 2);
}

.portal__menu {
    padding-top: 3vw;
    padding-bottom: 7.5vw;
    width: 71vw;
    margin: 0 auto;
}

    body.page-template-page-portal .portal__menu,
    body.page-template-page-appointments .portal__menu,
    body.page-template-page-appointment-request .portal__menu,
    body.page-template-page-calfbook-request .portal__menu,
    body.page-template-page-presentations .portal__menu,
    body.page-template-page-schils-media .portal__menu,
    body.page-template-page-schils-pdfs .portal__menu,
    body.page-template-page-schils-webinars .portal__menu,
    body.page-template-page-schils-files .portal__menu {
        width: 89vw;
        padding-top: 90px;
        padding-bottom: 100px;
    }

    .portal__menu ul {
        margin-left: -62px;
        text-shadow: 0px 0px 4px rgb(0 0 0 / 25%);
    }

    .portal__menu li {
        display: inline-block;
    }

    .portal__menu a {
        padding: 0 6px;
    }

.portal__countdown {
    position: absolute;
    top: 0;
    right: 18.5vw;
    padding-top: 80px;
}

    .portal__countdown .btn {
        font-size: 12px;
    }

.portal {
    width: 100vw;
    height: 42vw;
    position: relative;
}

    body.page-template-page-portal .portal,
    body.page-template-page-appointments .portal,
    body.page-template-page-appointment-request .portal,
    body.page-template-page-calfbook-request .portal,
    body.page-template-page-presentations .portal,
    body.page-template-page-schils-media .portal,
    body.page-template-page-schils-pdfs .portal,
    body.page-template-page-schils-webinars .portal,
    body.page-template-page-schils-files .portal {
        padding-top: 7vw;
        height: 45vw;
    }

.portal__segments__menu {
    position: absolute;
    top: 9vw;
    left: 13vw;
    width: 60px;
}
    
    body.page-template-page-portal .portal__segments__menu,
    body.page-template-page-appointments .portal__segments__menu,
    body.page-template-page-appointment-request .portal__segments__menu,
    body.page-template-page-calfbook-request .portal__segments__menu,
    body.page-template-page-presentations .portal__segments__menu,
    body.page-template-page-schils-media .portal__segments__menu,
    body.page-template-page-schils-pdfs .portal__segments__menu,
    body.page-template-page-schils-webinars .portal__segments__menu,
    body.page-template-page-schils-files .portal__segments__menu {
        top: 14vw;
        left: 5vw;
    }

    .portal__segments__menu--right {
        left: auto;
        right: 13vw;
    }

        body.page-template-page-portal .portal__segments__menu--right,
        body.page-template-page-appointments .portal__segments__menu--right,
        body.page-template-page-appointment-request .portal__segments__menu--right,
        body.page-template-page-calfbook-request .portal__segments__menu--right,
        body.page-template-page-presentations .portal__segments__menu--right,
        body.page-template-page-schils-media .portal__segments__menu--right,
        body.page-template-page-schils-pdfs .portal__segments__menu--right,
        body.page-template-page-schils-webinars .portal__segments__menu--right,
        body.page-template-page-schils-files .portal__segments__menu--right {
            left: auto;
            right: 5vw;
        }

    .portal__segments__item {
        display: inline-block;
        width: 60px;
        height: 60px;
        margin-bottom: 20px;
        background-color: white;
        box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, 0.5);
        -webkit-transition: all 250ms ease-in-out;
        transition: all 250ms ease-in-out;
    }

        .portal__segments__item:hover {
            -webkit-transform: scale(1.1);
            transform: scale(1.1);
        }

        .portal__segments__item img {
            width: 100%;
            padding: 5px;
        }

    .portal__segments__item--active {
        background-color: #DF1840;
    }

.portal-content {
    width: 71vw;
    margin: 0 auto;
    padding-top: 2.5vw;
}

.segment__title,
.segment__title__portal {
    color: #00407D;
    text-transform: uppercase;
    margin: 0 0 0 7vw;
    font-size: 26px;
}

    .segment__title__portal {
        margin-left: 8.5vw;
    }

.portal-content-home {
    height: 24vw;
    width: 39vw;
    margin: 0 auto;
    margin-top: 8.5vw;
}

    .portal-content-home h4 {
        text-transform: uppercase;
        font-size: 14px;
    }

.portal__footer {
    width: 100%;
}

    .portal__footer__content {
        width: 71vw;
        min-width: 980px;
        margin: 0 auto;
        padding-bottom: 50px;
        padding-top: 20px;
    }

    .portal__footer h4 {
        margin-bottom: 15px;
    }

    .portal__footer ul li a {
        display: inline-block;
        color: rgba(0, 0, 0, 0.4);
        font-weight: normal;
        padding: 3px 0;
    }

    .whatsnext {
        font-size: 14px;
        position: relative;
    }

        .whatsnext:after {
            content: " ";
            display: block;
            width: 2px;
            height: 100%;
            background-color: red;
            position: absolute;
            left: 15.5%;
            top: 0;
            bottom: 0;
        }

        .whatsnext__item {
            margin-bottom: 10px;
        }

            .whatsnext__item:after {
                content: " ";
                display: block;
                clear: both;
            }

        .whatsnext__item__left {
            display: inline-block;
            width: 15%;
            float: left;
        }

        .whatsnext__item__right {
            display: inline-block;
            width: 80%;
            float: right;
        }

        .whatsnext__item__time {
            font-weight: bold;
        }

        .whatsnext__item__type {
            font-weight: bold;
            text-transform: uppercase;
        }

        .whatsnext__item p {
            color: rgba(0, 0, 0, 0.4);
        }

.portal__home {
    display: block;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;

    position: fixed;
    z-index: 2147483003;
    bottom: 20px;
    right: 100px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
    padding: 7px 10px 0px 10px;
    box-shadow: 0px 0px 15px rgb(0 0 0 / 25%);
}

.box {
    padding: 20px;
    background-color: rgba(255, 255, 250, 0.6);
    height: 40vw;
    margin-top: -5vw;
    position: relative;
}

    .box__title__icon {
        height: 60px;
        margin-top: -7px;
        display: inline-block;
    }
    
    .box__title__portal {
        display: inline-block;
        color: #00407D;
        text-transform: uppercase;
        margin: 0;
        font-size: 18px;
    }

    .box__scroller {
        height: 28vw;
        padding: 20px 0;
        overflow-y: scroll;
        overflow-x: hidden;
    }

.portal__board {
    display: block;
    color: white;
    font-size: 9px;
    text-transform: uppercase;
    position: absolute;
    top: 9.5vw;
    right: 1.2vw;
    width: 11vw;
    line-height: 12px;
    text-align: center;
    height: 6vw;
    padding-top: 1vw;
}

.portal__poi {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    color: white;
    text-align: center;
    line-height: 5vw;
}

.custom__posts {

}

    .custom__posts__filter {
        text-align: center;
    }

        .custom__posts__filter ul li {
            display: inline-block;
            text-transform: uppercase;
            font-weight: bold;
            font-size: 13px;
            padding: 0 4px;
            text-shadow: 0 0 7px white;
        }

        .custom__posts__filter__selector {
            cursor: pointer;
        }
    
    .custom__post {
        margin-bottom: 30px;
    }

    .custom__post__image {
        position: relative;
    }

        .custom__post__image img {
            margin-bottom: 10px;
            box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
            max-width: none;
            width: 100%;
        }

            .custom__post__image--appointment img {
                box-shadow: none;
                margin-bottom: -20px;
                margin-top: -20px;
            }

        .custom__post__image__triangle {
            position: absolute;
            top: 0;
            right: 0;
        }

            .custom__post__image__triangle:before {
                content: " ";
                position: absolute;
                top: 0;
                right: 0;
                display: block;
                width: 0;
                height: 0;
                border-top: 80px solid #DF1840;
                border-left: 80px solid transparent;
                z-index: 0;
            }

            .custom__post__image__triangle span {
                position: absolute;
                top: 5px;
                right: 10px;
                font-weight: bold;
            }

        .custom__post__image__play {
            background: url('img/icon-video.png') no-repeat center center;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-size: 5vw;
        }
    
    .custom__post h3 {
        text-transform: uppercase;
        font-size: 16px;
    }

    .custom__post h4 {
        text-transform: uppercase;
        font-size: 13px;
    }

    .custom__post p {
        font-size: 12px;
        line-height: 1.2;
    }

    .custom__post--appointment {
        height: 23vw;
        max-height: 300px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; 
        -webkit-box-pack: justify; 
        -ms-flex-pack: justify; 
        justify-content: space-between; 
        -webkit-box-align: center; 
        -ms-flex-align: center; 
        align-items: center;
    }

    .custom__post--presentation {
        height: 33vw;
        max-height: 320px;
    }

    .custom__post--schilsmedia {
        height: 21vw;
        max-height: 300px;
    }

.alert_bar {
    width: 100%;
    padding: 12px 10%;
    position: fixed;
}

/*
----------- OVERLAY ---------------
*/
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    display: none;
    z-index: 1;
}

    .overlay--footer {
        z-index: 10000;
    }

    .overlay--visible {
        display: block;
    }

.overlay__modal {
    background-color: white;
    width: 72vw;
    margin: 0 auto;
    margin-top: calc((100vh - 40vw) / 2);
    min-height: 40vw;
    position: relative;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
}

    .overlay--footer .overlay__modal {
        height: 40vw;
        min-height: auto;
        max-width: 1280px;
        max-height: 720px;
    }

    .overlay--footer .overlay__content img {
        max-width: none;
        width: 100%;
        max-height: 40vw;
    }

    .overlay__close {
        background-color: #DF1840;
        border-radius: 20px;
        width: 40px;
        height: 40px;
        font-weight: bold;
        color: white;
        text-align: center;
        line-height: 40px;   
        position: absolute;
        top: -20px;
        right: -20px;
        cursor: pointer;
    }

.overlay__dryfats__poi,
.overlay__piglet__poi {
    position: absolute; 
    cursor: pointer;
    height: 3.3vw;
    width: 3.3vw;
}

.overlay--calfbook .overlay__modal {
    margin-top: calc((100vh - 50vw) / 2);
    max-height: 90vh;
    min-height: auto;
}

.overlay__content--brochures,
.overlay__content--calfbook {
    padding: 30px; 
    overflow-y: scroll; 
    height: 40vw;
    background-color: #e5e5e5;
}

    .overlay__content--calfbook {
        height: 50vw;
    }

    .overlay__content__brochuretitle {
        text-transform: uppercase;
        font-weight: bold;
        margin-bottom: 20px;
        font-size: 24px;
    }

    .brochure {
        margin-bottom: 30px;
        text-align: center;
        height: 32vw;
    }

        .brochure img {
            margin-bottom: 10px;
        }

        .brochure span {
            display: inline-block;
            padding: 6px;
            cursor: pointer;
        }

    .pdfobject-container {
        height: 45vw;
    }

    .pdf__toolbar {
        background-color: #e5e5e5;
        position: absolute;
        top: 0;
        left: 0;
        height: 60px;
        width: 100%;
        padding: 20px;  
    }

.overlay__content--calfbook {
    padding: 0;
}

    .overlay__content--calfbook ol {
        margin-top: 10px;
    }
    
    .overlay__content--calfbook ol li {
        font-size: 11px;
        line-height: 18px;
        margin-left: 15px;
    }

    .overlay__content--calfbook .lazy_img_wrapper {
        position: relative;
        width: calc(100% - 15px);
        margin-bottom: 15px;
    }

.overlay--piglet img {
    max-width: none;
    width: 100%;
}

.complete__calfbook__form {
    width: 62vw;
    margin-left: 38vw;
    padding-top: 8vw;
    text-align: center;
}

    .complete__calfbook__form h1 {
        font-size: 80px;
        text-transform: uppercase;
    }

    .complete__calfbook__form form {
        max-width: 440px;
        text-align: left;
        margin: 0 auto;
    }

@media (min-width: 1200px) {

    body.page-template-page-portal,
    body.page-template-page-appointments,
    body.page-template-page-appointment-request,
    body.page-template-page-calfbook-request,
    body.page-template-page-presentations,
    body.page-template-page-schils-media,
    body.page-template-page-schils-pdfs,
    body.page-template-page-schils-webinars,
    body.page-template-page-schils-files {
        background-size: 110%;
    }

    body.page-template-page-portal .portal,
    body.page-template-page-appointments .portal,
    body.page-template-page-appointment-request .portal,
    body.page-template-page-calfbook-request .portal,
    body.page-template-page-presentations .portal,
    body.page-template-page-schils-media .portal,
    body.page-template-page-schils-pdfs .portal,
    body.page-template-page-schils-webinars .portal,
    body.page-template-page-schils-files .portal {
        height: 39vw;
    }

    body.page-template-page-portal .portal__menu,
    body.page-template-page-appointments .portal__menu,
    body.page-template-page-appointment-request .portal__menu,
    body.page-template-page-calfbook-request .portal__menu,
    body.page-template-page-presentations .portal__menu,
    body.page-template-page-schils-media .portal__menu,
    body.page-template-page-schils-pdfs .portal__menu,
    body.page-template-page-schils-webinars .portal__menu,
    body.page-template-page-schils-files .portal__menu {
        width: 78vw;
    }

    body.page-template-page-portal .portal__segments__menu, 
    body.page-template-page-appointments .portal__segments__menu, 
    body.page-template-page-appointment-request .portal__segments__menu,
    body.page-template-page-calfbook-request .portal__segments__menu,
    body.page-template-page-presentations .portal__segments__menu, 
    body.page-template-page-schils-media .portal__segments__menu,
    body.page-template-page-schils-pdfs .portal__segments__menu,
    body.page-template-page-schils-webinars .portal__segments__menu,
    body.page-template-page-schils-files .portal__segments__menu {
        left: 11vw;
    }

    body.page-template-page-portal .portal__segments__menu--right, 
    body.page-template-page-appointments .portal__segments__menu--right, 
    body.page-template-page-appointment-request .portal__segments__menu--right,
    body.page-template-page-calfbook-request .portal__segments__menu--right,
    body.page-template-page-presentations .portal__segments__menu--right, 
    body.page-template-page-schils-media .portal__segments__menu--right,
    body.page-template-page-schils-pdfs .portal__segments__menu--right,
    body.page-template-page-schils-webinars .portal__segments__menu--right,
    body.page-template-page-schils-files .portal__segments__menu--right {
        left: auto;
        right: 11vw;
    }

    .portal__menu a {
        padding: 0 12px;
    }

    .portal__menu ul {
        margin-left: -72px;
    }

    .portal-content {
        width: 63vw;
    }

    .segment__title {
        margin-left: 3vw;
    }

    .box {
        height: 34vw;
    }

    .box__scroller {
        height: 24vw;
    }

    .tml-form {
        padding: 2vw;
    }

    .tml-field-wrap {
        margin-bottom: 1vw;
    }

        div[class^='tml-interest_'], 
        div[class*=' tml-interest_'] {
            margin-bottom: 12px;
        }

    .countdown {
        right: -1%;
    }

    .overlay--calfbook .overlay__modal {
        margin-top: calc((100vh - 90vh) / 2);
        max-height: 90vh;
        min-height: auto;
    }

    .overlay__content--calfbook {
        max-height: 90vh;
    }

}

@media (min-width: 1400px) {

    body.page-template-page-portal,
    body.page-template-page-appointments,
    body.page-template-page-appointment-request,
    body.page-template-page-calfbook-request,
    body.page-template-page-presentations,
    body.page-template-page-schils-media,
    body.page-template-page-schils-pdfs,
    body.page-template-page-schils-webinars,
    body.page-template-page-schils-files {
        background-size: 100%;
    }

    body.page-template-page-portal .portal,
    body.page-template-page-appointments .portal,
    body.page-template-page-appointment-request .portal,
    body.page-template-page-calfbook-request .portal,
    body.page-template-page-presentations .portal,
    body.page-template-page-schils-media .portal,
    body.page-template-page-schils-pdfs .portal,
    body.page-template-page-schils-webinars .portal,
    body.page-template-page-schils-files .portal {
        height: 37vw;
    }

    body.page-template-page-portal .portal__menu,
    body.page-template-page-appointments .portal__menu,
    body.page-template-page-appointment-request .portal__menu,
    body.page-template-page-calfbook-request .portal__menu,
    body.page-template-page-presentations .portal__menu,
    body.page-template-page-schils-media .portal__menu,
    body.page-template-page-schils-pdfs .portal__menu,
    body.page-template-page-schils-webinars .portal__menu,
    body.page-template-page-schils-files .portal__menu {
        width: 71vw;
    }

    body.page-template-page-portal .portal__segments__menu, 
    body.page-template-page-appointments .portal__segments__menu, 
    body.page-template-page-appointment-request .portal__segments__menu,
    body.page-template-page-calfbook-request .portal__segments__menu,
    body.page-template-page-presentations .portal__segments__menu, 
    body.page-template-page-schils-media .portal__segments__menu,
    body.page-template-page-schils-pdfs .portal__segments__menu,
    body.page-template-page-schils-webinars .portal__segments__menu,
    body.page-template-page-schils-files .portal__segments__menu {
        left: 14vw;
    }

    body.page-template-page-portal .portal__segments__menu--right, 
    body.page-template-page-appointments .portal__segments__menu--right, 
    body.page-template-page-appointment-request .portal__segments__menu--right,
    body.page-template-page-calfbook-request .portal__segments__menu--right,
    body.page-template-page-presentations .portal__segments__menu--right, 
    body.page-template-page-schils-media .portal__segments__menu--right,
    body.page-template-page-schils-pdfs .portal__segments__menu--right,
    body.page-template-page-schils-webinars .portal__segments__menu--right,
    body.page-template-page-schils-files .portal__segments__menu--right {
        left: auto;
        right: 14vw;
    }

    .portal-content {
        width: 58vw;
    }

    .segment__title {
        margin-left: 0.5vw;
    }

    .box {
        height: 31vw;
    }

    .tml-field-wrap {
        margin-bottom: 1.5vw;
    }

    .tml-secondary-action {
        margin-top: 50px;
        padding-bottom: 30px;
    }

    .gate-title {
        font-size: 26px;
    }

    .countdown {
        right: 0;
    }

    .portal__menu {
        padding-top: 4vw;
        padding-bottom: 7vw;
    }

    .overlay__content--calfbook ol li {
        font-size: 13px;
        line-height: 20px;
    }

    .portal__board {
        font-size: 11px;
        line-height: 14px;
    }

}

@media (min-width: 1800px) {

    .gate {
        width: 60vw;
        height: 40vw;
        left: 20vw;
        padding: 8vw 6vw 0 6vw;
    }

    .tml-form {
        width: 91%;
        height: 21vw;
        padding: 1vw;
    }

    .gate-title {
        margin-bottom: 1.5vw;
    }

    .tml-field-wrap {
        margin-bottom: 1vw;
    }

    body.page-template-page-portal .portal,
    body.page-template-page-appointments .portal,
    body.page-template-page-appointment-request .portal,
    body.page-template-page-calfbook-request .portal,
    body.page-template-page-presentations .portal,
    body.page-template-page-schils-media .portal,
    body.page-template-page-schils-pdfs .portal,
    body.page-template-page-schils-webinars .portal,
    body.page-template-page-schils-files .portal {
        height: 40vw;
    }

    body.page-template-page-portal .portal__segments__menu, 
    body.page-template-page-appointments .portal__segments__menu, 
    body.page-template-page-appointment-request .portal__segments__menu,
    body.page-template-page-calfbook-request .portal__segments__menu,
    body.page-template-page-presentations .portal__segments__menu, 
    body.page-template-page-schils-media .portal__segments__menu,
    body.page-template-page-schils-pdfs .portal__segments__menu,
    body.page-template-page-schils-webinars .portal__segments__menu,
    body.page-template-page-schils-files .portal__segments__menu {
        left: 15vw;
        top: 18vw;
    }

    body.page-template-page-portal .portal__segments__menu--right, 
    body.page-template-page-appointments .portal__segments__menu--right, 
    body.page-template-page-appointment-request .portal__segments__menu--right,
    body.page-template-page-calfbook-request .portal__segments__menu--right,
    body.page-template-page-presentations .portal__segments__menu--right, 
    body.page-template-page-schils-media .portal__segments__menu--right,
    body.page-template-page-schils-pdfs .portal__segments__menu--right,
    body.page-template-page-schils-webinars .portal__segments__menu--right,
    body.page-template-page-schils-files .portal__segments__menu--right {
        left: auto;
        right: 15vw;
        top: 18vw;
    }

    .portal-content {
        width: 56vw;
    }

    .box {
        height: 35vw;
    }

    .overlay__content--calfbook ol li {
        font-size: 15px;
        line-height: 25px;
    }

    .portal__board {
        font-size: 14px;
        line-height: 20px;
    }

}