* {
    margin: 0;
    padding: 0;
    font-family: 'Poppins', sans-serif;
}

*:not(
    #map, 
    .contentMap >*,
    ) {
        overflow: hidden;
    }

.banner {
    width: 100%;
    background-image: url(./public/main.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.hamburger {
    opacity: 0;
}

.navbar {
    width: 100%;
    background-color: linear-gradient(rgba(0,0,0,0.75), rgba(0,0,0,0.75));
    margin: auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar ul {
    margin-right: 10vw;
}

.navbar ul li {
    list-style: none;
    display: inline-block;
    margin: 0 20px;
    color: #fff;
    text-transform: uppercase;
    position: relative;
}

.navbar ul li a {
    color: #fff;
    text-decoration: none;
}

.navbar ul li::after {
    content: '';
    height: 3px;
    width: 0%;
    background: orangered;
    position: absolute;
    left: 0;
    bottom: -5px;
    transition: 0.5s;
}

.navbar ul li:hover::after {
   width: 100%;
}

.logo {
    width: 400px;
    cursor: pointer;
}


.description {
    color: #fff;
    text-align: center;
    margin-top: 10vh;
    height: 20vh;
    font-weight: 200;
}
.content {
    height: 100vh;
    overflow: hidden;
}
.contentMain {
    color: #fff;
    background-image: linear-gradient(rgba(0,0,0,0.30), rgba(0,0,0,0.30)); 
    background-size: 20px;
    display: grid;
    margin-top: 10vh;
    width: 100vw;
    grid-template-columns: repeat(3, 2fr);
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    justify-items: center;
    }

.contentAbout {
    display: grid;
    grid-template-columns: repeat(3, 2fr);
    grid-template-rows: 3fr 3fr 3fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    align-items: center;
    justify-items: center;
}

.contentContact {
    display: grid;
    width: 100vw;
    height: 60%;
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    align-items: center;

}

.contactInfo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.contactInfo h3 {
    color: #000;
}

.contactInfo ul li {
    color: #000;
}

.contentMap {
    width: 100vw;
    height: 60%;
    display: grid;
    position: relative;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    margin-top: 0;
    align-items: center;
}

.aboutDescription {
    margin: 20px;
    min-width: 30vw;
    min-height: 40vh;
    background-image: linear-gradient(rgba(0,0,0,0.50), rgba(0,0,0,0.50));
    text-align: center;
    color: #fff;
    border-radius: 10px;
    font-weight: 200;
}

.immergas {
    margin: 0;
    height: 400px;
    width: 400px;
}

.immergasPartner {
    margin: 0;
    height: auto;
    width: auto;
    align-self: center;
}

h2 {
    padding-top: 1%;
    margin-bottom: -3%;
    text-align: center;
    color: #fff;
}

#map {
    margin: 5% auto;
    text-align: center;
    height: 50vh;
    width: 50vw;
    overflow-y: hidden;
    overflow-x: hidden;
    border-color: #000;
    border-style: solid;
    border-radius: 10px;
}


.about {
    color: #fff;
    font-size: 1em;
    text-transform: uppercase;
    text-align: center;
    margin-top: 5%;
}

.about li {
    list-style: none;
    padding: .20%;
    margin: 2%;
}

.anim-trans-in {
    animation: anim-in 1s ease-in-out;
    }

.anim-trans-out {
    animation: anim-out 1s ease-in-out;
    }

.formContainer {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
}


form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.formContainer button {
    width: 40%;
    height: 40px;
    align-self: center;
    background: #000;
    border-width: .5px;
    border-color: #fff;
    color: #fff;
    opacity: .8;
    transition: .5s;
    border-radius: 10px;
}

.formContainer button:hover {
    opacity: 1;
    cursor: pointer;
}


.form-group {
    width: 50vw;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;

}

textarea {
    height: 40vh;
}

.form-control {
    color: #fff;
    background: linear-gradient(rgba(0,0,0,0.90), rgba(0,0,0,0.70));
    border-width: .5px;
    border-color: #fff;
    border-radius: 10px;
}

.form-row {
    display: flex;
    margin-top:5px
}

@keyframes anim-in{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

@keyframes anim-out{
    0%{
        opacity: 1;
    }
    100%{
        opacity: 0;
    }
}

@media (max-width: 35em) {
    *,html,body:not(.hamburger, .hamburger-box, .hamburger-inner, #map, 
    .contentMap >*,

    ) {
        position: relative;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .content {
        height: 100vh;
        overflow: auto;
    }

    .contentMain {
        position: absolute;
        color: #fff;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 1fr);
        grid-column-gap: 0px;
        grid-row-gap: 0px;
        margin-top: -100vh;
        z-index: 10;
        overflow: hidden;
    }

    .immergas {
         overflow: hidden;
    }
    
    .contentAbout {
        position: absolute;
        color: #fff;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 1fr);
        grid-column-gap: 0px;
        grid-row-gap: 0px;
        margin-top: -80vh;
        z-index: 10;
    }

    .contentMap {
        display: grid;
        height: 100vh;
        width: 100vw;
        position: absolute;
        color: #fff;
        grid-template-columns: 1fr;
        grid-template-rows: 3fr 2fr;
        grid-column-gap: 0px;
        grid-row-gap: 0px;
        margin-top: -80vh;
        z-index: 10;
    }

    .contentMap h3 {
        word-wrap: break-word;
        margin: 0 5vw;
        color: #000;
    }

    .contentContact {
        display: grid;
        height: 100vh;
        width: 100vw;
        position: absolute;
        color: #fff;
        grid-template-columns: 1fr;
        grid-template-rows: 3fr 2fr;
        grid-column-gap: 0px;
        grid-row-gap: 0px;
        margin-top: -80vh;
        z-index: 10;
        overflow: hidden;
    }

    .form-group {
        width: 90vw;
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
        overflow: hidden;
    
    }

    .navbar {
        position: relative;
        z-index: 11;
        height: 100vh;
        inset: 0 0 0 15%;
        background-color: #000;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-evenly;
        padding: 0;
        margin: 0;
        transform: translateX(100%);
        transition: 0.5s;
    }

    .active {
        transform: translateX(0%);
        transition: 0.5s;
        z-index: 11;
    }

    .logo {
        width: 70%;
        margin: 0;
        padding: 0;
    }

    .hamburger {
        display: inline-block;
        top: 5%;
        position: absolute;
        opacity: 1;
        z-index: 100;
    }

    .hamburger-inner {
        background: #fff;
    }
    
    .navbar ul {
        height: 30%;
        display: flex;
        flex-direction: column;
        justify-content: space-evenly;
        margin-top: -60%;
        margin-left: 10%;
    }

    .navbar ul li a{
        font-weight: 400;
        font-size: 1.5em; 
        color: #fff;

    }

    #description {
        transition: opacity 1s linear;
        opacity: 1
    }

    .about{
        transition: 0.5s;
        opacity: 1;
        transition: opacity 1s linear;
    }

    #map {
        margin: 0 auto;
        padding: 0;
        width: 90%;
    }

}