/* RESET STYLES*/
*, *::before, *::after {
    box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, input, textarea, select, label, button, picture {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
html {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}
q, blockquote {
    quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none;
}
a img {
    border: 0;
}
img, picture, svg, video, canvas {
    border: 0;
	max-width: 100%;
}
a{
    text-decoration: none;
}
img, picture, svg, video, canvas,
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}

/* GENERAL STYLES, TEXT FORMATTING AND  TYPOGRAPHY */

html, body {
    width: 100%;
    min-height: 100vh;
    font: normal 16px 'Montserrat', 'Arial', sans-serif;
    background-color: #fff;
    line-height: 1;
}

html, body,
a, a:active, a:visited {
    color: #000;
}

strong{
    font-weight: bold;
}

em{
    font-style: italic;
}

sup {
    vertical-align: baseline;
    position: relative;
    top: -0.4em;
    font-size: 0.75rem;
    color: #fe0000;
}

/**
* For modern browsers - http://nicolasgallagher.com/micro-clearfix-hack/
*/
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

body {
    background: #f2efcd url(../img/bg-waves-swish.svg) no-repeat left 4.0625rem;
    background-size: cover;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.align-center {
    text-align: center;
}

.orange {
    color: #D68028;
}

.body-text {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 1.75rem;
}

.body-text.alt {
    font-size: 2rem;
    margin-bottom: 0.25rem;
}

.top-bar {
    height: 4.0625rem;
}

.top-bar,
.input-submit-btn,
.btn-appt {
    background-color: #D68028;
}

.top-bar .leaves {
    top: 2rem;
    right: 0;
}

.top-bar .leaves,
.register-section .leaves {
    width: 14.375rem;
    z-index: 3;
}

.headline {
    margin: 8.4375rem 0 0 5.1875rem;
    font-size: 3.0625rem;
}

.headline > strong {
    font-size: 1.26530612244898em;
}

.logo-river-view {
    width: 31.25rem;
    margin-top: 6.25rem;
    margin-bottom: 5.125rem;
}

.register-section {
    padding-top: 6.25rem;
    background: transparent url(../img/bg-curve.png) no-repeat center top;
    background-size: cover;
}

.register-section p:last-child {
    margin-bottom: 0 !important;
}

.register-section .leaves {
    left: 0;
    top: -11.25rem;
}

.lead-form {
    width: 85%;
    max-width: 730px;
    margin-bottom: 4.5rem;
}

.input-group {
    width: 100%;
    margin-bottom: 10px;
    font-size: 0;
}

.input-label,
.input-field {
    height: 3.75rem;
}

.input-label,
.input-field,
.input-submit-btn {
    font-size: 1.0625rem;
}

.input-label {
    display: inline-block;
    width: 17%;
    padding-right: 1.25rem;
    text-align: right;
    line-height: 3.75rem;
}

.input-field {
    width: 83%;
    padding: 0 1rem;
}

.input-submit-btn {
    width: 7.8125rem;
    margin-left: auto;
    cursor: pointer;
}

.input-submit-btn,
.btn-appt {
    display: block;
    padding: 1rem 1.5rem;
    border-radius: 23px;
}

.input-submit-btn,
.btn-appt,
.btn-appt:active,
.btn-appt:visited {
    color: #fff;
}

.btn-appt {
    width: 20rem;
    margin-bottom: 2rem;
}

.footer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4.6875rem 1%;
    background-color: #D1C845;
}

.footer-logo {
    margin: 10px;
}

.logo-vrm {
    width: 14.875rem;
}

.logo-fembi {
    width: 13.375rem;
}

.logo-ehl,
.logo-eho {
    width: 5.625rem;
}

@media (max-width: 1250px) {
    html, body {
        font-size: 14px;
    }
    
    .top-bar .leaves,
    .register-section .leaves {
        width: 10rem;
    }

    .register-section .leaves {
        top: -5rem;
    }
}

@media (max-width: 992px) {
    html, body {
        font-size: 12px;
    }
    
    .top-bar .leaves,
    .register-section .leaves {
        width: 8rem;
    }

    .register-section .leaves {
        top: -3rem;
    }

    .intro-section {
        padding-bottom: 50px;
    }
}

@media (max-width: 768px) {
    html, body {
        font-size: 10px;
    }

    .input-label,
    .input-field {
        width: 100%;
    }

    .input-label {
        text-align: center;
    }

    .footer {
        flex-wrap: wrap;
        padding-left: 6%;
        padding-right: 6%;
    }
}

@media (max-width: 600px) {
    .body-text {
        padding-left: 2.5%;
        padding-right: 2.5%;
    }

    .body-text br:not(.dont-hide) {
        display: none;
    }
}

#loader{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.7) url(../img/ajax-loader.gif) no-repeat center center;
}