/* reset/globals */
* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}
html, body {
    overflow-x: hidden !important;
}
body::-webkit-scrollbar {
    width: 1em;
}
body::-webkit-scrollbar-track {
    /* box-shadow: inset 0px 0px 6px rgb(0, 112, 152); */
    background: #111;
}   
body::-webkit-scrollbar-thumb {
    background-color: #fff;
    box-shadow: inset 0px 0px 6px #111;
}

/* logo */
.logo {
    position: absolute;
    top: 0px;
    z-index: 100;
    padding: 25px 0px;
    background: #eee;
    width: 35%;
    height: 20vh;
    display: flex;
    align-items: center;
}
.logo img {
    height: 100px;
    padding-left: 40px;
}

/* hamburger icon */
.ham {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 400ms;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: absolute;
    top: 50px;
    right: 35px;
}
.hamRotate.active {
    transform: rotate(45deg);
}
.hamRotate180.active {
    transform: rotate(180deg);
}
.line {
    fill:none;
    transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
    stroke:#000;
    stroke-width:5.5;
    stroke-linecap:round;
}
.ham4 .top {
    stroke-dasharray: 40 121;
}
.ham4 .bottom {
    stroke-dasharray: 40 121;
}
.ham4.active .top {
    stroke-dashoffset: -68px;
}
.ham4.active .bottom {
    stroke-dashoffset: -68px;
}

/* home */
.home {
    height: 100vh;
    width: 100%;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
}
.left {
    height: 100%;
    width: 35%;
    background: url('./img/dark.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.right {
    height: 100%;
    width: 65%;
    background: url('./img/pond.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}
.bg-overlay {
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,.1);
    position: absolute;
    top: 0;
    right: 0;
}

/* content */
.content-overlay {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    padding-top: 150px;
    width: 35%;
    font-size: .75em;
}
.flex-blocker {
    width: 100%;
}
.row {
    color: white;
    width: 90%;
    margin: 50px auto;
    padding: 0px 50px;
    /* border: 1px solid red; */
}
.row:nth-child(1) {
    display: flex;
    align-items: center;
    font-size: 2em;
}
.custom {
    width: 50px;
    margin-right: 50px;
    height: 2px;
    background: rgb(0, 187, 255);
    border: none;
}
.center-text {
    font-size: 3.25em;
    text-transform: uppercase;
}
.row:nth-child(3) {
    font-size: 2em;
}
.quote-but a {
    text-decoration: none;
    color: white;
    background: rgb(0, 112, 152);
    font-size: 20px;
    font-weight: normal;
    font-family: Arial, Helvetica, sans-serif;
    padding: 15px 25px;
    transition: all .25s ease;
}
.quote-but a:hover {
    background: rgb(0, 49, 67);
}

/* navigation */
#navigation {
    height: 80vh;
    width: 35%;
    background: #111;
    position: absolute;
    top: 20vh;
    transition: all 1s ease;
}
.closed {
    margin-left: -35%;
    transition: all 1s ease;
}
.page-links {
    height: 90%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 50px;
}
.page-links ul {
    text-align: left;
    font-size: 35px;
    line-height: 75px;
    text-transform: uppercase;
    padding-right: 200px;
}
.page-links ul li a {
    box-sizing: border-box;
    transition: padding 1s ease;
    font-family: 'Cormorant', serif;
    font-weight: 300;

}
.page-links ul li a:hover {
    border-left: 3px solid white;
    padding-left: 25px;
    
}
.contact-links {
    height: 10%;
}
.contact-links ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}
#fb-link, #twit-link, #ig-link, #email-link, #phone-link {
    height: 25px;
    width: 25px;
    margin-right: 25px;
}
#navigation nav ul {
    list-style-type: none;
}
#navigation nav ul li a {
    color: white;
    text-decoration: none;
}

/* about */
.about {
    min-height: 75vh;
    display: flex;
}
.about-left {
    min-height: 75vh;
    width: 35%;
    background: rgb(0, 112, 152);
    padding: 100px;
    text-transform: uppercase;
}
.section-title {
    color: white;
    font-size: 45px;
    font-weight: normal;
    text-align: right;
}
.darken {
    color: rgb(0, 49, 67);
}
.about-right {
    min-height: 75vh;
    width: 65%;
    padding: 5% 10%;
}
.about-content {
    text-align: center;
}
.about-content h2 {
    font-size: 35px;
}
.about-content div:not(:first-child) h2 {
    margin-top: 50px;
}
.about-content div p {
    margin-top: 15px;
    font-size: 25px;
    line-height: 35px;
}

/* services */
.services {
    min-height: 100vh;
    width: 100%;
    background: #111;
    padding: 100px 0px;
    /* font-family: Arial, Helvetica, sans-serif; */
    position: relative;
}
.services h2 {
    text-transform: uppercase;
    color: white;
    font-size: 45px;
    font-weight: normal;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
}
.service-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    gap: 50px;
}
.grid-item {
    text-align: left;
    /* margin: 25px; */
    border-top: 1px solid #444;
    /* margin: 25px; */
    transition: all .25s ease;
    z-index: 750;
}
.grid-item h3 {
    color: rgb(0, 187, 255);
    font-weight: normal;
    font-size: 25px;
    margin-top: 25px;
}
.service-overlay h3 {
    color: rgb(0, 187, 255);
    font-weight: normal;
    font-size: 25px;
}
.grid-item:hover {
    border-top: 1px solid white;
    cursor: pointer;
}
.grid-item p {
    margin-top: 10px;
    color: white;
    font-size: 20px;
}
.dark-overlay {
    background: rgba(0,0,0,.8);
    height: 100vh;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 500;
    transition: all .5s ease;
}
.service-overlay {
    background: #111;
    color: #fff;
    padding: 0px 0px 100px 0px;
    width: 70vw;
    overflow-y: scroll;
    position: fixed;
    height: 100vh;
    top: 0;
    left: -100vw;
    text-align: center;
    z-index: 1000;
    transition: all .5s ease;
}
.service-overlay::-webkit-scrollbar {
    width: 1em;
}
.service-overlay::-webkit-scrollbar-track {
    /* box-shadow: inset 0px 0px 6px rgb(0, 112, 152); */
}   
.service-overlay::-webkit-scrollbar-thumb {
    background-color: rgb(0, 187, 255);
    box-shadow: inset 0px 0px 6px #111;
}
.service-overlay h3 {
    font-size: 45px !important;
    background: rgb(0, 112, 152);
    color: #fff;
    margin-bottom: 25px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.service-overlay h4 {
    font-size: 35px;
    font-weight: normal;
    color: rgb(0, 187, 255);
    text-transform: capitalize;
}
.service-overlay p {
    font-size: 25px;
    margin-top: 15px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    line-height: 35px;
    margin-bottom: 50px;
}
.service-overlay ul {
    margin-top: 15px;
    font-size: 25px;
    list-style-type: disc;
    margin-bottom: 50px;
}
.service-overlay li {
    width: 70%;
    margin: 0 auto;
    padding: 0px 50px;
    margin-bottom: 15px;
    /* border-bottom: 1px solid white; */
}
.special {
    color: rgb(0, 187, 255);
}
.back-but {
    cursor: pointer;
    position: absolute;
    top: 70px;
    margin-top: -38px;
    left: 10px;
    height: 76px;
    width: 76px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.back-but-2 {
    cursor: pointer;
    text-decoration: underline;
    margin-top: 100px;
}
.back-but svg {
    transition: all .25s ease;
}
.back-but:hover svg {
    fill: #111;
}
.back-but-2:hover {
    color: #fff;
}
.service-img {
    margin-bottom: 15px;
}

/* brands */
.brands {
    padding: 50px 0px;
    width: 100%;
    background: #bbb;
}
.brand-title {
    font-size: 45px;
    /* font-weight: bolder; */
    /* text-transform: uppercase; */
    text-align: center;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: #444;
    display: none;
    font-weight: 500;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.brand-list {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 25px;
}
.brand {
    /* height: 150px; */
    box-sizing: initial;
    width: 20%;
    display: flex;
    justify-content: center;
    /* box-shadow: 2px 2px 5px black; */
    padding: 35px;
    /* background: white; */
    /* border: 1px solid black; */
}


/* reviews */
.reviews {
    background: #111;
    padding: 100px;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.review::selection,
.review-person .darken4::selection {
    background: none; /* WebKit/Blink Browsers */
}
.review::-moz-selection,
.review-person .darken4::-moz-selection {
    background: none; /* Gecko Browsers */
}
#right-arrow {
    transform: rotate(180deg);
}
#left-arrow {
}
.review-up {
    position: absolute;
    height: 76px;
    top: 50%;
    margin-top: -38px;
    left: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: white;
    font-size: 5em;
    cursor: pointer;
}
.review-down {
    position: absolute;
    height: 76px;
    top: 50%;
    margin-top: -38px;
    right: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: white;
    font-size: 5em;
    cursor: pointer;

}
.review-slide {
    display: none;
}
.custom-hr {
    width: 90%;
    height: 5px;
    /* background: rgb(241, 104, 0); */
    background: #fff;
    border: none;
    margin-left: auto;
    margin-right: auto;
}
.chr1 {
    margin-bottom: 50px;
}
.chr2 {
    margin-top: 50px;
}
.review {
    color: white;
    text-align: center;
    width: 80%;
    font-size: 30px;
    margin: 0px auto;
    cursor: default;
}
.darken2 {
    color: rgb(241, 104, 0);
}
.darken3 {
    color: rgb(0, 187, 255);
}
.darken4 {
    /* color: #aaa; */
}
.review-person {
    color: white;
    font-size: 30px;
    margin: 50px auto 0px auto;
    width: 70%;
    text-align: right;
    cursor: default;
}
.reviews2 {
    background: #111;
    padding: 25px;
    text-align: center;
    border-top: 1px solid white;
}
.reviews2 a {
    /* text-transform: uppercase; */
    color: rgb(0, 187, 255);
    text-decoration: none;
    font-size: 1.5em;
}

/* contact */
.contact {
    min-height: 100vh;
    display: flex;
}
.contact-right {
    min-height: 100vh;
    width: 35%;
    background: rgb(0, 112, 152);
    padding: 100px;
}
.contact-right .section-title {
    text-align: right;
    text-transform: uppercase;
    text-align: left !important;
}
.contact-left {
    width: 100%;
    min-height: 100vh;
    text-align: center;
    padding: 100px;
}
.c-info {
    line-height: 40px;
}
.contact-left img {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 35px;
}
.contact-left h2 {
    font-weight: normal;
    font-size: 30px;
    font-style: italic;
}
.contact hr {
    margin: 25px 0px 45px 0px;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #fff, #fff, #111, #fff, #fff);
    outline: none;
    border: none;
    margin-left: auto;
    margin-right: auto;

}
.quote-head {
    /* margin: 25px 0px; */
    text-transform: uppercase;
    font-size: 45px !important;
}
.contact-left form {
    margin-top: 50px;
}
.form-row {
    display: flex;
    width: 70%;
    margin: 0 auto 15px auto;
    justify-content: space-between;
}
.contact-left input {
    width: 49%;
    padding: 10px 20px;
    font-size: 20px;
    display: block;
}
.contact-left textarea {
    width: 70%;
    padding: 10px 20px;
    font-size: 20px;
    margin-bottom: 15px;
}
.form-row2 input {
    width: 32% !important;
}
.contact input[type="submit"] {
    margin-left: auto;
    margin-right: auto;
    width: 200px;
    margin-top: 50px;
    font-size: 20px;
    background: rgb(0, 112, 152);
    color: white;
    font-weight: normal;
    font-family: Arial, Helvetica, sans-serif;
    padding: 15px 25px;
    border: none;
    transition: all .25s ease;
}
.contact input[type="submit"]:hover {
    background: rgb(0, 49, 67);
    cursor: pointer;
}

/* Google Maps */
.map {
    height: 80vh;
    width: 80%;
    margin: 100px auto;
}

.footer {
    height: 10vh;
    background: #111;
    width: 100%;
    padding: 50px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.bbb-logo {
    
}

/* Media */
/* XL */
@media only screen and (max-width: 1500px) {
    .contact-left textarea {
        width: 100%;
    }
    .form-row {
        width: 100%;
    }
    .service-overlay {
        width: 100vw;
        left: -100vw;
    }
}
/* Large */
@media only screen and (max-width: 1200px) {
    .left {
        width: 100%;
    }
    .right {
        display: none;
    }
    .content-overlay {
        width: 100%;
    }
    .logo {
        width: 100%; 
    }
    .logo img {
        padding-left: 100px;
    }
    .ham {
        right: 100px;
    }
    .about {
        display: block;
    }
    .about-left {
        width: 100%;
        min-height: auto;
        padding: 50px;
    }
    .section-title {
        text-align: center;
        display: flex;
        justify-content: center;
    }
    .section-title div {
        margin-right: 12px;
        /* color: white; */
    }
    .about-right {
        width: 100%;
    }
    .about-right .about-content div {
        margin: 50px 0px
    }
    .about-content {
        text-align: center;
        width: 100%;
    }
    .service-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr 1fr;
    }
}

/* Medium */
@media only screen and (max-width: 1000px) {
    .logo img {
        height: 80px;
        padding-left: 25px;
    }
    .ham {
        height: 70px;
        top: 65px;
        right: 25px;
    }
    #navigation {
        width: 75%;
    }
    .closed {
        margin-left: -75%;
    }
    .section-title {
        display: block;
    }
    .section-title div {
        margin-bottom: 15px;
    }
    .contact-left img {
        width: 80%;
    }
    .form-row2 {
        display: block !important;
    }
    .form-row2 input {
        width: 100% !important;

    }
    .form-row2 input:nth-child(2) {
        margin: 15px 0px;
    }
    .quote-head {
        font-size: 2em !important;
    }
    #map {
        width: 100% !important;
    }
}

/* Small */
@media only screen and (max-width: 800px) {
    .custom {
        display: none;
    }
    .row {
        width: 100%;
        padding: 0 25px;
        text-align: center;
    }
    .iar {
        font-size: 20px !important;
        display: flex;
        justify-content: center;
        padding: 0px 5px;
    }
    .lrow {
        font-size: 25px !important
    }
    .center-text {
        font-size: 30px;
        text-align: center;
    }
    .about-left {
        padding: 50px 5%;
    }
    .section-title {
        font-size: 40px;
    }
    .about-right {
        padding: 0px 5%;
    }
    .about-right .about-content h2 {
        font-size: 25px !important;
    }
    .about-right .about-content p {
        font-size: 20px !important;
    }
    .services-title {
        font-size: 40px;
    }
    .services h2 {
        width: 100%;
        text-align: center;
    }
    .service-grid {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr 1fr 1fr;
        gap: 25px;
    }
    .service-overlay {
        height: 100vh !important;
        top: auto;
        bottom: 0;
    }

    .back-but {
        width: 35px;
    }
    .service-overlay h3 {
        font-size: 25px !important;
    }
    .service-overlay h4 {
        font-size: 25px !important;
    }
    .service-overlay p {
        font-size: 20px !important;
    }
    .service-overlay li {
        font-size: 20px !important;
    }
    .service-img {
        height: 100px;
    }
    .grid-item {
        border: none;
        text-align: center;
    }
    .grid-item:hover {
        border: none;
    }
    .brand-list {
        display: block;
        text-align: center;
    }
    .brand {
        margin-left: auto;
        margin-right: auto;
    }
    #left-arrow,
    #right-arrow {
        height: 40px;
    }
    .review-up {
        left: -25px;
    }
    .review-down {
        right: -25px;
    }
    /* .reviews {
        padding: 75px 15px 50px 15px;
        height: auto;
    } */
    .review {
        font-size: 15px;
    }
    .review-person {
        font-size: 1.25em;
    }
    .custom-hr {
        display: none;
    }
    .contact-left {
        padding: 100px 25px;
    }
    .contact-left img {
        width: 90%;
    }
    .c-info {
        font-size: 25px !important;
    }
    /* .bbb-logo img {
        height: 25px;
    } */
    .footer {
        justify-content: center;
    }
}