 * {
    font-family: "Inter", sans-serif;
    color: black;
    font-weight: 400;
    margin: 0;
    padding: 0;
 }

::-webkit-scrollbar {
    width: 0.5%;
}
  
::-webkit-scrollbar-track {
    background:  white;
}
  
::-webkit-scrollbar-thumb {
    background: #1663ae;
}

::-webkit-scrollbar-thumb:hover {
    background: #115291;
}

.invis {
    display: none;
}

.javaWarning {
    display: block;
}

.menu {
    display: none;
}

.navbar {
    width: 100%;
    height: 10%;
    padding-left: 1%;
    padding-right: 1%;
    position: fixed;
    background-color: white;
    display: flex;
    align-items: center;
    z-index: 2;
}

.logo-text{
    width: 14%;
    margin-left: 7%;
    margin-right: 8%;
}


.logo-text:hover {
    cursor: pointer;
}

.navbar-element {
    flex: 1;
}

.navbar-text {
    font-family: "Sunflower", sans-serif;
    font-weight: 300;
    font-size: 2vw;
    width: 33%;
}

.navbar-text:hover {
    cursor: pointer;
}

.navbar-spacer {
    height: 10%;
}

.top-anchor {
    position: absolute;
    top: -50%;
}

.landing-image {
    background-size: cover;
    height: 100%;
    background-image: url(ship2.png);
    display: flex;
}

.mission-statement {
    font-family: "Sunflower", sans-serif;
    font-size: 3.4vw;
    text-align: center;
    color: white;
    width: 80%;
    flex: 1;
    padding: 3%;
}


.services-anchor {
    position: absolute;
    top: 100%;
}

.services-section {
    width: 88%;
    padding: 3%;
    margin-left: 5.5%;
    height: 100%;
    background-color: white;
    font-family: "Sunflower", sans-serif;
    font-weight: 500;
    font-size: 3.5vw;
}

.services-section-sub {
    font-size: 1.5vw;
	font-weight: 500;
    transition: all 0.5s;
    opacity: 0;
}

.services-section-sub-vis {
    opacity: 1;
}

.services-container {
    width: 93%;
    margin-top: 1.45%;
    margin-left: 1%;
    margin-right: 4.5%;
    display: block;
    flex-direction: column;
    transition: all 0.5s;
}

.services-container-merged {
    width: 91.15%;
    margin-top: 2.35%;
    margin-left: 1.95%;
}

.expanded-desc {
    width: 78.2%;
    height: 57%;
    display: none;
    position: absolute;
    word-wrap: normal;
    opacity: 0;
    padding: 1%;
    transition: all 0.5s;
}

.expanded-desc-exp {
    display: block;
}

.exp-desc-example-container {
    width: 98.5%;
    height: 85%;
    display: flex;
    flex-direction: column;
}

.expanded-desc-text{
    opacity: 1;
}

.expanded-desc-title {
    font-family: "Sunflower", sans-serif;
    font-size: 2.4vw;
	margin-left: 1%;
}

.expanded-desc-desc {
    white-space: pre-wrap;
    padding: 1%;
    font-size: 1.4vw;
    flex: 1;
    width: 100%;
}

.expanded-desc-examples-container {
    padding: 1%;
    flex: 1;
    width: 100%;
}

.expanded-desc-examples-title {
    font-size: 1.4vw;
    font-weight: 600;
}

.expanded-desc-examples {
	white-space: pre-wrap;
	font-size: 1.4vw;
}

.services-row {
    flex: 1;
    display: flex;
    height: 16%;
}

.service-box {
    padding: 1%;
    margin: 1%;
    background-color: #1663ae;
    flex: 1;
    height: 60%;
    transition: all 0.5s;
}

.service-box-blank {
    background-color: white;
    padding: 1%;
    margin: 1%;
    flex: 1;
    height: 60%;
    transition: all 0.5s;
}

.service-box-contact {
    padding: 1%;
    margin: 1%;
    background-color: #1663ae;
    flex: 1;
    height: 60%;
    transition: all 0.5s;
}

.service-box-contact:hover {
    cursor: pointer;
}

.service-box-merged {
    margin: 0;
    background-color: #1663ae;
    height: 85%;
}

.service-box:hover {
    cursor: pointer;
}

.service-box-bottom-merged {
    height: 60.5%;
}

.service-box-right-merged {
    margin-right: 0;
}

.service-text {
    color: white;
    transition: all 0.5s;
}

.exp-service-text{
    color: white;
}

.service-text-fade {
    opacity: 0;
}

.service-title { 
    font-family: "Sunflower", sans-serif;
    font-weight: 300;
    font-size: 2vw;
}

.service-desc {
    font-family: "Inter", sans-serif;
    font-size: 1vw;
}

.service-link {
    font-family: "Inter", sans-serif;
    font-size: 0.8vw;
}

.services-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #1663ae;
    display: none;
}

.about-anchor {
    position: absolute;
    top: 200%;
}

.about-section {
    padding: 3%;
    height: 100%;
    background-color: #1663ae;
    position: relative;
    top: -15%;
}

.about-title {
    margin-left: 5.5%;
    font-family: "Sunflower", sans-serif;
    font-size: 3.5vw;
    font-weight: 500;
    color: white;
}

.about-desc {
    margin-left: 6.5%;
    padding: 1%;
    font-family: "Inter", sans-serif;
    font-size: 1.5vw;
    color: white;
}

.contact-section {
    padding: 3%;
    height: 65%;
    background-color: white;
    position: relative;
    top: -15%;
}
.contact-title {
    margin-left: 5.5%;
    font-family: "Sunflower", sans-serif;
    font-size: 3.5vw;
    font-weight: 500;
    color: black;
}

.contact-desc {
    margin-left: 6.5%;
    margin-right: 6.5%;
    padding: 1%;
    font-family: "Inter", sans-serif;
    font-size: 2vw;
    color: black;
}

.contact-desc-row {
    display: flex;
    width: 100%;
    height: 50%;
}

.contact-desc-quad {
    flex: 1;
    width: 50%;
    height: 100%;
    display: flex;
}

.contact-img-container{
    flex: 0.3;
    padding-top: 10%;
}
.contact-image {
    width: 100%;
}

.contact-text {
    flex: 1;
    font-family: "Sunflower";
    font-weight: 300;
    padding-top: 17%;
    margin-left: 5%;
}


@media(max-width: 850px)
and (orientation: portrait)
{
    .navbar {
        height: 15%;
    }

    .logo-text{
        width: 20%;
        margin-left: 1%;
        margin-right: 8%;
    }

    .navbar-text {
        font-size: 3.5vw;
    }

    .service-title {
        font-size: 1.8vw;
    }

    .about-anchor {
        top: 195%;
    }

    .about-section {
        height: 80%;
    }

    .about-desc {
        font-size: 1.25vw;
    }

    .contact-section {
        height: 60%;
    }
}

@media(max-width: 750px)
{
    .navbar-spacer{
        height: 13%;
    }
}

@media(max-width: 600px)
    and (orientation: portrait)
{
    .navbar {
        height: 10%;
    }

    .logo-text{
        width: 50%;
        margin-left: 1%;
        margin-right: 8%;
    }

    .navbar-element {
        display: none;
    }

    .landing-image {
        background-size: cover;
        height: 100%;
        background-image: url(ship2_rot.png);
        display: flex;
    }

    .mission-statement {
        font-family: "Sunflower", sans-serif;
        font-size: 6vh;
        text-align: center;
        color: white;
        width: 80%;
        flex: 1;
        padding: 3%;
    }

    .menu-icon {
        margin-left: 25%;
    }

    .menu-bar-1, .menu-bar-2, .menu-bar-3 {
        width: 35px;
        height: 5px;
        background-color: #1663ae;
        margin: 6px 0;
        transition: all 0.5s;
    }

    .menu-bar-1.toggleMenu {
        transform: rotate(-45deg) translate(-9px, 6px);
    }

    .menu-bar-2.toggleMenu {
        opacity: 0;
    }
      
    .menu-bar-3.toggleMenu {
        transform: rotate(46deg) translate(-9px, -7px);
    }

    .menu {
        transform: translate(0, -350px);
        position: fixed;
        width: 100%;
        height: 300px;
        margin-top: 21.5%;
        background-color: white;
        display: flex;
        flex-direction: column;
        transition: all 0.5s;
        z-index: 1;
    }

    .menu-exp {
        transform: translate(0, 0);
    }

    .menu-element {
        flex: 1;
    }

    .navbar-text {
        font-family: "Sunflower", sans-serif;
        font-weight: 300;
        font-size: 6vh;
        padding-left: 3%;
        margin-top: 3%;
    }

    .services-section {
        height: 103%;
        font-size: 4vh;
    }

    .services-section-sub {
        font-size: 2vh;
    }

    .services-row {
        flex-direction: column;
        height: 20%;
    }
    
    .service-title {
        font-size: 3vh;
        padding: 1%;
    }

    .service-desc {
        display: none;
    }

    .expanded-desc-title{
        font-size: 3vh;
    }

    .expanded-desc-examples-title {
        font-size: 1.8vh;
    }

    .expanded-desc-desc {
        font-size: 1.8vh;
    }

    .expanded-desc-examples {
        font-size: 1.8vh;
    }

    .about-anchor {
        top: 191%;
    }

    .about-section {
        height: 90%;
    }

    .about-title {
        font-size: 4vh;
    }

    .about-desc {
        font-size: 1.7vh;
    }

    .contact-title {
        font-size: 4vh;
    }

    .contact-section {
        height: 73%;
    }

    .contact-desc-row {
        flex-direction: column;
    }

    .contact-desc-quad {
        width: 100%;
    }
    
    .contact-text {
        font-size: 3vh;
    }
}

@media(max-width: 450px)
{
    .menu-exp {
        transform: translate(0, -15px);
    }

    .navbar-spacer{
        height: 10%;
    }
}