@keyframes buttonFade {
    0% {background-color: white; color: black;}
    100% {background-color: black; color: white;}
}

@keyframes backgroundScroll {
    0% {background-position: 0px 0px;}
    100% {background-position: 0px 1200px;}
}

body {
    margin: 0px;
}

#bodygradientcold {
    background-image: linear-gradient(to top, white, rgb(216, 237, 255));
}

#bodygradienthot {
    background-image: linear-gradient(to top, white, rgb(255, 227, 216));
}

p {
    font-size: 24px;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;

    color: white;
}

.header {
    text-align: center;

    font-size: 64px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-style: italic;
    color: rgb(30, 30, 30);
    margin: 100px 0px;
}

h2 {
    font-size: 32px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-style: italic;
    color: white;
    margin: 50px 0px;
}

#topnav {
    background-color: rgb(30, 30, 30);
    padding: 10px;
    text-align: end;
}

#logodiv {
    background-color: rgb(254, 254, 254);
    background-image: url("images/Logo.jpeg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 600px;
}

#buttondiv {
    min-width: 1vw;
    min-height: 100px;
    padding: 0px 25%;

    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
    
    background-color: rgb(30, 30, 30);
}

#contactform {
    background-color: rgb(30, 30, 30);
    padding: 50px 0px;
}

.doublegrid {
    min-width: 1vw;

    margin: 20px 8%;

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 15%;
    justify-content: center;

    text-align: justify;

    background-color: rgb(30, 30, 30);
    border-radius: 30px;
    padding: 30px;
}

.centergrid {
    min-width: 1vw;

    margin: 20px 0px;

    display: flex;
    flex-wrap: wrap;
    gap: 20px 35px;
    justify-content: center;

    text-align: justify;
}

.projectdiv {
    max-width: 500px;

    border-radius: 35px;
    background-color: rgb(30, 30, 30);

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

.projectdiv img {
    width: 100%;

    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}

.projectdiv p {
    font-size: 16px;
    color: white;
    padding: 5px 10px;
}

#img_building {
    background-image: url("images/Building.jpg");
}

#img_building2 {
    background-image: url("images/Building2.jpg");
}

.gridimage {
    background-image: url("images/placeholder.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    min-height: 350px;
    min-width: 50%;

    border-radius: 35px;

    border: 3px white outset;
}

.navbutton {
    color: white;
    text-decoration: none;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-size: 20px;
    
    margin: 0px 3%;
}

.servicebutton {
    text-decoration: none;
    font-size: 26px;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    text-wrap-mode: nowrap;
    text-align: center;
    color: black;
    background-color: white;

    padding: 20px 15%;
    margin: 10px 0px;

    border-radius: 35px;
    border: 2px solid black;
}

.servicebutton:hover {
    animation-name: buttonFade;
    animation-duration: 300ms;

    background-color: black;
    color: white;
}

.contacttext {
    color: rgb(69, 159, 207);
    text-decoration: none;
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
    font-size: 20px;
}

.contactdiv {
    margin: 0px 5%;

    display: flex;
    flex-direction: column;

    align-items: center;

    text-align: center;
}

.contactdiv img {
    height: 80px;
    width: 120px;
}

.contactheader {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 28px;

    color: rgb(30, 30, 30);
}

@media (max-width: 1200px) {
    .doublegrid {
        grid-template-columns: 1fr;
        margin: 10px 0px;
        padding: 0px;

        background-color: rgb(30, 30, 30);
        border-radius: 0px;
    }

    .griddouble {
        grid-template-columns: 1fr;
        margin: 10px 0px;
    }

    .gridimage {
        border-radius: 0px;
        border: none;

        grid-row: 1;
    }

    .gridp {
        padding: 0px 5%;

        color: white;
    }

    .servicebutton {
        min-width: 200px;
    }

    .contactdiv {
        margin: 0px 25px;
    }

    #topnav {
        text-align: center;
    }
}

@media (max-width: 400px) {
    .navbutton {
        color: white;
        text-decoration: none;
        font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
        font-size: 16px;
        
        margin: 0px 1%;
    }
    
    .servicebutton {
        font-size: 24px;
        
        min-width: 64px;
    }
    
    #buttondiv {
        padding: 0px 2%;
    }
    
    .header {
        font-size: 48px;
    }
    
    .gridp {
        padding: 0px 5%;
        font-size: 16px;
        color: white;
    }

}


#bgcontainercold {
    background-image: url("images/BGOVERLAY.png");
    background-size: 600px;

    padding-top: 20px;

    animation-name: backgroundScroll;
    animation-duration: 30s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;

    z-index: -1;
}

#bgcontainerhot {
    background-image: url("images/BGOVERLAY2.png");
    background-size: 600px;

    padding-top: 20px;

    animation-name: backgroundScroll;
    animation-duration: 30s;
    animation-direction: reverse;
    animation-iteration-count: infinite;
    animation-timing-function: linear;

    z-index: -1;
}

#iconw {
    position: fixed;

    bottom: 40px;
    left: 40px;
}

#iconf {
    position: fixed;

    bottom: 40px;
    left: 100px;
}