/* Shared */

.container-header {
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    position: relative;
}

.contact-form {
    width: 100%;
    position: relative;
}

.contact-form .contacts-input-row input {
    border: none;
    background-color: #EFEFEF;
    color: #676969;
}

.contact-form .contacts-input-row textarea {
    color: #676969;
    border: none;
    background-color: #EFEFEF;
}

.contact-form p {
    color: #828282;
}

.contact-form .address-line p {
    color: #828282;
}

.contact-form a:hover {
    text-decoration: none;
}

.map-container {
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.map-container .map-content {
    width: 100%;
    height: 100%;
}

.map-top-overlay {
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    background-size: 100% auto;
}

.map-bottom-overlay {
    width: 100%;
    background-position: top;
    background-repeat: no-repeat;
    position: relative;
    background-size: 100% auto;
}

.map-container .map-window {
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.accept-terms {
    cursor: pointer;
}

.accept-terms i {
    opacity: 0.2;
}

.validation-error {
    color: red;
    /* display: none; */
}

.required-input {
    border: 2px solid red !important;
}

.required-check {
    color: red !important;
}


/* Extra small */

@media (max-width: 575px) {
    h1 {
        font-size: 10.5vw;
    }
    h2 {}
    h3 {
        font-size: 4.7vw;
    }
    h4 {
        font-size: 3.6vw;
    }
    h5 {
        font-size: 3.9vw;
    }
    button {
        font-size: 3.9vw;
    }
    .container-header {
        height: 30vw;
        background-image: url('images/contacts/header-mobile-bg.png');
        padding-bottom: 10vw;
    }
    .contact-form {
        padding-bottom: 5vw;
        padding-top: 2vw;
    }
    .contact-form h1 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 100;
        padding-left: 2vw;
        padding-top: 8vw;
        padding-bottom: 2vw;
        padding-right: 2vw;
        text-align: center;
    }
    .contact-form h4 {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        padding-left: 3.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form .contacts-input-row input {
        width: 100%;
        margin-top: 4vw;
        padding-left: 2.7vw;
        padding-top: 1.7vw;
        padding-bottom: 1.7vw;
        font-size: 4vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .contacts-input-row textarea {
        width: 100%;
        margin-top: 4vw;
        padding-left: 2.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 4vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .g-recaptcha {
        margin-top: 1vw;
        margin-bottom: 1vw;
    }
    .contact-form p {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        font-size: 3.6vw;
        margin-top: 3vw;
        width: 100%;
        line-height: 5vw;
        height: 15vw;
    }
    .contact-form p i {
        margin-right: 1vw;
        font-size: 5vw;
    }
    .contact-form .address-line {
        margin-top: 6vw;
    }
    .contact-form .address-line p {
        font-size: 4vw;
        margin-top: 2vw;
        margin-bottom: 2vw;
    }
    .contact-form .address-line p:first-child {
        margin-bottom: 5vw;
    }
    .contact-form h5 {
        padding-left: 3.5vw;
        margin-top: 2vw;
        width: 34vw;
    }
    .contact-form .address-line p i {
        margin-right: 1vw;
    }
    .contact-form button {
        margin-top: 3vw;
    }
    .map-top-overlay {
        background-image: url('images/contacts/map-top-mobile-overlay.png');
        height: 19vw;
        z-index: 100000;
        margin-bottom: -12vw;
    }
    .map-bottom-overlay {
        background-image: url('images/contacts/map-bottom-mobile-overlay.png');
        height: 28vw;
        z-index: 100000;
        margin-top: -16vw;
    }
    .map-container {
        height: 124vw;
        margin-top: 2vw;
    }
    .map-container .map-window {
        background-image: url('images/contacts/map-dialog.png');
        width: 10vw;
        height: 10vw;
    }
    .page-navigation {
        display: none;
    }
}


/* Small */

@media (min-width: 576px) and (max-width: 767px) {
    h1 {
        font-size: 7.5vw;
    }
    h2 {}
    h3 {
        font-size: 4.7vw;
    }
    h4 {
        font-size: 3.6vw;
    }
    h5 {
        font-size: 3.9vw;
    }
    button {
        font-size: 3.9vw;
    }
    .container-header {
        height: 30vw;
        background-image: url('images/contacts/header-mobile-bg.png');
        padding-bottom: 10vw;
    }
    .contact-form {
        padding-bottom: 5vw;
        padding-top: 2vw;
    }
    .contact-form h1 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 100;
        padding-left: 2vw;
        padding-top: 8vw;
        padding-bottom: 2vw;
        padding-right: 2vw;
        text-align: center;
    }
    .contact-form h4 {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        padding-left: 3.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form .contacts-input-row input {
        width: 100%;
        margin-top: 4vw;
        padding-left: 2.7vw;
        padding-top: 1.7vw;
        padding-bottom: 1.7vw;
        font-size: 3vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .contacts-input-row textarea {
        width: 100%;
        margin-top: 4vw;
        padding-left: 2.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 3vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .g-recaptcha {
        margin-top: 1vw;
        margin-bottom: 1vw;
    }
    .contact-form p {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        font-size: 3vw;
        margin-top: 3vw;
        width: 100%;
        line-height: 5vw;
        height: 10vw;
    }
    .contact-form p i {
        margin-right: 1vw;
        font-size: 5vw;
    }
    .contact-form .address-line {
        margin-top: 6vw;
    }
    .contact-form .address-line p {
        font-size: 3vw;
        margin-top: 2vw;
        margin-bottom: 2vw;
    }
    .contact-form .address-line p:first-child {
        margin-bottom: 5vw;
    }
    .contact-form h5 {
        padding-left: 3.5vw;
        margin-top: 2vw;
        width: 34vw;
    }
    .contact-form .address-line p i {
        margin-right: 1vw;
    }
    .contact-form button {
        margin-top: 3vw;
    }
    .map-top-overlay {
        background-image: url('images/contacts/map-top-mobile-overlay.png');
        height: 19vw;
        z-index: 100000;
        margin-bottom: -12vw;
    }
    .map-bottom-overlay {
        background-image: url('images/contacts/map-bottom-mobile-overlay.png');
        height: 28vw;
        z-index: 100000;
        margin-top: -16vw;
    }
    .map-container {
        height: 124vw;
        margin-top: 2vw;
    }
    .map-container .map-window {
        background-image: url('images/contacts/map-dialog.png');
        width: 10vw;
        height: 10vw;
    }
    .page-navigation {
        display: none;
    }
}


/* Medium */

@media (min-width: 768px) and (max-width: 991px) {
    h1 {
        font-size: 5.5vw;
    }
    h2 {}
    h3 {
        font-size: 4.7vw;
    }
    h4 {
        font-size: 3.6vw;
    }
    h5 {
        font-size: 3.9vw;
    }
    button {
        font-size: 3vw;
    }
    .container-header {
        height: 30vw;
        background-image: url('images/contacts/header-mobile-bg.png');
        padding-bottom: 10vw;
    }
    .contact-form {
        padding-bottom: 5vw;
        padding-top: 2vw;
    }
    .contact-form h1 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 100;
        padding-left: 2vw;
        padding-top: 8vw;
        padding-bottom: 2vw;
        padding-right: 2vw;
        text-align: center;
    }
    .contact-form h4 {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        padding-left: 3.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form .contacts-input-row input {
        width: 100%;
        margin-top: 4vw;
        padding-left: 2.7vw;
        padding-top: 1.7vw;
        padding-bottom: 1.7vw;
        font-size: 2.5vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .contacts-input-row textarea {
        width: 100%;
        margin-top: 4vw;
        padding-left: 2.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 2.5vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .g-recaptcha {
        margin-top: 1vw;
        margin-bottom: 1vw;
    }
    .contact-form p {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        font-size: 2.5vw;
        margin-top: 3vw;
        width: 100%;
        line-height: 5vw;
        height: 10vw;
    }
    .contact-form p i {
        margin-right: 1vw;
        font-size: 5vw;
    }
    .contact-form .address-line {
        margin-top: 6vw;
    }
    .contact-form .address-line p {
        font-size: 2.5vw;
        margin-top: 2vw;
        margin-bottom: 2vw;
    }
    .contact-form .address-line p:first-child {
        margin-bottom: 5vw;
    }
    .contact-form h5 {
        padding-left: 3.5vw;
        margin-top: 2vw;
        width: 34vw;
    }
    .contact-form .address-line p i {
        margin-right: 1vw;
    }
    .contact-form button {
        margin-top: 3vw;
    }
    .map-top-overlay {
        background-image: url('images/contacts/map-top-mobile-overlay.png');
        height: 19vw;
        z-index: 100000;
        margin-bottom: -12vw;
    }
    .map-bottom-overlay {
        background-image: url('images/contacts/map-bottom-mobile-overlay.png');
        height: 28vw;
        z-index: 100000;
        margin-top: -16vw;
    }
    .map-container {
        height: 124vw;
        margin-top: 2vw;
    }
    .map-container .map-window {
        background-image: url('images/contacts/map-dialog.png');
        width: 10vw;
        height: 10vw;
    }
    .page-navigation {
        display: none;
    }
}


/* Large */

@media (min-width: 992px) and (max-width: 1199px) {
    h1 {
        font-size: 6.5vw;
    }
    h2 {}
    h3 {
        font-size: 1.7vw;
    }
    h4 {
        font-size: 1.2vw;
    }
    h5 {
        font-size: 0.9vw;
    }
    button {
        font-size: 1.6vw;
    }
    .container-header {
        height: 14vw;
        background-image: url('images/contacts/header-bg.png');
        padding-bottom: 10vw;
    }
    .contact-form {
        padding-bottom: 5vw;
        padding-top: 2vw;
    }
    .contact-form h1 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 100;
        padding-left: 11.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form h4 {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        padding-left: 3.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form .contacts-input-row input {
        width: 34vw;
        margin-top: 1vw;
        margin-left: 3.5vw;
        padding-left: 0.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 1.5vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .contacts-input-row textarea {
        width: 34vw;
        margin-top: 1vw;
        margin-left: 3.5vw;
        padding-left: 0.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 1.5vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .g-recaptcha {
        margin-left: 3.5vw;
        margin-top: 1vw;
        margin-bottom: 1vw;
    }
    .contact-form p {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        font-size: 1vw;
        margin-left: 3.5vw;
        margin-top: 1vw;
        width: 34vw;
        line-height: 2vw;
    }
    .contact-form p i {
        margin-right: 1vw;
        font-size: 1.5vw;
    }
    .contact-form .address-line p {
        margin-left: 0vw;
        font-size: 1.5vw;
    }
    .contact-form h5 {
        padding-left: 3.5vw;
        margin-top: 1vw;
        width: 34vw;
    }
    .contact-form .address-line p i {
        margin-right: 1vw;
    }
    .contact-form button {
        margin-left: 3.5vw;
        margin-top: 1vw;
    }
    .map-top-overlay {
        background-image: url('images/contacts/map-top-overlay.png');
        height: 11vw;
        z-index: 100000;
        margin-bottom: -18vw;
    }
    .map-bottom-overlay {
        background-image: url('images/contacts/map-bottom-overlay.png');
        height: 11vw;
        z-index: 100000;
        margin-top: -10vw;
    }
    .map-container {
        height: 54vw;
        margin-top: 8vw;
    }
    .map-container .map-window {
        background-image: url('images/contacts/map-dialog.png');
        width: 10vw;
        height: 10vw;
    }
    .page-navigation {
        top: 0;
        left: 5vw;
        width: 5vw;
        position: absolute;
        height: 100%;
        z-index: 10;
    }
    .page-navigation .icon {
        width: 1.8vw;
        height: 1.8vw;
        text-align: center;
        line-height: 1.5vw;
        border-radius: 0.9vw;
        font-size: 1vw;
    }
    .page-navigation .light {
        color: #FDFDFD;
        border: 1px #FDFDFD solid;
    }
    .page-navigation .light-line {
        color: #FDFDFD;
        border-left: 1px #FDFDFD solid;
    }
    .page-navigation .vert-line {
        width: 1px;
    }
    .page-navigation .home-icon {
        margin-top: 2.5vw;
    }
    .page-navigation .home-line {
        height: 1vw;
        margin-left: 0.85vw;
        margin-top: 0.5vw;
    }
    .page-navigation .dark {
        color: #7CB5C0;
        border: 1px #7CB5C0 solid;
    }
    .page-navigation .contacts-icon {
        margin-top: 1.8vw;
    }
    .page-navigation .dark-line {
        width: 1px;
        height: 12.3vw;
        margin-top: 1.3vw;
        margin-left: 0.85vw;
        color: #7CB5C0;
        border-left: 1px solid;
    }
    .page-navigation .dark-line-final {
        height: 49vw;
    }
}


/* Extra large */

@media (min-width: 1200px) {
    h1 {
        font-size: 4.5vw;
    }
    h2 {}
    h3 {
        font-size: 1.7vw;
    }
    h4 {
        font-size: 1.2vw;
    }
    h5 {
        font-size: 0.9vw;
    }
    button {
        font-size: 0.9vw;
    }
    .container-header {
        height: 14vw;
        background-image: url('images/contacts/header-bg.png');
        padding-bottom: 10vw;
    }
    .contact-form {
        padding-bottom: 5vw;
        padding-top: 2vw;
    }
    .contact-form h1 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 100;
        padding-left: 11.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form h4 {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        padding-left: 3.5vw;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }
    .contact-form .contacts-input-row input {
        width: 34vw;
        margin-top: 1vw;
        margin-left: 3.5vw;
        padding-left: 0.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 1vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .contacts-input-row textarea {
        width: 34vw;
        margin-top: 1vw;
        margin-left: 3.5vw;
        padding-left: 0.7vw;
        padding-top: 0.7vw;
        padding-bottom: 0.7vw;
        font-size: 1vw;
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
    }
    .contact-form .g-recaptcha {
        margin-left: 3.5vw;
        margin-top: 1vw;
        margin-bottom: 1vw;
    }
    .contact-form p {
        font-family: 'Comfortaa', cursive;
        font-weight: 400;
        font-size: 0.6vw;
        margin-left: 3.5vw;
        margin-top: 1vw;
        width: 34vw;
        line-height: 1vw;
    }
    .contact-form p i {
        margin-right: 1vw;
        font-size: 1vw;
    }
    .contact-form .address-line p {
        margin-left: 0vw;
        font-size: 1vw;
    }
    .contact-form h5 {
        padding-left: 3.5vw;
        margin-top: 1vw;
        width: 34vw;
    }
    .contact-form .address-line p i {
        margin-right: 1vw;
    }
    .contact-form button {
        margin-left: 3.5vw;
        margin-top: 1vw;
    }
    .map-top-overlay {
        background-image: url('images/contacts/map-top-overlay.png');
        height: 11vw;
        z-index: 100000;
        margin-bottom: -18vw;
    }
    .map-bottom-overlay {
        background-image: url('images/contacts/map-bottom-overlay.png');
        height: 11vw;
        z-index: 100000;
        margin-top: -9vw;
    }
    .map-container {
        height: 54vw;
        margin-top: 8vw;
    }
    .map-container .map-window {
        background-image: url('images/contacts/map-dialog.png');
        width: 10vw;
        height: 10vw;
    }
    .page-navigation {
        top: 0;
        left: 5vw;
        width: 5vw;
        position: absolute;
        height: 100%;
        z-index: 10;
    }
    .page-navigation .icon {
        width: 1.8vw;
        height: 1.8vw;
        text-align: center;
        line-height: 1.5vw;
        border-radius: 0.9vw;
        font-size: 1vw;
    }
    .page-navigation .light {
        color: #FDFDFD;
        border: 1px #FDFDFD solid;
    }
    .page-navigation .light-line {
        color: #FDFDFD;
        border-left: 1px #FDFDFD solid;
    }
    .page-navigation .vert-line {
        width: 1px;
    }
    .page-navigation .home-icon {
        margin-top: 2.5vw;
    }
    .page-navigation .home-line {
        height: 1vw;
        margin-left: 0.85vw;
        margin-top: 0.5vw;
    }
    .page-navigation .dark {
        color: #7CB5C0;
        border: 1px #7CB5C0 solid;
    }
    .page-navigation .contacts-icon {
        margin-top: 1.8vw;
    }
    .page-navigation .dark-line {
        width: 1px;
        height: 11vw;
        margin-top: 1.3vw;
        margin-left: 0.85vw;
        color: #7CB5C0;
        border-left: 1px solid;
    }
    .page-navigation .dark-line-final {
        height: 49vw;
    }
}