/* Small devices (phones, 0px and up) */
@media (min-width: 0px) and (max-width: 576px) {
    .menu-header {
        padding: 0;
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
    }
    .menu-header .site-logo {
        height: 3.4vw;
        background-image: url('images/header/home-white-logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header button {
        background-color: #1E4E91;
        border-radius: 15pt;
        border: none;
        padding-left: 50px;
        padding-right: 50px;
        padding-top: 10px;
        padding-bottom: 10px;
        cursor: pointer;
        color: #E6E8F0;
        font-size: calc(7pt + (14 - 7) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header .login-button {
        margin-left: 25px;
        height: 12vw;
        font-size: calc(11pt + (15 - 11) * ((100vw - 300px) / (1920 - 300)));
        line-height: 8vw;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px;
        padding-right: 25px;
        position: absolute;
        top: -10vw;
        right: 12vw;
        width: 32vw;
        height: 8vw;
    }
    .menu-header .home-button {
        position: relative;
        left: 0;
        width: 12vw;
        height: 8vw;
        background-color: #1E4F91;
        color: white;
        border-top-right-radius: 15pt;
        border-bottom-right-radius: 15pt;
        cursor: pointer;
        text-align: right;
        padding-right: 12px;
        font-size: calc(18pt + (30 - 18) * ((100vw - 300px) / (1920 - 300)));
        line-height: 8vw;
    }
    .menu-header .menu-row {
        padding-top: 2vw;
        background-image: url('images/header/mobileheader.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        height: 12vw;
    }
    .menu-header .menu-links {
        text-align: left;
        height: 0;
        position: absolute;
        top: 12vw;
        width: 100%;
    }
    .menu-header .menu-links a {
        font-size: calc(30px + (51 - 10) * ((100vw - 300px) / (1920 - 300)));
        color: white;
        margin-left: 25px;
        width: 100%;
        min-width: 100%;
        font-weight: bold;
        position: relative;
        display: block;
        text-align: center;
        padding-bottom: 3vw;
        display: none;
    }
    .menu-header .menu-links a:hover {
        text-decoration: none;
    }
    .menu-header .site-logo {
        height: 8vw;
        background-image: url('images/header/logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header .mobile-menu-start {
        position: absolute;
        right: 4vw;
        height: 12vw;
        line-height: 12vw;
        top: 0;
        color: white;
        font-size: calc(30px + (41 - 30) * ((100vw - 300px) / (1920 - 300)));
    }
}


/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 768px) {
    .menu-header {
        padding: 0;
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
    }
    .menu-header .site-logo {
        height: 3.4vw;
        background-image: url('images/header/home-white-logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header button {
        background-color: #1E4E91;
        border-radius: 15pt;
        border: none;
        padding-left: 50px;
        padding-right: 50px;
        padding-top: 10px;
        padding-bottom: 10px;
        cursor: pointer;
        color: #E6E8F0;
        font-size: calc(7pt + (14 - 7) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header .login-button {
        margin-left: 25px;
        height: 12vw;
        font-size: calc(11pt + (15 - 11) * ((100vw - 300px) / (1920 - 300)));
        line-height: 8vw;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px;
        padding-right: 25px;
        position: absolute;
        top: -10vw;
        right: 12vw;
        width: 20vw;
        height: 8vw;
    }
    .menu-header .home-button {
        position: relative;
        left: 0;
        width: 12vw;
        height: 8vw;
        background-color: #1E4F91;
        color: white;
        border-top-right-radius: 1.5vw;
        border-bottom-right-radius: 1.5vw;
        cursor: pointer;
        text-align: right;
        padding-right: 10px;
        font-size: calc(18pt + (30 - 18) * ((100vw - 300px) / (1920 - 300)));
        line-height: 8vw;
    }
    .menu-header .menu-row {
        padding-top: 2vw;
        background-image: url('images/header/mobileheader.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        height: 12vw;
    }
    .menu-header .menu-links {
        text-align: left;
        height: 0;
        position: absolute;
        top: 12vw;
        width: 100%;
    }
    .menu-header .menu-links a {
        font-size: calc(18pt + (21 - 18) * ((100vw - 300px) / (1920 - 300)));
        color: white;
        margin-left: 25px;
        width: 100%;
        display: block;
        text-align: center;
        padding-bottom: 3vw;
    }
    .menu-header .site-logo {
        height: 8vw;
        background-image: url('images/header/logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header .mobile-menu-start {
        position: absolute;
        right: 4vw;
        height: 12vw;
        line-height: 12vw;
        top: 0;
        color: white;
        font-size: calc(30px + (41 - 30) * ((100vw - 300px) / (1920 - 300)));
    }
}


/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 992px) {
    .menu-header {
        padding: 0;
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
    }
    .menu-header .site-logo {
        height: 3.4vw;
        background-image: url('images/header/home-white-logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header button {
        background-color: #1E4E91;
        border-radius: 15pt;
        border: none;
        padding-left: 50px;
        padding-right: 50px;
        padding-top: 10px;
        padding-bottom: 10px;
        cursor: pointer;
        color: #E6E8F0;
        font-size: calc(7pt + (14 - 7) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header .login-button {
        margin-left: 25px;
        height: 12vw;
        font-size: calc(17pt + (15 - 11) * ((100vw - 300px) / (1920 - 300)));
        line-height: 8vw;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px;
        padding-right: 25px;
        position: absolute;
        top: -10vw;
        right: -13vw;
        width: 20vw;
        height: 8vw;
    }
    .menu-header .home-button {
        position: relative;
        left: 0;
        width: 12vw;
        height: 8vw;
        background-color: #1E4F91;
        color: white;
        border-top-right-radius: 1.5vw;
        border-bottom-right-radius: 1.5vw;
        cursor: pointer;
        text-align: right;
        padding-right: 10px;
        font-size: calc(18pt + (30 - 18) * ((100vw - 300px) / (1920 - 300)));
        line-height: 8vw;
    }
    .menu-header .menu-row {
        padding-top: 2vw;
        background-image: url('images/header/mobileheader.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        height: 12vw;
    }
    .menu-header .menu-links {
        text-align: left;
        height: 0;
        position: absolute;
        top: 12vw;
        width: 100%;
    }
    .menu-header .menu-links a {
        font-size: calc(18pt + (21 - 18) * ((100vw - 300px) / (1920 - 300)));
        color: white;
        margin-left: 25px;
        width: 100%;
        display: block;
        text-align: center;
        padding-bottom: 3vw;
    }
    .menu-header .site-logo {
        height: 8vw;
        background-image: url('images/header/logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header .mobile-menu-start {
        position: absolute;
        right: 4vw;
        height: 12vw;
        line-height: 12vw;
        top: 0;
        color: white;
        font-size: calc(30px + (41 - 30) * ((100vw - 300px) / (1920 - 300)));
    }
}


/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1366px) {
    .menu-header {
        padding: 0;
        background-image: url("images/header/bg.png");
        background-size: 100% auto;
        background-repeat: no-repeat;
        z-index: 1000;
        position: fixed;
        min-height: 9vw;
        top: 0;
        left: 0;
    }
    .menu-header .site-logo {
        height: 3.4vw;
        background-image: url('images/header/home-white-logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header button {
        background-color: #1E4E91;
        border-radius: 15pt;
        border: none;
        padding-left: 50px;
        padding-right: 50px;
        padding-top: 10px;
        padding-bottom: 10px;
        cursor: pointer;
        color: #E6E8F0;
        font-size: calc(7pt + (14 - 7) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header .login-button {
        margin-left: 25px;
        height: 2vw;
        font-size: calc(8pt + (18 - 8) * ((100vw - 300px) / (1920 - 300)));
        line-height: 2vw;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px;
        padding-right: 25px;
    }
    .menu-header .home-button {
        position: absolute;
        left: 0;
        width: 5vw;
        height: 2vw;
        background-color: #1E4F91;
        color: white;
        border-top-right-radius: 1.5vw;
        border-bottom-right-radius: 1.5vw;
        cursor: pointer;
        min-height: 23px;
        text-align: right;
        padding-right: 10px;
        font-size: calc(8pt + (24 - 8) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header .menu-row {
        padding-top: 15px;
        padding-bottom: 3.5vw;
    }
    .menu-header .right-align {
        float: right;
    }
    .menu-header .menu-links {
        text-align: right;
    }
    .menu-header .menu-links a {
        font-size: calc(10px + (21 - 10) * ((100vw - 300px) / (1920 - 300)));
        color: white;
        margin-left: 15px;
    }
    .menu-header .menu-links a:hover {
        text-decoration: none;
    }
    .menu-header .menu-links a.selected-menu-link {
        font-weight: bold;
        color: #1E508D;
    }
    .menu-header .mobile-menu-start {
        display: none;
    }
}


/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1366px) {
    .menu-header .site-logo {
        height: 3.4vw;
        background-image: url('images/header/home-white-logo.png');
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .menu-header button {
        background-color: #1E4E91;
        border-radius: 15pt;
        border: none;
        padding-left: 50px;
        padding-right: 50px;
        padding-top: 10px;
        padding-bottom: 10px;
        cursor: pointer;
        color: #E6E8F0;
        font-size: calc(7pt + (14 - 7) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header .login-button {
        margin-left: 25px;
        height: 2vw;
        font-size: calc(8pt + (18 - 8) * ((100vw - 300px) / (1920 - 300)));
        line-height: 2vw;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px;
        padding-right: 25px;
    }
    .menu-header .home-button {
        position: absolute;
        left: 0;
        width: 5vw;
        height: 2vw;
        background-color: #1E4F91;
        color: white;
        border-top-right-radius: 1.5vw;
        border-bottom-right-radius: 1.5vw;
        cursor: pointer;
        min-height: 23px;
        text-align: right;
        padding-right: 10px;
        font-size: calc(8pt + (24 - 8) * ((100vw - 300px) / (1920 - 300)));
    }
    .menu-header {
        padding: 0;
        background-image: url("images/header/bg.png");
        background-size: 100% auto;
        background-repeat: no-repeat;
        z-index: 1000;
        position: fixed;
        min-height: 8vw;
        top: 0;
        left: 0;
    }
    .menu-header .menu-row {
        padding-top: 15px;
        padding-bottom: 3.5vw;
    }
    .menu-header .right-align {
        float: right;
    }
    .menu-header .menu-links {
        text-align: right;
    }
    .menu-header .menu-links a {
        font-size: calc(10px + (21 - 10) * ((100vw - 300px) / (1920 - 300)));
        color: white;
        margin-left: 25px;
    }
    .menu-header .menu-links a:hover {
        text-decoration: none;
    }
    .menu-header .menu-links a.selected-menu-link {
        font-weight: bold;
        color: #1E508D;
    }
    .menu-header .mobile-menu-start {
        display: none;
    }
}