* {
    padding: 0;
    margin: 0;
}

body {
    font-family: "Barlow", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.hero {
    width: 100%;
    height: 100vh;
    position: relative;
    background-image: url(img/background.jpg);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.ocean {
    height: 220px;
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
}

.water {
    height: 100%;
    position: absolute;
    right: 0;
    animation: water 20s linear infinite;
}

@keyframes water {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(1000px);
    }
}

.title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
}

.title h1 {
    max-width: fit-content;
    font-size: 2.2rem;
    overflow: hidden;
    border-right: .15em solid orange;
    white-space: nowrap;
    margin-top: 100px;
    letter-spacing: .15em;
    animation: typing 3.5s steps(40, end),
        blink-caret .75s step-end infinite;
}

.maintenance-div {
    display: flex;
    justify-content: center;
    align-items: center;
}

@keyframes typing {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

@keyframes blink-caret {

    from,
    to {
        border-color: transparent;
    }

    50% {
        border-color: orange;
    }
}

#logo {
    position: absolute;
    width: 320px;
    height: 280px;
}

#logo img{
    margin-top: 93%;
    max-width: 100%;
    max-height: 100%;
}


#logo img {
    -webkit-filter: drop-shadow(5px 5px 5px #666666);
    filter: drop-shadow(5px 5px 5px #666666);
}

.boat {
    width: 550px;
    position: absolute;
    bottom: 200px;
    left: 50%;
    transform: translateX(-50%);
}

.boat img {
    width: 100%;
    -webkit-box-reflect: below 0 linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.6));
    animation: boat 2s linear infinite;
}

@keyframes boat {
    0% {
        transform: rotate(0deg) translateY(0);
    }

    25% {
        transform: rotate(-1deg) translateY(-3px);
    }

    50% {
        transform: rotate(0deg) translateY(-5px);
    }

    75% {
        transform: rotate(1deg) translateY(-3px);
    }

    100% {
        transform: rotate(0deg) translateY(0px);
    }
}

.cloud {
    height: 250px;
    position: absolute;
    right: 0;
    animation: cloud 15s linear infinite;
}

@keyframes cloud {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(500px);
    }
}

@media only screen and (max-width: 1024px) {
    .title {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 400px;
    }

    .maintenance-div {
        display: flex;
        justify-content: center;
-        align-items: center;
    }
}

@media only screen and (max-width: 768px) {

    #logo {
        top: 0;
        left: 0;
        width: 280px;
        height: 200px;
    }
    
    #logo img{
        max-width: 100%;
        max-height: 100%;
    }

    .title {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 400px;
    }

    .maintenance-div {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .maintenance-div h2 {
        font-size: 1rem;
    }

    .title h1 {
        display: flex;
        max-width: 300px;
        font-size: 1rem;
        overflow: hidden;
        border-right: .15em solid orange;
        letter-spacing: .15em;
        animation: typing 3.5s steps(40, end),
            blink-caret .75s step-end infinite;
    }

    .boat {
        width: 350px;
        position: absolute;
        bottom: 200px;
        left: 50%;
        transform: translateX(-50%);
    }
}
