:root {
    --animate-duration: 1s;
    --animate-delay: 1s;
    --animate-repeat: 1;
}
/*
    4.3rem
    3.583rem
    2.986rem
    2.488rem
    2.074rem
    1.728rem
    1.44rem
    1.2rem
*/

*,
*:before,
*:after {
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    line-height: 1.3;
    color: #333;
    background: #D9D9D9 url('bg.png');
}

img {
    width: 100%;
}

a {
    text-decoration: none;
    color: #333;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: 1rem;
    font-weight: normal;
}

p {
    margin: 0;
}

.wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 3vw;
    max-width: 1900px;
}

.header {
    padding: 2vmax 0;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: #D9D9D9 url('bg.png');
    z-index: 999;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;

}

.logo {
    font-size: 1.728rem;
    font-family: 'Playfair Display', serif;
}

.menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

.menu-item {
    margin-left: 2.074rem;
}

.welcome {
    padding: 6vmax 0;
    margin-top: 105px;
    font-family: 'Playfair Display', serif;
}

.welcome-text {
    font-size: 2.488rem;
    max-width: 1000px;
}

.hero {
    padding: 6vmax 0;
}

.hero-image {
    margin-bottom: 1rem;
}

.cta {
    background: #fff;
    padding: 6vmax 0;
}


.cta-title {
    font-size: 2.488rem;
    font-family: 'Playfair Display', serif;
    margin-bottom: 2.074rem;
}

.cta-text {
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
}

.row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
}

.col {
    grid-column: span 12;
}

.btn {
    background: #333;
    color: #fff;
    font-size: 1.44rem;
    padding: 1.2rem 2.074rem;
    display: inline-block;
}

.footer {
    padding: 6vmax 0;
    text-align: center;
}

.info {
    background: #333;
    color: #fff;
    padding: 6vmax 0;
}

.info-title {
    font-size: 2.488rem;
    font-family: 'Playfair Display', serif;
    margin-bottom: 2.074rem;
}

.info-text {
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
}

.info-link {
    color: #fff;
    text-decoration: underline;
}

#map {
    width: 100%;
    height: 500px;
}

.newsletter {
    padding: 6vmax 0;
    background: #fff;
    text-align: center;
}

.newsletter-title {
    font-size: 3.583rem;
    font-family: 'Playfair Display', serif;
}

.control {
    margin-bottom: 1.44rem;
}

label {
    display: block;
    text-align: left;
    font-size: 1.44rem;
}

input {
    text-align: left;
    display: block;
    width: 100%;
    border: 0;
    background: #eee;
    border-bottom: 2px #aaa solid;
    padding: 1rem;
}



















.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-duration: var(--animate-duration);
    animation-duration: var(--animate-duration);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animated2 {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-duration: var(--animate-duration);
    animation-duration: var(--animate-duration);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

.amp {
    font-family: 'Playfair Display', serif;
}


@media (min-width: 48em) {
    .welcome-text {
        font-size: 3.583rem;
    }

    .cta-title,
    .info-title {
        font-size: 3.583rem;
        margin-bottom: 2.986rem;
    }

    .cta-text {
        font-size: 1.44rem;
    }

    .info-text {
        font-size: 1.44rem;
    }

    .row {
        gap: 3rem;
    }

    .col {
        grid-column: span 6;
    }

    .col2 {
        grid-row-start: 1;
    }

}
