/*//////// General /////// */
body {
    height: 100%;
    width: 100%;
    min-height: 100vh;
    min-width: 100vw;
    margin: 0px;
    padding: 0px;
}

.nonFooter {
    min-height: calc(100vh - 50px);
}

h2, h1, h3 {
    margin: 0px;
    padding: 0px;
}

li {
    text-align: left;
    font-size: 15px;
    /* font-weight: bold; */
    line-height: 26px;
}

p {
    font-size: 24px;
    /* font-style: italic; */
    margin: 7px;
    padding-top: 5px;
}

.emailUsGlobal {
    position: fixed;
    right: -20px;
    bottom: 60px;
    width: 180px;
    height: 50px;
    text-decoration: none;
}

.emailUsGlobal:hover {
    cursor: pointer;
}

.emailUsImgGlobal {
    width: 100%;
    height: 100%;
}

/* /////// Header /////// */

.blackOutHeader {
    position: fixed;
    display: none;
    top: 73px;
    left: 0px;
    width: 100vw;
    height: calc(100vh - 73px);
    background-color: rgb(0,0,0,.8);
    border: none;
}

.headerDiv {
    width: 100vw;
    height: 72px;
    display: flex;
    position: fixed;
    justify-content: space-between;
    align-items: center;
    top: 0px;
    left: 0px;
    background-color: rgb(0, 0, 70);
    border-bottom: 2px solid lightgray;
    z-index: 3;
}

.headerSpacer {
    width: 100vw;
    height: 72px;
    background-color: white;
}

.siteTitle {
    width: 180px;
    padding: 0px 20px;
}

.headerLinksDiv {
    width: calc(100vw - 600px);
    height: 85px;
    display: flex;
    justify-content: space-around;
    align-items: bottom;
}

.headerLink {
    text-decoration: none;
    background-color: transparent;
    font-size: 18px;
    color: rgba(0, 0, 255, 0.8);
    height: 40px;
    padding-top: 15px;
}

.headerLink:hover {
    cursor: pointer;
    border-bottom: 2px solid rgba(0, 0, 255, 0.8);
}

.headerLinksContainer {
    height: 85px;
    display: none;
}

.headerLinksSpacer {
    height: 30px;
}

.headerBottomDiv {
    width: 100vw;
    height: 5px;
    background-image: linear-gradient(lightgray, white);
}

.loginDiv {
    /* display: flex; */
    display: none;
    justify-content: space-around;
    align-items: center;
    flex-direction: column;
    padding-right: 30px;
    height: 100%;
}

.loginButton, .signUpButton {
    text-decoration: none;
    width: 63px;
    height: 26px;
    color: white;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 0, 255, 0.8);
    border: 3px solid transparent;
}

.loginButton:hover, .signUpButton:hover {
    border: 3px solid aliceblue;
    cursor: pointer;
}

.hamburgerMenu {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 20px;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    display: block;
    margin-right: 40px;
    margin-top: 2px;
}

.slideHeaderLink {
    display: flex;
    align-items: center;
    justify-content: left;
    width: 90%;
    padding-left: 10%;
    border-top: 2px solid white;
    border-bottom: 2px solid white;
    height: 50px;
    text-decoration: none;
    color: rgba(0, 0, 255, 0.8);
    font-size: 22px;
}

.slideHeaderLink:hover {
    background-color: lightgray;
    border-top: 2px solid lightgray;
    border-bottom: 2px solid lightgray;
}

.slideHeaderText {
    color: black;
}

.slideHeaderImg {
    /* height: 20px; */
    width: 20px;
    padding-right: 20px;
}

.logoutImg {
    width: 14px;
    padding-right: 26px;
}

.slideHeaderBackImg {
    height: 20px;
    width: 20px;
    padding-left: 12px;
    padding-right: 20px;
}

.slideHeaderBack {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: left;
    width: 100%;
    border: none;
    background-color: lightgray;
    font-size: 22px;
}

.slideHeaderBack:hover {
    cursor: pointer;
}

.topSlice {
    margin-top: 7px; 
}

.hamburgerSlices {
    border-bottom: 1px solid lightgray; 
    width: 20px; 
    height: 5px;
}

.hamburgerMenu:hover > .hamburgerSlices {
    border-color: white;
}

.hamburgerMenu:hover {
    background-color: gray;
}

.secondHeaderMenu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: fixed;
    right: -214px;
    top: 72px;
    border-left: 3px solid rgb(0, 0, 70);
    border-bottom: 3px solid rgb(0, 0, 70);
    border-bottom-left-radius: 8px;
    overflow: scroll;
    width: 210px;
    background-color: white;
    transition-property: right;
    transition-duration: 1s;
}

@media only screen and (max-width: 1000px) {
    .headerLinksContainer, .loginDiv {
        display: none;
    }
    .hamburgerMenu {
        display: block;
    }
    p {
        font-size: 20px;
    }
}

/* Footer  */

.footerDiv {
    background-color: rgb(0, 0, 0, .80);
    width: 100vw;
    height: 50px;
    color: rgb(179, 179, 179);
    display: flex;
    align-items: center;
    margin-top: 100px;
    border-top: 2px solid lightgray;
}

.footerSiteTitle {
    color: rgb(179, 179, 179);
    width: 240px;
    padding-left: 25px;
}

.footerLinks {
    width: calc(100% - 635px);
    padding: 0px 50px;
    border-left: 1px solid white;
    border-right: 1px solid white;
    display: flex;
    justify-content: space-between;
}

.footerLink {
    color: rgb(179, 179, 179);
    text-decoration: none;
}

.footerMail {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    border: none;
    color: rgb(179, 179, 179);
    width: 270px;
}

.mailImg {
    width: 35px;
    border-radius: 7px;
    margin: 0px 10px;
}

@media only screen and (max-width: 1070px) { 
    .footerSiteTitle {
        color: rgb(179, 179, 179);
        width: 220px;
        padding-left: 25px;
    }
    .footerLinks {
        padding: 0px 10px;
        width: calc(100% - 525px);
    }
}

@media only screen and (max-width: 920px) { 
    .footerDiv {
        height: 200px;
        flex-direction: column;
        margin-top: 150px;
        background-color: rgb(0, 0, 0);
    }
    .footerSiteTitle {
        padding: 10px 0px 5px 0px;
        width: 90%;
        text-align: center;
        border-bottom: 1px solid white;
    }
    .footerLinks {
        flex-direction: column;
        border-left: none;
        border-right: none;
        justify-content: center;
        align-items: center;
        padding: 5px 0px 0px 0px;
        width: 90%;
        border-bottom: 1px solid white;
        padding-bottom: 8px;
        margin-bottom: 12px;
    }
    .footerLink {
        padding: 3px 0px;
    }
}

.footerPolicy {
    margin-left: -30px;
}

.footerDivNoMargin {
    margin-top: 0px;
}

/* Body */

.bodyDiv {
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-direction: column;
}

.bodyHeader {
    font-size: 50px;
    padding-top: 30px;
    text-shadow: 1px 1px gray;
    text-decoration: none;
    width: 100vw;
    text-align: center;
}

.bodyHomeSubTitle {
    font-size: 20px;
    padding-top: 20px;
    text-shadow: 1px 1px gray;
    text-decoration: none;
}

.homeOneDiv {
    width: 100vw;
    margin-top: 0px;
}

.homeOneSubText {
    font-size: 40px;
}

.homeOneDiv {
    background-image: url("../images/robotbg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 560px;
}

.homeOneItemsContainer {
    width: 100%;
    height: fit-content;
    text-align: center;
    margin-bottom: 50px;
    margin-top: 50px;
}

.homeOneItem {
    height: 71px;
    width: 90%;
    border: 3px solid white;
    border-radius: 10px;
    margin: 10px 0px 10px 0px;
    overflow: hidden;
    transition-property: height;
    transition-duration: 1s;
}

.homeOneBaseItem {
    display: flex;
    justify-content: center;
    align-items: center;
    /* background-color: rgb(0, 0, 70); */
    /* color: white; */
}

.homeOneSubTitle {
    font-size: 30px;
    width: calc(70% - 20px);
    height: 71px;
    text-align: left;
    padding-left: 20px;
    background-color: rgb(0, 0, 70);
    display: flex;
    justify-content: left;
    align-items: center;
    color: white;
}

.homeOneExpand {
    font-size: 50px;
    font-weight: bold;
    height: 71px;
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px;
    margin: 0px;
    border: none;
}

.homeOneExpand:hover {
    cursor: pointer;
}

.homeOneSubContent {
    opacity: 0;
    font-size: 18px;
    text-align: left;
    padding-left: 20px;
    background-color: lightgray;
    height: 100%;
    padding-top: 5px;
    padding-bottom: 10px;
    transition: 1.25s linear;
}

.homeTwoDiv {
    max-height: 600px;
    width: 100vw;
    margin-top: 0px;
    display: flex;
    flex-shrink: 0;
    overflow: hidden;
}

.ourApproachText {
    font-size: 50px;
    color: white;
    background-color: rgb(47, 79, 79, .82);
    padding: 3px 15px;
    width: 50%;
    min-width: 570px;
    margin-top: 340px;
    margin-left: 30px;
}

.approachSlideRightBtn {
    margin-left: 30px;
    width: 200px;
    height: 60px;
    padding: 0px;
    border: none;
    background-image: linear-gradient(blue, rgb(0, 0, 70));
    border-radius: 15px;
    color: white;
    font-size: 20px;
    margin-top: 20px;
}

.approachSlideRightBtn:hover {
    cursor: pointer;
}

#homeTwoDivPretty {
    width: 100%;
    margin-left: 0px;
    height: 600px;
    background-image: url(../images/technology.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    flex-shrink: 0;
    color: white;
    font-size: 40px;
    transition: .75s linear;
}

#homeTwoDivDetails { 
    width: 100vw;
    overflow-y: scroll;
}

.approachWhiteFont {
    color: white;
    text-align: left;
    padding-left: 5%;
}

.homeSideBySide {
    display: flex;
    align-items: center;
}

.homeTwoContent {
    display: flex;
    background-image: linear-gradient(white, rgb(222, 220, 220));
    justify-content: center;
}

.homeOneContent {
    padding: 0px 10%;
    width: 80%;
}

.homeOneBackgroundImg {
    width: 400px;
    height: auto;
    margin-right: 150px;
    margin-top: 75px;
}

.tabbedText {
    width: 70vw;
    margin: 30px 15vw;
}

.homeScreenTextList {
    margin: 0px;
    width: 90%;
    padding: 0px 5%;
}

.homeScreenTextListItem {
    width: 100%;
}

.homeScreenP {
    width: 100%;
}

.homeThreeDiv {
    overflow: hidden;
    flex-wrap: nowrap;
    border-top: 1px solid rgb(242, 240, 240);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 225px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.approachImg {
    width: calc(30% - 40px);
    height: auto;
    margin: 20px;
    border-radius: 25px;
    border: 3px solid black;
}

.robotHandEmail {
    height: 100%;
    width: auto;
    padding-top: 50px;
    padding-left: 10px;
    display: none;
}

.homeThreeBackgroundImg {
    height: 200px;
    margin-left: 35px;
}

.emailUsHomeLeft {
    width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 10px;
    display: none;
}

.emailUsButton {
    height: 75px;
    width: 100%;
    border: none;
    background-color: transparent;
    background-image: url("../images/emailus.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: none;
}

.emailUsButton:hover {
    cursor: pointer;
}

@media only screen and (max-width: 660px) {
    .ourApproachText {
        font-size: 36px;
        min-width: 50%;
        width: fit-content;
    }
    .siteTitle {
        width: 150px;
        padding: 0px 20px;
    }
    .homeOneContent {
        padding: 0px 5%;
        width: 90%;
    }
    .homeOneItem {
        width: 100%;
    }
    p {
        font-size: 17px;
    }
}

@media only screen and (max-width: 780px) {
    .bodyHeader {
        font-size: 36px;
    }
    .homeOneSubText {
        font-size: 22px;
    }
}

@media only screen and (max-width: 580px) {
    .homeOneSubTitle {
        font-size: 26px;
    }
    .homeThreeSpacer {
        display: none;
    }
    .bodyHeader {
        width: 90%;
    }
}

@media only screen and (max-width: 475px) {
    .homeOneSubTitle {
        font-size: 22px;
    }
    .homeThreeText {
        font-size: 30px;
    }
    .hamburgerMenu {
        margin-right: 20px;
    }
    .ourApproachText {
        font-size: 28px;
    }
    p {
        font-size: 15px;
    }
}

@media only screen and (max-width: 400px) { 
    .ourApproachText {
        font-size: 22px;
    }
}

@media only screen and (max-width: 1165px) { 
    .homeScreenP {
        font-size: 20px;
        margin: 3px;
    }
    .tabbedText {
        width: 90vw;
        margin: 30px 5vw;
    }
    .approachSlideRightBtn {
        margin: 20px 30px;
    }
}

@media only screen and (max-width: 730px) { 
    .homeScreenP {
        font-size: 16px;
        margin: 1px;
    }
    .approachSlideRightBtn {
        width: 133px;
        height: 40px;
        border-radius: 10px;
        font-size: 14px;
        margin-top: 0px;
    }
}
