/* Use a responsive layout that adjusts to different screen sizes and orientations */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


/* Use relative units (such as percentages, ems, or rems) instead of absolute units (such as pixels or points) for sizing elements */
/* html {
    font-size: 0.6em;
} */

/* Use media queries to apply different styles based on the device's characteristics (such as width, height, or orientation) */

/* @media screen and (min-width: 576px) {
    html {
        font-size: 0.8rem;
    }
}

@media screen and (min-width: 768px) {
    html {
        font-size: 0.9rem;
    }
}

@media screen and (min-width: 992px) {
    html {
        font-size: 1rem;
    }
} */



/* Use flexible images that resize or crop according to the screen size */
img {
    max-width: 100%;
    height: auto;
}

/* Use web fonts that are compatible with different devices and browsers */
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700&display=swap');

/* Use icons and buttons that are large enough and spaced enough for easy tapping */
.icon {
    width: 2rem;
    height: 2rem;
    margin: 0.5rem;
}

.button {
    display: inline-block;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 0.5rem;
    background-color: #f44336;
    color: white;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
}

/* Use simple and clear navigation that guides the user through the website */
.header {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 3.5rem;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
}



.header-logo {
    display: flex;
    align-items: center;
}

.header-logo img {
    width: 100%;
    height: 3rem;
    margin-left: 0.5rem;
}

.header-logo h1 {
    color: white;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-size: 1.5rem;
    margin-left: 0.5rem;
}

.header-nav {
    display: flex;
    align-items: center;
    padding-left: 5%;
}

.header-nav a {
    color: rgb(0, 0, 0);
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    font-size: 1rem;
    margin-right: 0.5rem;
    text-decoration: none;
}

.header-nav a:hover {
    color: #003cff;
}

/* Use minimal and relevant content that conveys your message and value proposition */
.section {
    padding-top: 4rem; /* To avoid overlapping with the header */
    padding-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: center;
    background-color: #d7f0ff;
}

.section h2 {
    color: #333333;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    /* font-size: 2rem; */
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.section p {
    color: #333333;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    /* font-size: 1.25rem; */
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

.section ul {
    list-style-type: none;
}

.section ul li {
    color: #333333;
    font-family: 'Lato', sans-serif;
    font-weight: 500;
    font-style: italic;
    /* font-size: 1.25rem; */
    margin-bottom: 0.1rem;
}

.section ul li a img {
    border-radius: 1em; 
    /* this is for the link buttons */
}

/* Use high-quality and optimized images and videos that load fast and don't slow down the website */
.section-image {
    width: 80%;
    margin: 0 auto;
}

.section-video {
    width: 80%;
    margin: 0 auto;
}

/* Use caching and compression techniques to reduce the loading time and bandwidth usage of the website */
/* This is done on the server side, not on the web code */

/* Use a footer with your social media icons */
.footer {
    width: 100%;
    height: 4rem;
    background-color: #333333;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.footer a {
    display: inline-block;
}

/* Use a container element that wraps around all the content of the page */
.container {
    width: 100%; /* Make the width of the page no more than 66% of the display width on regular computer screens of 1080p and above */
    margin: 0 auto; /* Center the container horizontally */
    height: 100vh; /* Make the height of the container equal to the viewport height */
    /* background-color: #ff1100; */
}

/* @media (min-width: 360px) {
    .container {
        width: calc(100% - (20% * ((100vw - 360px) / (576 - 360))));
    }
}
@media (min-width: 576px) {
    .container {
        width: 80%;
    }
} */

@media (min-width: 600px) {
    .container {
        width: 600px;
    }
}


@media (min-width: 1000px) {
    .container {
        width: 60%;
    }
}


/* Responsive text that resizes to give a fairly consissent experience across all screen sizes*/
h1, h2, h3, p, li, a, .btn {
    font-size: calc(16px + (24 - 16) * ((100vw - 360px) / (576 - 360)));
}

.scroll {
    display: flex;
    /* margin-left: auto; */
    /* margin-right: auto; */
    justify-content: center;
    
    width: 100%;
    padding-top: 100%; /* 1:1 Aspect Ratio */
    
    background-color: rgb(01, 102, 153);
    border-radius: 1.2em; 
    
}

.scroll2 {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    
    max-width: 100%;
    max-height: 100%;

    border-radius: 1em; 
    
}

.btn {
    width: 70%;
    margin: 0.5em;
    padding: 8px 14px;
    cursor: pointer;
    border: 2px solid rgb(01, 102, 153);
    box-shadow: 2px 2px 0 0 white, 4px 4px 0 0 rgb(01, 102, 153);
    background-color: #ffffff;
}

.btn:hover {
    box-shadow: 3px 3px white, 6px 6px 0 0 rgb(01, 102, 153);
    transform: translate(-2px,-2px);
}

.icon:hover{
    transform: scale(1.25);
}

@media (orientation: landscape) {

    .header {
        position: relative;
    }
    

    h1, h2, h3, p, li, a, .btn {
        font-size: calc(16px + (24 - 16) * ((40vw - 360px) / (576 - 360)));
    }

    .container{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }

    #services {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 90%;
        aspect-ratio: 2/1;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }

    div.s-text {
        width: 25%;
    }

    #about {
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
        align-items: center;
        width: 90%;
        aspect-ratio: 2/1;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
        background-color: #ffffff;
    }

    div.a-text {
        width: 50%;
    }
    #contact {
        width: 50%;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }

    .scroll {
        width: 45%;
        /* height: auto; */
        aspect-ratio: 1/1;
        max-width: 80vh;
        /* justify-content: flex-end; */
    }
}

.w3-animate-opacity{animation:opac 0.3s}@keyframes opac{from{opacity:0} to{opacity:1}}