*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    text-decoration: none; 
    list-style: none;
}

html {
    scroll-behavior: smooth;
}


:root {
    --pink: rgb(204,16,89);
    --green: rgb(13,168,80);
    --green-opacity-lightest: rgba(13,168,80, 0.03);
    --green-opacity-lighter: rgba(13,168,80, 0.08);
    --green-opacity--full-screen:rgba(13,168,80, 0.2);
    --green-opacity--barely-visible:rgba(13,168,80, 0.06);
    --light-bg: rgb(253, 253, 253);
    --light-grey: rgb(112, 112, 112);
    --light-grey-a-bit-lighter:rgba(112, 112, 112,0.5);
    --barely-visible-grey: rgba(112, 112, 112,0.1);
    --text-grey:rgb(107,107,107);
    --darker-grey:rgb(123,123,123);
    --really-dark-grey:rgb(51, 51, 51);
    --yellow: #F7FF7E;
    --future-font: good-times, sans-serif;
    --main-font: century-gothic, sans-serif;
    --shadow: 5px 6px 20px 3px rgb(0 39 12 / 7%);
    --border-grey: rgb(218,218,218);
}
a{
    text-decoration: none;
    color: inherit;
}
body{
    font-family: var(--main-font);
    counter-reset: item1;

}
.show{
    display: block !important;
}
.hide{
    display: none !important;
}
.show-flex{
    display: flex !important;
}

.dont-break{
    white-space: nowrap;
    font-weight: bold;
}

.mail-server-meltdown{
    max-width: 400px;
    background: var(--pink);
    height: 90px;
    color: white;
    padding: 10px;
    position: absolute;
    top: 0;
    left: calc(50% - 210px);
    z-index: 900;
    text-align: center;
    font-size: 0.9rem;
}
.mail-server-meltdown p{
    margin-bottom: 5px;
}

.btn{
    padding: 10px 15px;
    background-color: var(--green);
    color: white;
    border-radius: 50px;
    cursor: pointer;
    border:none;
}

textarea{
    font-family: var(--main-font);
}

.btn:hover{
    filter: brightness(1.3);
}

.btn:focus{
    outline: 1px dotted var(--green);
}

.page-super-container{
    max-width: 2500px;
    margin: 0 auto;
    background-color: white;
}


.page-title{
    color: rgb(233 255 243);
    text-shadow: 1px 2px 1px rgb(206 206 206);
    padding: 60px 0 80px 0;
    text-align: center;
}


@media(max-width:500px){
    .page-title{
        padding: 30px 0;
    }
}


.red{
    color: var(--pink);
}

.offscreen{
    position: absolute;
    left: -999em;
}

.external-link{
    margin: 0 2px;
}


.loading-container{
    height: 100vh;
    width: 100vw;
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
    background-color: rgba(13, 168, 80, 0.2);
}




/*      LOGIN    */

.login-link{
    cursor: pointer;
}

.login-background{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(237,251,240);
    z-index: 3000;
}



.login-form{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: white;
    max-width: 400px;
    padding: 25px;
    color: var(--really-dark-grey);
    font-size: 0.9rem;
    box-shadow: var(--shadow);
    position: relative;
    margin: 0 auto ;
    z-index: 600;
}
@media(max-width:500px){
    .login-form{
        max-width: 90vw;
    }
}

.login-h3{
    flex-basis: 100%;
    color: var(--pink) !important;
    font-size: 2rem !important;
    text-align: center;
    font-weight: normal;
    margin-bottom: 20px !important;

}
.login-message-wrapper{
    flex-basis: 100%;
    text-align: center;
    font-size: 0.9rem;
    padding: 15px;
    margin-bottom: 40px;
    color: var(--darker-grey);
} 
.login-x{
    height:100%;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;

}

.login-x-img{
    height: 95%;
    opacity: 0.08;
    max-width: 100%;
}

.login-label{
    flex-basis: 30%;
    margin-bottom: 10px;
    
}

.login-input{
    flex-basis: 70%;
    margin-bottom: 10px;
    padding: 2px;
    z-index: inherit;
    background: rgba(13,168,80,0.06);
    border: 1px dotted var(--green); 
    line-height: 1.15rem;
}
@media(max-width:400px){
    .login-label,.login-input{
        margin-bottom: 3px;
        flex-basis: 100%;    
    }
}

.login-forgot-password{
    flex-basis: 100%;
    text-align: center;
    margin-top: 20px;
    color: var(--pink);
    font-size: 0.8rem;
    z-index: inherit;

} 
.login-buton-container, .message-buton-container{
    flex-basis: 100%;
    text-align: center;
    z-index: inherit;
}

.login-btn{
    margin-top: 10px;
    z-index: inherit;
}

.login-cancel{
    width: 20px;
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: inherit;
    cursor: pointer;
}

.login-validation{
    color: var(--pink);
    margin: -3px 0 17px 0;
    font-size: 0.8rem;
    text-align: center;
}


.login-page-container{
    height: calc(100vh - 100px);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 100px;
}

.login-page-wrapper{
    width: 100%;
    padding: 40px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

@media(max-width:650px){
    .login-page-wrapper{
        width:100vw;
    }
}

.forgot-pwd-p{
 flex-basis: 100%;
  margin: 0 20px;
  font-size: 1.1rem;

}
.forgot-pwd-p1{
    font-weight: bold;
    color: var(--pink);
    margin-bottom: 5px;
    font-size: 1.3rem;
    
}
@media(max-width:450px){
    .forgot-pwd-p{
      font-size: 0.9rem;
    
    }
    .forgot-pwd-p1{
        font-size: 1.1rem;
    }
}

.forgot-pwd-ul-wrapper{
    flex-basis: 100%;
    display: flex;
}

.forgot-pwd-ul{
    margin: 15px auto; 
    color: var(--really-dark-grey);
}

.forgot-pwd-ul li{
    font-size: 0.8rem;
    list-style: square;
}

.forgot-pwd-p-error-code{
    font-size: 0.7rem;
    margin: 20px 0;
    flex-basis: 100%;
    text-align: center;
}

.forgot-pwd-return-btn-wrapper{
    flex-basis: 100%;
    text-align: center;
    margin-top: 20px;
}


.forgot-pwd-h2{
    color: var(--green);
    margin-bottom: 10px;
}

@media(max-width:450px){
    .forgot-pwd-h2 {
        font-size: 1rem;
    }
    .login-validation{
        font-size: 0.7rem;
    }
    .forgot-pwd-ul li {
        font-size: 0.72rem;
    }
}




.forgot-pwd-return-message-container{
    display: flex;
    flex-wrap: wrap;
    align-items:center;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
}

.forgot-pwd-return-img{
    max-width: 300px;
}

.forgot-pwd-return-message-wrapper{
    flex-basis: 60%;
}

@media(max-width:750px){
    .forgot-pwd-return-img{
        margin-bottom: 20px;
        max-width: 200px;
    }
 
}







/* ===================================== */
/*                HEADER                 */
/* ===================================== */

/* ==========FRONT PAGE HEADER========== */




/* #Top Bar & Navigation */

#main-nav{
    display: block;
}


.hamburger-container{
    display: none;
}
   

.top-bar{
    display: flex;
    justify-content: space-between;
    padding:  10px 15px 5px 15px;
    z-index: 600;
    position: relative;
}

.logo-container-link{
    display:flex;
    align-items:center;
    margin-left:2.2em;
}
@media(max-width:950px){
    .logo-container-link{
        margin-left:0;
    }
}

#logo-words{
    width: 250px;
}

#logo-x{
    width: 75px;
}

.main-nav-ul{
    display: flex;
}

.nav-link{
    color: var(--green);
    margin-left: 20px;
    font-size: 1.2rem;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

@media(min-width:851px){

    .nav-link:hover{
        filter:brightness(1.15);
        transform: scale(1.08);
        transition: all 0.2s ease-in-out;
    }
}

.login-icon{
    max-height: 14px;
    margin-left: 3px;
}

@media(max-width:1200px){

    #logo-words{
        width: 170px;
    }
    #logo-x{
        width: 50px;
    }
    .nav-link{
        font-size: 1rem;
        margin-left: 10px;
    }

}

.active-nav{
    border-bottom: 2px solid var(--pink);
}



/* mobile nav */
@media(max-width:850px){

 
    .hamburger-line{
        stroke:var(--green);
        transition-duration: .75s;
    }
    .main-nav-hamburger-clicked{
        display: block !important;
        position: fixed;
        right: 0;
        height: 102vh;
        width: 100vw;
        z-index: 800;
        margin-top: -15px;
    }
    #main-nav{
        display: none;
        background-color: var(--pink);
    }
    .hamburger-container{
        display: block;
        z-index: 900;
    }
    .hamburger-x{
        position: fixed;
        right: 10px;
        top: 15px;
    }

    .main-nav-ul{
        flex-direction: column;
        margin-top: 50px;
        height: 100%;
    }

    .nav-link{
        font-size: 1.3rem;
        color: white;
        font-weight: bold;
    }
    .link-a{
        display: block;
        padding: 0 20px 20px 20px;
    }
}








/* ===================================== */
/*            FRONT PAGE                 */
/* ===================================== */


.front-page-header{
    height: 100vh;
    width: 100%;
    overflow: hidden;
    position: relative;

}

.header-content-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: calc(100vh - 71px);
    z-index:2;
}

@media(min-width:1200px){
    .header-content-container{
        height: calc(100vh - 110px);
    }
}

.header-svg-container{  
    flex-basis: 75%;
    order: 2;
    position: relative;
    height: 100%;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
}

.header-wording-container{
    flex-basis: 35%;
    order: 1;
    margin-left: 3em;
    z-index:2;
    position: relative;
}

.header-big-x{
    max-height: 100%;
    height: 100%;
    width: auto;
    max-width: 100%;
}



.straight-x-animation {
    transform: translate(-250px, -250px);
    animation: intro-big-x-straight 0.5s  linear 1s 1 normal forwards;
}

@keyframes intro-big-x-straight{
    0%{
        transform: translate(-250px, -250px);
    }
    100%{
        transform: translate(0px, 0px);
    }
}


.sharp-x-animation{
    transform: translateX(250px) translateY(-250px) scale(1);
    animation: intro-big-x-sharp 0.5s linear 1.5s 1 normal forwards;
   
}


@keyframes intro-big-x-sharp{
    0%{
        transform: translate(250px, -250px);
    }
    100%{
        transform: translate(0px, 0px);
    }
}


#image842{
    animation: face-animation 14s linear 2s infinite normal forwards;
}

@keyframes face-animation{
    0%{
        filter: brightness(1);
        transform: scale(1);
    }
    50%{
        filter: brightness(1.8);
        transform: scale(1.06);
    }
    100%{
        filter: brightness(0.9);
        transform: scale(1);
    }
}




.header-text{
    color: rgb(109,109,109);
    font-size: 2.5rem;
    font-weight: bold;
    z-index: 550;
    position: absolute;
    top: -55px;
    width: 100vw;
}

.flipping-text-container{
    height: 30px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    font-size: 1.5rem;
    color: var(--pink);
}

.flipping-text-static{
    margin-right: 10px;
    position: absolute;
    top: 0;
}

#flipping-text-flipping{
   position: absolute;
   left: 128px;
   color: var(--pink);
}




.header-buttons-container{
    margin-top: 50px;
    display: flex;
    align-items: center;
    text-align: center;
    z-index: 500;

}

.header-buttons-container a{
    width: 170px;
    font-size: 1.3rem;
    font-weight: bold;
}



#header-btn-quote-id{
    margin-right: 20px;
}

#header-btn-contact-id{
    background-color: var(--pink);
    color: white;

}


@media(max-width:130px){
    .header-text{
        font-size: 1.8rem;
    }
    .flipping-text-container{
        font-size: 1.5rem;
    }
    #flipping-text-flipping{
        left: 128px;
    }
    .header-buttons-container{
        margin-top: 25px;
    }

    .header-buttons-container a{
        font-size: 1.1rem;
        width: 125px;
        padding: 8px 5px;
    }
}

@media(max-width:1100px){
    .header-text{
        font-size: 2.1rem;
        top: -40px;
    }
    .flipping-text-container{
        font-size: 1.3rem;
    }
    #flipping-text-flipping{
        left: 112px;
    }
}

@media(max-width:1000px){

    /* .header-text{
        font-size: 1.2rem;
        top: -25px;
    } */
    .flipping-text-container{
        font-size: 1.1rem;
    }
    #flipping-text-flipping{
        left: 95px;
    }
}

@media(max-width:850px){

    .header-text{
        font-size: 1.4rem;
        top: -32px;
    }
    .flipping-text-container{
        font-size: 0.95rem;
        height: 20px;
    }
    #flipping-text-flipping{
        left: 82px;
    }
    .header-buttons-container{
        margin-top: 10px;

    }
    .header-buttons-container a{
        font-size: 0.9rem;
        width: 105px;
        padding: 10px 2px;
    }

}

.corner-img{
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100px;
    width: 100px;
    z-index: 1;
    transition: all 1.5s;
    margin-left: -5px;
}


@media(max-width:1000px){
    .corner-img{
        width: 80px;
        height: 80px;
    }
}
@media(max-width:600px){
    .corner-img{
        width: 40px;
        height: 40px;
    }
}



/* portrait */

@media all and (orientation:portrait){

    .header-content-container{
        flex-wrap: wrap;
    }
 
    .header-svg-container{
        order: 1;
        flex-basis: 100%;
        height: 70%;
        justify-content: center;
        align-items: center;
    }

    .header-wording-container{
        order:2;
        flex-basis: 100%;
        padding: 2%;
        margin: 0;
        height: 30%;
        display: flex;
        flex-direction: column;
        justify-content: center; 
    }

    .flipping-text-container{
        font-size: 2.5rem;
        height: 50px;
        margin-top: 5px;
    }
    #flipping-text-flipping{
        left: 216px;
    }

    .header-big-x {
        max-height: 95%;
        height: unset;
        flex-basis: 100%;
        max-width: 100%;
    }

    .header-text{
        position: unset;
        font-size: 5vw;
    } 
    
    .corner-img{
        display: none;
    }

    .header-buttons-container a{
        width: 170px;
        font-size: 1.3rem;
        font-weight: bold;
    }

    @media(max-width:900px){
        .flipping-text-container{
            font-size: 2rem;
            height: 45px;
        }
        #flipping-text-flipping{
            left: 170px;
        }
    }

    @media(max-width:900px){
        .flipping-text-container{
            font-size: 1.8rem;
            height: 40px;
        }
        #flipping-text-flipping{
            left: 155px;
        }
    }
    @media(max-width:700px){
        .flipping-text-container{
            font-size: 1.5rem;
            height: 30px;
        }
        #flipping-text-flipping{
            left: 130px;
        }
        .header-buttons-container a{
            width: 145px;
            font-size: 1.3rem;
        }
    }
    @media(max-width:550px){
        .flipping-text-container{
            font-size: 1.3rem;
            height: 28px;
        }
        #flipping-text-flipping{
            left: 112px;
        }
        .header-buttons-container a{
            font-size: 1.2rem;
            width: 130px;
        }
    }
    @media(max-width:450px){
        .flipping-text-container{
            font-size: 1rem;
            height: 25px;
        }
        #flipping-text-flipping{
            left: 85px;
        }
        .header-buttons-container a{
            font-size: 1rem;
            width: 110px;
            padding: 5px 2px;
        }
    }

    @media(max-width:350px){
        .flipping-text-container{
            font-size: 0.85rem;
            height: 20px;
        }
        #flipping-text-flipping{
            left: 75px;
        }
    }


}








/* SECTIONS */
/* SERVICES */


.front-page-services-container{
    margin: 0 10px;
}


.services-btn{
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    max-width:355px;
}




/* SECTIONS */
/* PORTFOLIO */


.front-page-portfolio-container{
    margin: 100px 10px;
} 

.fp-portfolio-left-and-right-container{
    display: flex;
    justify-content: center;
}


.fp-portfolio-left-container{
    flex-basis: 100%;
    order: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}




/* card flip */

.portfolio-content-container{
    order: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 10px;
}

@media(max-width:550px){
    .portfolio-content-container{
        order: 2;
        padding: 40px 10px;
    }
}


.portfolio-card-container{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 660px;
}
@media(max-width:900px){
    .portfolio-card-container{
        max-width: 540px;
    }
}

/* .card-flip-wrapper {
    cursor: pointer;
    width: 180px;
    height: 180px;
    background-color: var(--pink);
    margin: 20px;
    opacity: 0;
    transform: scale(0) translateY(200px) translateX(200px);
    transition: all 0.5s;
    
} */
.card-flip-wrapper {
    cursor: pointer;
    width: 180px;
    height: 180px;
    background-color: var(--pink);
    margin: 20px;
    opacity: 1;
    /* transform: scale(0) translateY(200px) translateX(200px);
    transition: all 0.5s; */
    
}


@media(max-width:1000px){
    .card-flip-wrapper{
        margin: 10px;
        height: 150px;
        width: 150px;
    }

}

@media(max-width:800px){
    .card-flip-wrapper{
        height: 120px;
        width: 120px;
    }

}

@media(max-width:360px){
    .card-flip-wrapper{
        margin: 5px 4px;
    }
}


.card{
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 1s;
    transform-style: preserve-3d;
} 


.card-front, .card-back{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;

}


.card-front-img,.card-back-img{
    max-width: 90%;
    max-height: 90%;
}


.card-back {
    background-color: white;
    transform: rotateY(180deg);
}


.card-flip-wrapper:hover .card {
    transform: rotateY(180deg);
}
  
@media (hover: none) and (pointer: coarse) {
    .card-flip-wrapper:hover .card {
        transform: none;
    }
}
@media (hover: none) and (pointer: fine) {
   .card-flip-wrapper:hover .card {
        transform: none;
    }
}










/* SECTIONS */
/* CONTACT */

.front-page-contact-container{
    margin: 100px 0px;
    position: relative;
   
}


.fp-contact-right-container{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 10px;
    background: radial-gradient(circle, rgba(13,168,80,0.08) 0%, rgba(13,168,80,0.3) 90%,rgba(13,168,80,0.1) 100%); 
    clip-path: polygon(0% 0%, 50% 8%, 100% 0%, 100% 100%, 50% 92%, 0% 100%);
    -webkit-clip-path:polygon(0% 0%, 50% 8%, 100% 0%, 100% 100%, 50% 92%, 0% 100%);
    background-image: url('../images/shopify-contact-bg-desktop.png');
    background-repeat: no-repeat;
    background-size: cover;
}


.fp-contact-form-container{
    flex-basis: 50%;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
 
}


.contact{
    max-width: 450px;
    box-shadow: var(--shadow);    
    text-align: center;
    border-radius: 10px;    
    margin: 0 20px;
    padding: 40px 0;
    background-color: #ffffff78;
}

.contact-h3{
    color: var(--green);
    flex-basis: 100%;
    margin-bottom: 20px;
    font-size: 1.7rem;
    font-weight: normal;
}

.contact-customer-details{
    width: 90%;
    margin-bottom: 10px;
    line-height: 1.7rem;
    padding: 2px 5px ;
    font-size: 0.9rem;
    background-color: rgba(13,168,80,0.06);
    border: none;
    border-radius: 3px;
    color: var(--really-dark-grey);

}

.contact-comments{
    font-family: var(--main-font);
    height: 5.5rem;
    font-size: 0.8rem;
    color: rgb(83, 83, 83);
}

.contact-terms-container{
    padding: 10px ;
    display: flex;
    align-items: center;
    text-align: left;
}
#dataID{
    margin-right: 10px;
}
.contact-terms{
    font-size: 0.8rem;
}

.contact-btn{
    margin: 10px 0 20px 0;
    border: none;
    font-size: 1.1rem;
    width: 250px;
    font-weight: bold;
}



.contact-missing-info {
    margin: -7px 0 10px 0;
    color: var(--pink);
    font-size: 0.85rem;
}
#contact-missing-dpa-id{
    margin-top: 3px;
    text-align: center;
}


.fp-contact-cta-container{
    margin: 0 20px;
    display: flex;
    justify-content: center;
    flex-basis: 50%;
}
.fp-contact-cta{
   background-color: #cdcdcd42; 
}


.fp-contact-cta-h1{
    color: var(--green);
    font-size: 2.2rem;
    font-weight: bold;
}

.fp-contact-cta-blurb{
    color: var(--pink);
    font-size: 1.2rem;
}


.fp-contact-cta-btn{
    font-size: 1.1rem;
    font-weight: bold;
    width: 150px;
    margin-top: 10px;
    border-radius: 30px;
    animation: button 2s ease-in-out infinite alternate forwards;
}

.fp-contact-cta-btn-wrapper{
    position: relative;
    display: inline-block;
}

.fp-contact-cta-cursor{
    width: 25px;    
    position: absolute;
    animation: cursor 2s ease-in-out infinite alternate forwards;
  
}

@keyframes cursor{
    0%{
        bottom: -30px;
        right: 30px;
    }
    30%{
        bottom: -20px;
        right: 40px;
    }
    100%{
        bottom: -20px;
        right: 40px;
    }
}
@keyframes button{
    0%{
        transform: scale(1);
    }
    30%{
        transform: scale(1.05);
    }
    100%{
        transform: scale(1.05);
    }

}


@media(max-width:800px){
    .fp-contact-right-container{
        background-image: url('../images/shopify-contact-bg-mobile.png');
        flex-wrap: wrap;
    }
    

    .fp-contact-cta-container{
        flex-basis: 100%;
        max-width: 430px;
        margin-bottom: 60px;
    }
    .fp-contact-form-container{
       flex-basis: 100%;
    }
    .fp-contact-right-container{
        clip-path: polygon(0% 0%, 50% 4%, 100% 0%, 100% 100%, 50% 96%, 0% 100%);
        -webkit-clip-path:polygon(0% 0%, 50% 4%, 100% 0%, 100% 100%, 50% 96%, 0% 100%);
    }
    
    
}

@media(max-width:520px){

    .fp-contact-form-container{
        margin: 20px 5px;
        max-width: 310px;
    }
    
} 














/* =============================== */
/*      QUOTE BUILDER PAGE        */
/* =============================== */



.get-quote-container{
   margin: 150px 20px;
   display: inline-block;
   padding: 60px 80px;

}

@media(max-width:581px){
    .get-quote-container{
        margin: 150px 4vw;
        padding: 60px 40px;
     }
}
@media(max-width:420px){
    .get-quote-container{
        padding: 60px 20px;
     }
}

.get-quote-h4{
    color: var(--green);
    font-size: 2.6rem;
}

.get-quote-blurb{
    color: var(--pink);
    font-size: 1.2rem;
}

.get-quote-btn{
    font-size: 1.1rem;
    font-weight: bold;
    width: 150px;
    margin-top: 10px;
    border-radius: 30px;
    animation: button 2s ease-in-out infinite alternate forwards;
}

.get-quote-btn-wrapper{
    position: relative;
    display: inline-block;
}

.get-quote-cursor{
    width: 25px;    
    position: absolute;
    animation: cursor 2s ease-in-out infinite alternate forwards;
  
}

@media(max-width:500px){
    .get-quote-h4{
        font-size: 1.9rem;
    }
    
    .get-quote-blurb{
        font-size: 1.1rem;
    }
    .get-quote-btn{
        width: 130px;
    }
}

@media(max-width:450px){
    .get-quote-h4{
        font-size: 1.3rem;
    }
    
    .get-quote-blurb{
        font-size:0.95rem;
    }
    .get-quote-btn{
        width: 110px;
        font-size: 1rem;
    }
}


@keyframes cursor{
    0%{
        bottom: -30px;
        right: 30px;
    }
    30%{
        bottom: -20px;
        right: 40px;
    }
    100%{
        bottom: -20px;
        right: 40px;
    }
}
@keyframes button{
    0%{
        transform: scale(1);
    }
    30%{
        transform: scale(1.05);
    }
    100%{
        transform: scale(1.05);
    }

}

/* success page */

.q-b-success-container{
    min-height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.q-b-success-right{
    margin-left: 50px;
    margin-right: 20px;
}
.q-b-success-right{
    margin-left: 20px;
}
.qb-success-h2{
    font-size: 2rem;
    color: var(--pink);
}

.qb-success-p{
    color: var(--text-grey);
    font-size: 1.2rem;
}


@media(max-width:700px){
    .qb-success-h2{
        font-size: 1.3rem;
    }
    
    .qb-success-p{
        font-size: 1rem;
    }
}


@media(max-width:500px){
    .q-b-success-container{
        flex-direction: column;
    }
    .q-b-success-right{
        margin-left: 20px;
    }
}

/* =============================== */
/*             FOOTER */
/* =============================== */
.footer-container{
    position: relative;
    z-index: 10;
}

.footer-content{
    width: 100%;
    background-color: var(--green);
    margin-top: -4px;
    padding: 0 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;

}



.footer-left, .footer-right, .footer-middle{
    padding: 15px;
}


.footer-middle{
    border-left: 1px solid white;
    line-height: 1.4rem;
}

@media(max-width:700px){
    .footer-right, .footer-middle, .footer-left{
        font-size: 0.8rem;
    }
    .footer-middle{
        line-height: 1.2rem;
    }
}

.footer-copyright{
    font-size: 0.8rem;
}

@media(max-width:531px){
    .footer-content{
        justify-content: center;
    }

    .footer-right, .footer-middle, .footer-left{
        font-size: 0.73rem;
        padding: 10px;
    }

    .footer-copyright{
        font-size: 0.68rem;
    }
} 

@media(max-width:350px){
    .footer-left{
        padding-left: 0;
    }
    .footer-right{
        padding-right: 0;
    }
    .footer-sm-icon {
        padding-right: 5px;
    }

}

.footer-image-img{
    margin-bottom: -1px;
}

.footer-sm{
    margin-top: 15px;
}

.footer-sm-icon{
    padding-right: 10px;
}


.footer-link,.footer-email, .footer-terms-link, .footer-copyright{
    color: white;
    margin:6px 4px ;
}




.footer-bottom-tag-container{
    flex-basis: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    margin: 60px 5px 20px 5px;
}


.footer-tag:not(:last-child){
    border-right: 2px solid white;
    margin-right: 10px;
}

.footer-tag{
    padding-right: 10px;
    font-size: 0.8rem;
}


@media(max-width:650px){
    .footer-bottom-tag-container{
        text-align: center;
        margin: 5px;
        margin-top: 50px;
        height: 40px;
    }
    .footer-tag{
        padding-right: 5px;
        font-size: 0.6rem;
    }
    .footer-tag:not(:last-child){
        margin-right: 5px;
    }
}

@media(max-width:470px){
    .footer-tag{
        padding-right: 5px;
        font-size: 0.56rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer-tag:not(:last-child){
        margin-right: 5px;
        border-right: 1px solid white;
    }
}






/* ================================ */
/*          ERROR PAGE              */
/* ================================ */

.error-page-container{
    width: 100%;
    height:100vh;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding:30px;
    
}

.error-page-img{
    max-width: 35%;
    flex-basis: 35%;
    margin-right: 30px;
}

.error-p-wrapper{
    flex-basis:calc(65% - 30px) ;
}

.error-code{
    flex-basis: 100%;
}

.error-p1{
    color: var(--pink);
    font-weight: bold;
    font-size: 1.7rem;
}

.error-p2{
    color: var(--text-grey);
    font-size: 1.3rem;
    margin-bottom: 5px;
}


.error-code{
    font-size: 0.7rem;
}
@media(max-width:750px){
    .error-p1{
        font-size: 1.5rem;
    }
    .error-p2{
        font-size: 0.9rem;
    }
}
@media(max-width:450px){
    .error-page-img{
        max-width: 70%;
    }
    .error-p-wrapper{
        flex-basis:100%;
    }
}













/* ================================ */
/*          CONTACT FORM            */
/* ================================ */


.contact-container{
    display: flex;
    justify-content: space-evenly;
    margin-bottom: 20vh;
    min-height: 65vh;
}

.contact-container .fp-contact-form-container{
    min-width: 350px;
}

.contact-page .page-title{
    font-size: 8.4vw;
}

@media(min-width:2000px){
    .contact-page .page-title{
        font-size: 10.9rem;
    }
}


.contact-h2{
    font-weight: normal;
    font-size: 1.4rem;
    margin-bottom:3px;
    color: var(--green);
}
#contact-sm-h2-id{
    margin-bottom: 10px;
}

.contact-form{
    flex-basis: 50%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 10%;
    border-right: 4px solid var(--green);
}

.contact-info{
    flex-basis: 50%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: 10%;
}

.contact-info-p{
    color: var(--pink);
    font-size: 1rem;
    margin-bottom: 30px;
    display: block;
}

.contact-sm-img{
    max-width: 30px;
    margin-right: 10px;
}





@media(max-width:1100px){
    .contact-container .contact-form{
        padding-right: 5%;
    }  
}
@media(max-width:1000px){
    .contact-container .fp-contact-form-container{
        margin: 0;
    }  
    .contact-container .fp-contact-form-container{
        min-width: 310px;
    }
}


@media(max-width:800px){
    .contact-container{
        flex-direction: column;
    }
    .contact-container .contact-form{
        border-right: none;
        padding-bottom: 5%;
        padding-right: 0;
        margin: 15px;
        justify-content: center;
    }
    .contact-container .contact-info{
        margin-top:100px;
        justify-content: center;
        padding-left: 0;
    }
}
@media(max-width:400px){
    .contact-container .fp-contact-form-container{
        min-width: 300px;
        box-shadow: none;
    }

}















/* ==================================== */
/*           OUR WORK PAGE              */
/* ==================================== */


.ow-page{
    margin: 10px 0;
}

.ow-page .page-title{
    font-size: 7.6vw;
}
@media(min-width:2000px){
    .ow-page .page-title{
        font-size: 10.5rem;
    }
}
@media(max-width:500px){
    .ow-page .page-title{
        padding-bottom: 40px;
    }
}


.ow-container{
    display: flex;
}
@media(max-width:500px){
    .ow-container{
        flex-wrap: wrap;
    }
}

.ow-left{
    flex-basis: 450px;
    flex-shrink: 0;
    top: 20px;
}


@media(max-width:1800px){
    .ow-left{
        flex-basis: 330px;
    }
}

@media(max-width:1000px){
    .ow-left{
        flex-basis: 300px;
    }
}
@media(max-width:850px){
    .ow-left{
        flex-basis: 275px;
    }
}
@media(max-width:710px){
    .ow-left{
        flex-basis: 160px;
    }
}
@media(max-width:500px){
    .ow-left{
        flex-basis: 100%;
    }
}

.ow-left .portfolio-content-container{
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 10px;
}
@media(max-width:710px){
    .ow-left .portfolio-content-container{
        position: static;
    }
}


.ow-right{
    margin-left: 20px;
    max-width:1800px;
    
}

.ow-title{
    color: var(--green);
    font-weight: normal;
    font-size: 2rem;
}
@media(max-width:500px){
    .ow-title{
        padding-top: 30px;
        font-size: 1.7rem;
    }
}


.ow-container .card-flip-wrapper{
    width: 180px;
    height: 180px;
    margin: 15px;
}
@media(max-width:1800px){
    .ow-container .card-flip-wrapper{
        width: 130px;
        height: 130px;
        margin: 10px;
    }
}

@media(max-width:1000px){
    .ow-container .card-flip-wrapper{
        width: 120px;
        height: 120px;
        margin: 8px;
    }
}
@media(max-width:850px){
    .ow-container .card-flip-wrapper{
        width: 114px;
        height: 114px;
        margin: 6px;
    }
}
@media(max-width:420px){
    .ow-container .card-flip-wrapper{
        width: 90px;
        height: 90px;
        margin: 3px;
    }
}


.ow-container .portfolio-content-container{
    padding: 0px 10px;
    background-image: none;
    margin-top: -10px;
}
@media(max-width:350px){
    .ow-container .portfolio-content-container{
        padding: 0px ;
    }
}


.ow-main{
    display: none;
}


.ow-content-container{
    display: flex;
    flex-wrap: wrap;
}
@media(max-width:600px){
    .ow-content-container{
        margin-right: 10px;
    }
}

.ow-title{
    flex-basis: 100%;
}
@media(max-width:700px){
    .ow-title{
        text-align: center;
    }
}

.ow-img-1{
    margin: 10px auto;
    padding-right: 5px;
    max-width: 100%;
}

.portfolio1-text1{
    flex-basis: 100%;
}

.ow-image-container{
    max-width: 48%;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media(max-width:900px){
    .ow-image-container{
        max-width: 100%;
    }   
}

.ow-img-1-container{
    flex-basis: 100%;
    text-align: center;
}

.ow-img-2, .ow-img-3, .ow-img-4{
    max-width: 90%;
    padding: 2rem;
}
@media(max-width:900px){
    .ow-img-2, .ow-img-3, .ow-img-4{
        max-width: 70%;
    }  
}
@media(max-width:650px){
    .ow-img-2, .ow-img-3, .ow-img-4{
        max-width: 90%;
    }  
}
@media(min-width:900px){
    .portfolio1-text1{
        padding: 0 10%;
    }
}

.portfolio1-text2, .portfolio1-text3, .portfolio1-text4{
    flex-basis: 50%;
    max-width:600px;
    margin: auto auto !important;
}

.portfolio1-text4{
    padding-bottom: 80px;
}

.portfolio-ul{
    margin: 25px 5px;
    position: relative;
}
.portfolio-li{
    list-style: square;
    margin-bottom: 10px;
    color: var(--text-grey);
}
@media(max-width:600px){
    .portfolio-li{
       font-size: 0.9rem; 
    }
    
}


.portfolio-visit-site{
    flex-basis: 100%;
    order: 9;
    display: flex;
    justify-content: flex-end;
    position: absolute;
    bottom: 0;
    right: 40px;
}
@media(max-width:1200px){
        .portfolio-visit-site{
        position: static;
        margin-top: 50px;
    }
}
.portfolio-visit-site-btn{
    background-color: white;
    color: var(--green);
    border: 1px solid var(--green);
}

@media(max-width:900px){
    .portfolio-visit-site{
        justify-content: center;
    }
    .portfolio-visit-site-btn{
        margin-right: 0;
    }
}


@media(max-width:900px){
    .portfolio-text-1{
        order: 2;
    }
    .ow-image-container-2{
        order: 3;
        flex-basis: 100%;
    }
    .portfolio1-text2{
        order: 4;
        flex-basis: 100%;
    }
    .ow-image-3-container{
        order: 5;
        flex-basis: 100%;
    }
    .portfolio1-text3{
        order: 6;
        flex-basis: 100%;
    }
    .ow-image-4-container{
        order:7;
        flex-basis: 100%;
    }
    .portfolio1-text4{
        order: 8;
        flex-basis: 100%;
    }
}

.ow-bottom, .services-bottom{
    display: flex;
    align-items: center;
    justify-content: center;
}











/* =============================== */
/*             SERVICES             */
/* =============================== */


.services-page{
    min-height: 100vh;
    margin: 10px 0;
}

.services-page .page-title{
    font-size: 9vw;
}

@media(min-width:2000px){
    .services-page .page-title{
        font-size: 11.5rem;
    }
}

@media(max-width:500px){
    .services-page .page-title{
        padding-bottom: 40px;
    }
}

.services-container{
    display: flex;
}
@media(max-width:500px){
    .services-container{
        flex-wrap: wrap;
    }
}

.services-left{
    flex-basis: 450px;
    flex-shrink: 0;
    
    padding: 0px 10px;
    margin-top: -10px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    position: -webkit-sticky;
    position: sticky;
    top: 10px;
    height: 0%;
    
}


@media(max-width:1800px){
    .services-left{
        flex-basis: 330px;
    }
}

@media(max-width:1000px){
    .services-left{
        flex-basis: 300px;
    }
}
@media(max-width:850px){
    .services-left{
        flex-basis: 275px;
    }
}
@media(max-width:710px){
    .services-left{
        flex-basis: 160px;
        position: static;
    }
}
@media(max-width:500px){
    .services-left{
        flex-basis: 100%;
    }
}



.services-blocks-container{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

#services-block-hosting, #services-block-process{
    color: var(--green);
    background: none;
    height: 50px; 
    font-size: 1rem;
    border: 1px solid var(--green);
    border-radius: 20px;
    text-align: CENTER;
    padding: 10px 3px;
    display:flex;
    justify-content:center;
    align-items:center;
}

@media(max-width:500px){
    .services-hosting-btn, #services-block-process{
        width: 47%;
    }
}

.services-block-wrapper , .services-hosting-btn{
    width: 180px;
    height: 180px;
    margin: 15px;
    position: relative;
    cursor: pointer;
    opacity: 0;
    transform: scale(0.7);
    transform: translateX(-50px);
    transition: all 1.1s ease;
}

@media(max-width:1800px){
    .services-block-wrapper{
        width: 130px;
        height: 130px;
        margin: 10px;
    }
}

@media(max-width:1000px){
    .services-block-wrapper{
        width: 120px;
        height: 120px;
        margin: 8px;
    }
}
@media(max-width:850px){
    .services-block-wrapper{
        width: 114px;
        height: 114px;
        margin: 6px;
    }
}
@media(max-width:500px){
    .services-block-wrapper{
        width: 47%;
        height: 50px;
        margin: 3px;
    }
}

.services-blocks-img, .services-blocks-img-bw, .services-blocks-overlay{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    transition: all .4s ease-in-out;
    object-fit: cover;
}

.services-blocks-overlay{
    background-color: rgba(204, 16, 89, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
}



.services-block-wrapper:hover .services-blocks-overlay{
    opacity: 0;
}
.services-block-wrapper:hover .services-blocks-img-bw{
    opacity: 0;
}

@media (hover: none) and (pointer: coarse) {
    .services-block-wrapper:hover .services-blocks-overlay{
        opacity: 1;
    }
    .services-block-wrapper:hover .services-blocks-img-bw{
        opacity: 1;
    }
    
}
@media (hover: none) and (pointer: fine) {
    .services-block-wrapper:hover .services-blocks-overlay{
        opacity: 1;
    }
    .services-block-wrapper:hover .services-blocks-img-bw{
        opacity: 1;
    }
    
}


.services-right{
    margin-left: 80px;
    margin-bottom: 100px;
    
}

.services-title{
    color:var(--text-grey);
    font-weight: bold;
    font-size: 2.4rem;
    margin-top: -10px;
    margin-bottom: 50px;
}

.services-banner-img-container{
    width: 100%;
    display: flex;
    justify-content: center;
    margin:50px 0 100px 0;
}

.services-banner-img{
    max-width: 100%;
}

.services-title-span{
    font-size: 2.6rem;
    white-space:nowrap;
    background-color: #3bb78f;
    background-image: linear-gradient(315deg, #45e0ae 0%, #329852 80%, #51c19d 77%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
}

@media(max-width:1000px){
    .services-title{
        font-size: 2rem;
    }
    .services-title-span{
        font-size: 2.2rem;
    }
}

@media(max-width:800px){
    .services-title{
        font-size: 1.4rem;
    }
    .services-title-span{
        font-size: 1.6rem;
    }
}

@media(max-width:650px){
    .services-title{
        font-size: 1.3rem;
    }
    .services-title-span{
        font-size: 1.4rem;
    }
}
@media(max-width:500px){
    .services-title{
       margin: 80px 0 60px 0;
       text-align: center;
    }
  
}



.services-content-container{
    padding-right: 20px;
}

.services-content {
    display: none;
}


.services-content-p{
    font-size: 1.3rem;
    color: var(--darker-grey);
    margin-bottom: 40px;
    
}
@media(max-width:500px){
    .services-content-p{
        font-size: 1.1rem;  
    }
}

.services-content-p:not(:first-of-type){
    clear: both;
}

.services-content h4{
    color: var(--green);
    font-size: 1.6rem;
}
@media(max-width:500px){
    .services-content h4{
      font-size: 1.3rem;
    }
}






/* services - process */


.services-process-container{
    width: 700px;
    margin: 0 auto;
    box-shadow: var(--shadow);
    border-radius: 10px;
}

.services-process{
    width: 100%; 
    height:350px;
    display: flex;  
    position: relative;
}



.services-process-left{
    flex-basis: 50%;
    height:100%;
    border-right: solid 5px var(--border-grey);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}



.services-process-x-container{
    height: 50px;
    width: 50px;
    border: 1px solid var(--green);
    border-radius: 50%;
    position: absolute;
    right: -27px;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.services-content .services-process-x-img{
    width: 30px;
}

.services-process .services-left-content-wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;

}

.services-process-p, .services-process-h3{
    flex-basis: 100%;
}

.services-process-p{
    color: var(--really-dark-grey);
    font-size: 1.1rem;
}

.services-process-h3{
    font-size: 1.5rem;
    white-space: nowrap;
    background-color: #3bb78f;
    background-image: linear-gradient(315deg, #45e0ae 0%, #329852 80%, #51c19d 77%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.services-process-right{
    flex-basis: 50%;
    margin: auto 20px auto 50px;
}

.services-process-right-p{
    font-size: 0.85rem;
    color: var(--text-grey);
    margin-bottom: 10px;
    flex-basis: 100%;
}



@media(max-width:1400px){
    .services-right{
        margin-left: 30px;
    }

    .services-process-container{
        width: 550px;
    }
}

@media(max-width:1000px){
    .services-process-right{
        margin-left: 30px;
        margin-right: 15px;
    }

    .services-process-right-p{
        font-size: 0.8rem;
    }

    .services-process-h3{
        font-size: 1.2rem;
    }

    .services-process-p{
        font-size: 1rem;
    }

    .services-process-container{
        width: 420px;
    }

    .services-process{
        height: 390px;
    }
}


@media(max-width:760px){

    .services-right{
        margin: auto 10px;
    }

    .services-process-container{
        width: 90%;
    }
    .services-process{
        flex-direction: column;
        height: unset;
    }

    .services-process-p{
        margin-bottom: 30px;
    }

    .services-process-left{
        border-right: none;
        border-bottom: 5px solid var(--border-grey);
    }

    
    .services-process-right{
        margin: 30px 10px 60px 10px;
    }

    .services-process-x-container{
        bottom: -27px;
        right: calc(50% - 27px);
    }
}

@media(max-width:700px){
    .services-process-right{
        margin: 35px 15px;
    }
}


@media(max-width:500px){

    .services-content-container{
        padding-right: 0;
    }

    .services-process-container{
        width: 95%;
        box-shadow: none;
    }

    .services-process{
        height: unset;
    }

    .services-process-right{
        margin: 30px 10px 60px 10px;
    }

    .services-process-p{
        margin-bottom: 30px;
    }


}







/* Services - pricing */

.services-price-container{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.price-block{
    width: 300px;
    border-radius: 20px;
    box-shadow: var(--shadow);
    margin: auto 25px;
    display: flex;
    flex-wrap: wrap;
}

.price-block-top-container{
    width: 100%;
    height: 120px;
    flex-basis: 100%;
    display: flex;
    justify-content: space-between;
    padding: 10px;
}

.price-block-title{
    color: var(--green);
    font-weight: normal;
    font-size: 1.9rem;
}


.price-block-top-right{
    height: 80px;
    width: 80px;
    border-radius: 50%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: var(--pink);
    color: white;
    text-align: center;
    flex-shrink: 0;
}

.price{
    font-weight: bold;
    flex-basis: 100%;
    font-size: 1.2rem;
    margin-top: -36px;
}


.price-block-middle-container{
    position: relative;
    width: 100%;
    text-align: center;
    height: 370px;
    margin-bottom: 50px;
}


.price-block-bg-img{
    position: absolute;
    width: 98%;
    opacity: 0.15;
    left: 0;
    top: 50%;
    transform: translateY(-50%);

}

.price-block-ul{
    padding: 25px 15px;
    text-align: left;
}

.price-block-ul li{
    margin-bottom: 20px;
    font-size: 1rem;
    color: var(--really-dark-grey);
    display: flex;
}

.price-block-ul li::before{
    content: '';
    display: inline-block;
    height: 20px;
    width: 20px;
    margin-right: 5px;
    background-image: url(../images/small-green-tick.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 15px;
    flex-shrink: 0;
}

.price-block-bottom-container{
    flex-basis: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-bottom: 50px;
}

.price-block-btn{
    font-size: 1.2rem;
}

#price-block-2{
    transform: scale(1.1);
}


@media(max-width:1800px){
    .price-block{
        width:250px
    }

    .price-block-title{
        font-size: 1.6rem;
    }

    .price-block-top-right{
        height: 65px;
        width:65px
    }

    .price{
        margin-top: -30px;
        font-size: 1.1rem;
    }

    .price-block-ul li{
        margin-bottom: 15px;
        font-size: 0.86rem;
    }

    .price-block-middle-container{
        height: 330px;
    }

    .price-block-top-container{
        height: 100px;
    }
}

@media(max-width:1300px){
    .price-block{
        width:200px;
        box-shadow: 7px 7px 37px 3px rgb(0 39 12 / 5%);
    }

    .price-block-title{
        font-size: 1.2rem;
    }

    .price-block-top-right{
        height: 50px;
        width: 50px
    }

    .price{
        margin-top: -18px;
        font-size: 0.9rem;
    }

    .from{
        font-size: 0.9rem;
    }

    .price-block-ul li{
        margin-bottom: 10px;
        display: flex;
    }

    .price-block-top-container{
        height: 100px;
    }

    .price-block-middle-container{
        height: 400px;
        margin-bottom: 25px;
    }

    .price-block-bottom-container{
        margin-bottom: 25px;
    }

    .price-block-btn{
        font-size: 1rem;
    }
} 


@media(max-width:1150px){
 
    .services-price-container{
        flex-direction: column;
    }

    .price-block-middle-container{
        height: 300px
    }

    .price-block{
        width: 350px;
        margin: 20px 5px;
    }

    .price-block-title{
        font-size: 1.6rem;
    }

}

@media(max-width:650px){
    .price-block{
        width: 280px;
    }
}

@media(max-width:350px){
    .price-block{
        width: 260px;
    }
}



.services-bottom{
    display: flex;
    align-items: center;
    justify-content: space-around;
    background-color: var(--green-opacity-lighter);
    clip-path: polygon(0% 0%, 50% 8%, 100% 0%, 100% 100%, 50% 92%, 0% 100%);
    -webkit-clip-path: polygon(0% 0%, 50% 8%, 100% 0%, 100% 100%, 50% 92%, 0% 100%);
    margin:200px 0;
    background-image: url("../images/contact-block-bg-img.jpg");
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

}

@media(max-width:800px){

    .services-bottom{
        margin-bottom: 100px;
        margin-top: 100px;
    }
    .services-bottom .get-quote-container{
     margin: 20px;
    }

    .services-bottom .get-quote-container .get-quote-h4{
        font-size: 2rem;
    }
    
    .services-bottom .get-quote-container .get-quote-blurb{
        font-size: 1rem;
    }
    .services-bottom .get-quote-container .get-quote-btn{
        font-size: 1rem;
        width: 120px;
    }
}

@media(max-width:450px){
    .services-bottom .get-quote-container .get-quote-h4{
        font-size: 1.4rem;
    }
    .services-bottom .get-quote-container .get-quote-blurb{
        font-size: 0.8rem;
    }
    .services-bottom .get-quote-container .get-quote-btn{
        font-size: 1rem;
        width: 110px;
        padding: 5px 15px;
    }
}



.price-block-bottom-blurb{
    margin-top: 180px;
    color: var(--text-grey);
    
}

.price-block-bottom-blurb ul li{
    font-size: 1.3rem;
}








/* =============================== */
/*             GET QUOTE           */
/* =============================== */


.quote-container{
    margin:0 10vw;
    margin-top: 20px;
}
@media(max-width:700px){
    .quote-container{
        margin:0 4vw;
    }
}
@media(max-width:500px){
    .quote-container{
        margin:30px 2vw 0 2vw;
    }
}

.quote-page .page-title{
    font-size: 7.6vw;
}

@media(min-width:2000px){
    .quote-page .page-title{
        font-size: 9.6rem;
    }
}

.quote-intro-container h2{
    color: var(--green);
    margin-bottom: 10px;
    font-size: 2rem;
}
@media(max-width:700px){
    .quote-intro-container h2{
        font-size: 1.8rem;
    }
}
@media(max-width:500px){
    .quote-intro-container h2{
        font-size: 1.6rem;
    }
}
@media(max-width:380px){
    .quote-intro-container h2{
        font-size: 1.34rem;
        text-align: center;
    }
}


.quote-intro-container p{
    color: var(--darker-grey);
    font-size: 1.2rem;
    margin-bottom: 10px;
}
@media(max-width:700px){
    .quote-intro-container p{
        font-size: 1.1rem;
    }
}
@media(max-width:500px){
    .quote-intro-container p{
        font-size: 1rem;
    }
}
@media(max-width:500px){
    .quote-intro-container p{
        font-size: 0.85rem;
        padding: 0 10px;
    }
}


.required-key{
    color: var(--really-dark-grey);
    font-size: 0.85rem;
    margin-bottom: 4px;
}

.quote-form-container{
    max-width:720px;
    margin-bottom: 250px;
    padding: 5px 15px;
    border-radius: 10px;
    margin-top: 100px;
    box-shadow: var(--shadow);
}
@media(max-width:500px){
    .quote-form-container{
        margin-top: 80px;
        margin-bottom: 180px;
    }
}


.quote-form-section-container{
    color: var(--main-font);
}


.quote-q-container{
    margin: 50px 0;
}

.quote-num{
    margin-bottom: -2px;
    margin-right: 5px;
}

.quote-q-container label:first-of-type{
    margin-top: 10px;
}

.quote-q-heading-container{
    padding: 10px 20px;
    background: linear-gradient( 180deg, #219653 40%, rgb(0 107 46) 130%);
    border-radius: 5px;
    color: white;
    cursor: pointer;
    margin-bottom: 15px;
    position: relative;
}
@media(max-width:400px){
    .quote-q-heading-container{
        padding: 5px 7px;
    }
    .quote-num{
        margin-right: 0px;
    }
}

.quote-q-heading-container h3{
    font-size: 1.4rem;
    font-weight: normal; 
}
@media(max-width:400px){
    .quote-q-heading-container h3{
        font-size: 1.13rem;
    }
}

.down-arrow{
    width: 18px;
    position: absolute;
    right: 18px;
    top: 12px;
}
@media(max-width:400px){
    .down-arrow{
        right: 10px;
        top: 6px;
    }
}

.down-arrow-flip{
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
}

.quote-q-p{
    margin:40px 0 10px 0;
    font-weight: bold;
    color: var(--really-dark-grey);
}
@media(max-width:500px){
    .quote-q-p{
        font-size:0.9rem;
    }
}


/* ----------  RADIO BUTTONS -------------------- */
.radio:checked+label {
    background-color:rgb(207, 240, 222);
    border-left: 5px solid rgb(204,16,89)
}



.radio{
    position: absolute;
    opacity: 0;
    left: 0;
}

.radio + label{
    position: relative;
    display: block;
    cursor:pointer;
    padding: 3px 30px 3px 10px;
    margin-top: -15px;
}
@media(max-width:500px){
    .radio + label{
        font-size: 0.85rem;
    }
}

.radio + label::before{
    content: "";
    border: 1px solid var(--green);
    height: 12px;
    width: 12px;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    right: 0;
    margin-right: 5px;

}
.radio + label::after{
    content: "";
    width: 12px;
    height: 12px;
    border: 1px solid var(--green);
    background-color: var(--green);
    border-radius: 50%;
    position: absolute;
    top: 6px;
    right: 0;
    opacity: 0;
    margin-right: 5px;
}
.radio:checked + label::after{
    opacity: 1;
}

.radio:checked + label::after{
    opacity: 1;
}


/* --------- checkboxes ---------------------- */

 /* Customize the label (the container) */
.tick-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    margin-top: 4px;
    cursor: pointer;
    font-size: 1rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    min-height: 40px;
}
@media(max-width:500px){
    .tick-container {
        font-size: 0.84rem;
    }
}

/* Hide the browser's default checkbox */
.tick-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0px;
    left: 0;
    height: 25px;
    width: 25px;
    background-color:var(--green-opacity-lightest);
}

/* On mouse-over, add a grey background color */
.tick-container:hover input ~ .checkmark {
    background-color: rgb(13,168,80);
}

/* When the checkbox is checked, add a blue background */
.tick-container input:checked ~ .checkmark {
    background-color: rgb(204,16,89);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.tick-container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.tick-container .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
} 


.quote-features label:first-of-type{
    margin-top: 30px;
}






/* Add Pages */


.quote-pages-group-wrapper{
    position: relative;
}

.quote-page-comment{
    height: 70px;
}
.quote-page-page, .quote-page-comment,.customer-details{
    width: calc(100% - 30px);
    border: 1px solid var(--green);
    color: var(--text-grey);
    font-size: 0.9rem;
    margin-bottom: 3px;
    font-family: var(--main-font);
    padding: 5px 3px;

}
@media(max-width:600px){
    .quote-page-page, .quote-page-comment{
        font-size: 0.85rem;
        padding: 5px 3px;
    }
    .quote-page-comment{
        height: 5rem;
    }
}

.quote-textarea{
    width: 100%;
    height: 70px;
    border: 1px solid var(--green);
    color: var(--text-grey);
    font-size: 1rem;
    font-family: var(--main-font);
    padding: 2px 4px;
}
@media(max-width:600px){
    .quote-textarea{
        height: 5rem;
        font-size: 0.85rem;
    }
}

.quote-input {
    width: 100%;
    height: 30px;
    border: 1px solid var(--green);
    color: var(--text-grey);
    font-size: 1rem;
    padding: 2px 4px;
}
@media(max-width:600px){
    .quote-input{
        font-size: 0.85rem;
    }
}

.add-button{
    background-color: var(--green);
    color: white;
    font-size: 0.7rem;
    padding: 5px;
    clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    -webkit-clip-path:polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    margin-top: -8px;
    display: block;
    width: 123px;
    text-align: center;
}

.quote-pages .add-button{
    margin-top: -3px;
}

.add-button:hover{
    filter: brightness(1.3);
}


.remove {
    position: absolute;
    right: 7px;
    top: 25px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}


.quote-details{
    text-align: center;
}

.quote-details input{
    margin-bottom: 7px;
}

.quote-data{
    font-size: 0.8rem;
    color: var(--really-dark-grey);
    text-align: center;
    margin: 50px 20px 0 20px;
}

.data-link{
    color: inherit;
    text-decoration: underline;
}

.quote-btn-container{
    text-align: center;
    margin: 80px 0 ;
}
.quote-btn{
    font-size: 1.4rem;
    padding: 10px 25px;
}


/* Validation */
.missing,.missing::placeholder, .emailcheck{
    color: var(--pink);
}
@media(max-width:500px){
    .missing,.missing::placeholder, .emailcheck{
        font-size: 0.85rem;
    }
}

.red-border{
    border: 1px solid var(--pink);
}

.missing-fields-background{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--green-opacity-lighter);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
}

.missing-fields-container{
    background-color: white;
    max-width: 400px;
    position: relative;
    padding: 30px 20px 20px 20px;
    color: var(--really-dark-grey);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

}


.missing-fields-x{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    opacity: 0.1;
}

.missing-fields-x-img{
    height: 65%;
}



.missing-fields-container p{
    text-align: center;
    font-size: 1.12rem;
    margin-bottom: 20px;
    color: var(--pink);
    flex-basis: 100%;
}

.missing-fields{
    flex-basis: 100%;
    font-size: 0.9rem;
}

.missing-fields ul li{
    list-style: square;
    margin-left: 20px;
    margin-bottom: 5px;
}

.missing-fields-ok{
    margin-top: 25px;
    padding: 10px 30px;
    font-weight: bold;
    letter-spacing: 0.13rem;
}

@media(max-width:750px){
    .missing-fields-container{
        padding: 10px;
    }
    .missing-fields-container p{
        font-size: 1rem;
    }    
    .missing-fields ul li{
        font-size: 0.84rem;
    }
    .missing-fields-ok{
        margin-top: 5px;
    }
}








/* ============================ */
/*        ACCOUNT PAGE          */
/* ============================ */



.success-message{
    background: var(--green);
    color: white;
    text-align: center;
    position: fixed;
    top: -170px;
    padding: 20px;
    width: 40%;
    left: 30%;
    z-index: 2000;
    font-size: 0.95rem;
    transition: top 1.2s ease;
}

#loading{
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    background-color: var(--green-opacity-lightest);
}

.account-container{
    /* min-height: 80vh; */
    padding: 0 20px;
    width: 100%;
    color: var(--really-dark-grey);
    margin-bottom: 150px;
}

.account-personal-container{
    box-shadow: var(--shadow);
    padding-left: 10px;
    padding-right: 10px;
    border-radius: 10px;
}

@media(max-width:500px){
    .account-container{
        padding: 0 10px;

    }
}

.account-client-container{
    min-height: 40vh;
}



/* admin */

.admin-list-bg{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--green-opacity-lighter);
    z-index: 190;
}


.admin-icon-container{
    height: 50px;
    width: 50px;
    border-radius: 50%;
    background-color: var(--pink);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    
}

.admin-list-accounts-container{
    position: absolute;
    top: 0;
    left: 0;
    width: 70vw;
    height: 80vh;
    margin: 85px 15vw;
    background-color: white;
    z-index: 600;
    border: 2px solid var(--pink);
    overflow-y: auto;
}

.admin-list-heading-container{
    position:relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

#admin-list-logo{
    width: 60px;
    padding: 15px 0 0 15px;
}


.admin-list-heading{
    color: var(--green);
    font-size: 2.2rem;
}

.admin-list-accounts-close-container{
    cursor: pointer;
    position: absolute;
    top: 3px;
    right: 3px;
}

.admin-list-dropdown-container{
    flex-basis: 100%;
    padding: 30px 10px 0 10px ;
    font-size: 0.7rem;
}

#admin-list-order-by-select-id{
    margin-right: 20px;
    border: none;
    font-size: 0.68rem;
}

.admin-users-table{
    margin-top: 40px;
    width:100%;
    text-align: center;
}

.admin-users-table th{
    color: var(--pink);
    padding-bottom: 5px;
    font-size: 0.8rem;
}
@media(max-width:700px){
    .admin-users-table th{
        font-size: 0.6rem;
    }
    .admin-list-accounts-container{
        width: 90vw;
        margin: 80px 5vw;
    }
}

.admin-users-table tr{
    cursor: pointer;
    font-size: 0.68rem;
}

.admin-users-table tr:nth-child(even){
    background-color: var(--green-opacity-lightest);
}

.admin-users-table tr:hover {
    font-weight: bold;
}

.admin-users-table td{
    padding: 3px 0;
}

.account-table-col1{
    max-width: 40px;
}


.account-project-coming-soon-container{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
    width: 100%;
}

.account-coming-soon-img{
    flex-basis: 10%;
}

.account-coming-soon-p-container{
    flex-basis: 50%;
    font-size: 1.5rem;
    color: var(--really-dark-grey);
    padding-left: 25px;
}
.account-coming-soon-p1{
    color: var(--pink);
}

@media(max-width:900px){
    .account-coming-soon-img{
        max-width: 250px;
    }
    .account-coming-soon-p-container{
        font-size: 1.2rem;
    }
}
@media(max-width:750px){
    .account-coming-soon-img{
        max-width: 180px;
    }
    .account-coming-soon-p-container{
        font-size: 1rem;
    }
}
@media(max-width:600px){
    .account-project-coming-soon-container{
        margin-top: 10px;
    }
    .account-coming-soon-img{
        max-width: 120px;
    }
    .account-coming-soon-p-container{
        flex-basis: 95%;
        padding-left: 0;
        font-size: 0.9rem;
        margin-top: 25px;
    }
}






.account-h2{
    font-size: 1.6rem;
    color: var(--pink);
    margin-bottom: 20px;
}


.account-h2-lighter{
    color: var(--light-grey-a-bit-lighter);
}
@media(max-width:450px){
    .account-h2{
        font-size:1.4rem
    }
}


.account-client-full-content{  
    margin-top: 50px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    
}

.account-tab-container{
    flex-basis: 25%;
    height: 300px;
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 15px;
}
@media(max-width:700px){
    .account-tab-container{
        flex-basis: 15%;
    }
}

.account-project-tab{
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: bold;
    max-width: 350px;
    height: 50px;
    margin-bottom: 5px;
    padding-left: 5px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}


.account-tab-icon{
    flex-basis: 45%;
    padding-right: 15px;
}


.unread-messages-container{
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--pink);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    margin-right: 20px;
    font-weight: normal;
}

@media(max-width:700px){

    .account-tab-span{
        display: none;
   
    }
}




.account-heading{
    flex-basis: 100%;
}

.account-heading select{
    border: none;
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--pink);
    margin-bottom: 20px;
   
}

.account-content-container{
    flex-basis: 75%;
    max-width: 600px;
}
@media(max-width:700px){
    .account-content-container{
        flex-basis: 77%;
    }
    .account-status-container{
        flex-basis: 78%;
    }
}




.account-personal-container{
    display: flex;
    flex-wrap: wrap;
}

.account-label{
    margin-top: 3px;
    font-weight: bold;
    font-size: 0.85rem;
    color: var(--really-dark-grey);
    flex-basis: 100%;
}
.account-info-container .account-label::before{
    content: "";
    display: inline-block;
    height: 10px;
    width: 10px;
    background-color: var(--pink);
    margin-right: 5px;
    clip-path: polygon(0 1%, 0% 100%, 100% 50%);
    -webkit-clip-path:polygon(0 1%, 0% 100%, 100% 50%);
}

.account-input{
   margin-bottom: 10px; 
   width: 400px;
   padding:10px 6px;
   border: none;
   border-left: 2px solid var(--pink);
   color: var(--really-dark-grey);
   background-color: var(--green-opacity-lightest);
   font-family: var(--main-font);
   font-size: 0.85rem;
}
@media(max-width:650px){
    .account-input{
        width:100%;
    }
}
@media(max-width:400px){
    .account-input{
       font-size: 0.7rem;
    }
}

#address{
    vertical-align: middle;
    height:100px;
    font-size: 0.85rem;
}

.account-buttons-container{
    flex-basis: 100%;
    margin-top: 10px;
}

.account-buttons-container div{
   width: 400px;
   display: flex;
   flex-wrap: wrap;
   justify-content: center;

}
@media(max-width:650px){
    .account-buttons-container div{
        width: 100%;
    }
    .account-update-btn{
        font-size: 0.7rem;
    }
}

.account-update-btn{
    height: 27px;
}

.account-update-btn-a{
    background-color: white;
    color: var(--green);
    border: 1px solid var(--green);
}




#project-status-id{
    font-size: 0.75rem ;
}

.account-update-btn{
    margin: 0 auto 15px auto;
    padding: 4px 8px 6px 8px;
}

.account-start-new-qb-link{
    margin: 0 auto 15px auto;
}

.account-project-container{
  width: 100%; 
  padding: 0; 
  border-radius: 0;
  
}




/* INFO TAB   */

.account-info-wrapper{
    border-radius: 10px;
    margin-top: 20px;
    box-shadow: var(--shadow);
    padding: 10px;
    margin-bottom: 100px;
}
@media(max-width:400px){
    .account-info-wrapper{
        padding: 10px 5px;
    }
}


.account-info-h2{
    color: var(--green);
    margin-bottom: 40px;

}

.account-qb-q{
    margin-top: 25px;
}
.account-qb-a, .account-feature{
    flex-basis: 100%;
    font-size: 0.8rem;
    color: var(--text-grey);

}



.account-qb-page-table{
    margin-left: 5px;
}

.account-table-page{
    padding-top: 15px;
    font-weight: bold;
    font-size: 0.85rem;
}

.account-range-label{
    margin-bottom: 35px;
}

/* change pwd */

.account-change-pwd-background{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--green-opacity-lighter);
    display: flex;
    align-items: center;
    justify-content: center;
    
}

.change-pwd-form{
    background-color: white;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 25px 20px 40px 20px;
    max-width: 500px;
    position: relative;
    box-shadow: var(--shadow);
    z-index: 800;
}
@media(max-width:600px){
    .change-pwd-form{
        max-width:90vw;
        font-size: 0.8rem;
        padding: 50px 5px 20px 5px;

    }
}

.change-pwd-btn-container{
    flex-basis: 100%;
    text-align: center;
    z-index: inherit;
}
.pwd-input{
    flex-basis: 40%;
    margin-bottom: 20px;
}
.change-pwd{
    flex-basis: 55%;
    margin-bottom: 20px;
    background-color: rgba(13,168,80,0.06);
    border: 1px dotted var(--green);
    line-height: 1.3rem;
    z-index: inherit;
}


.account-update-pwd-btn{
    padding: 6px 20px;
    margin-bottom: 0;
}
@media(max-width:600px){
    .pwd-input{
        margin-bottom: 5px;
        flex-basis: 100%;
    }
    .change-pwd{
        margin-bottom: 5px;
        flex-basis: 100%;
    }
    .account-update-pwd-btn{
        margin-top: 20px;
    }
}

.password-validation{
    color: var(--pink);
    flex-basis: 100%;
}
.password-validation li{
    margin-bottom: 8px;
}




.active-tab{
    background-color: var(--green-opacity-lighter);
    font-weight: bold;
    margin-right: 20px;
    clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
    -webkit-clip-path:polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
}





.account-section-container{
    padding: 20px;
}
@media(max-width:450px){
    .account-section-container{
        padding: 20px 5px;
    }
}





/* Status tab */

.account-progress-container{
    box-shadow: var(--shadow);
    padding: 10px 5px 20px 5px;
    border-radius: 10px;
    margin-bottom: 50px;
}

.progress-bar-container{
    display: flex;
    margin: 20px 0 30px 5px;
}
@media(max-width:650px){
    .progress-bar-container{
        flex-wrap: wrap;
    }
}

.progress-chunk-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 14%;
    height: 30px;
}

.progress-chunk{
    font-size: 0.65rem;
    width: 100%;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    background-color: rgba(204,16,89,0.22);
    color: var(--light-grey);
    clip-path: polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0 51%, 0% 0%);
    -webkit-clip-path:polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0 51%, 0% 0%);
}
@media(max-width:650px){
    .progress-chunk-wrapper {
        flex-basis: 100%;
        margin-bottom: 5px;
        width: 250px;
    }
}

.progress-completed{
    background-color: var(--pink);
    color: white;
    font-size: 0.7rem;
}

@media(max-width:650px){
    .progress-completed, .progress-chunk{
        max-width: 200px;
    }
    .account-status{
        text-align: center;
        font-size: 0.9rem;
    }
}
@media(max-width:400px){
    .progress-completed, .progress-chunk{
        max-width: 180px;
    }
    .progress-chunk-wrapper {
        flex-basis: 100%;
        margin-bottom: 5px;
        width: 200px;
    }
}



.quote-scheme-container{
    padding: 10px;
    background-color: var(--green-opacity-lighter);
    margin-bottom: 30px;
}
@media(max-width:450px){
    .quote-scheme-container{
        padding: 10px 5px;
    }
}

.quote-composer-container{
    margin-bottom: 80px;
    position: relative;
    text-align: center;
}

.terms-editor-button-container{
    margin-bottom: 100px;
    text-align: center;
}

.termsEditor .terms-l span{
    display: block;
}

.terms-ol-2{
    list-style: lower-alpha !important;
    color: red !important;
}


.scheme-btn{
    padding: 2px 10px;
    font-size: 0.75rem;
    margin-right: 5px;
}
@media(max-width:450px){
    .scheme-btn {
        padding: 2px 5px;
        font-size: 0.7rem;
        margin-right: 3px;
    }
}

#scheme-upload{
    background-color: var(--green-opacity-lightest);
}

.scheme-tick-img{
    margin: 0 5px -3px 0;
}
@media(max-width:450px){
    .scheme-tick-img {
        margin: 0 0 -3px 0;
    }
}

.scheme-text{
    margin-right: 0;
}
@media(max-width:450px){
    .scheme-text {
        margin-right: 0px;
        font-size: 0.85rem;
    }
}

.account-container h3{
    color: var(--really-dark-grey);
    font-size: 1.2rem;
    margin-bottom: 10px;
    
}
@media(max-width:450px){
    .account-container h3{
        font-size: 0.9rem;
    }
}

.quote-composer-form-group{
    display: flex;
    flex-wrap: wrap;
}


.quote-item{
    flex-basis: 100%;
}

.quote-item{
    height: 50px;
    color: var(--darker-grey);
    background-color: var(--green-opacity-lighter);
    margin-bottom: 6px;
    font-family: var(--main-font);
    padding: 2px;
}

.quote-cost{
    background-color: var(--green-opacity-lighter);
    margin-left: auto;
    text-align: right;
    padding:2px;
    border: 1px solid var(--text-grey);
    width: 80px;
    margin-bottom: 10px;
}

.quote-composer-container .add-button{
    position: absolute;
    width: 70px;
    margin-top: 0px;
    right: 0;  
    bottom: -20px
}


.quote-composer-container .remove{
    right: -22px;
}

.quote-composer-form-group{
    position: relative;
}


.quote-table-container{
    box-shadow: var(--shadow);
    padding: 10px 5px 20px 5px;
    border-radius: 10px;
    margin-bottom: 50px;
}

.proposal-trash-icon{
    cursor: pointer;
}

.quote-table{
    margin: 0 auto 30px auto;
}

@media(max-width:650px){
    .quote-table-date-sent{
        display: none;
    }
}
@media(max-width:500px){
    .quote-table-container{
        padding: 10px 2px 20px 2px;
    }
    .quote-table{
        width: 100%;
    }
}

.quote-table .btn{
    padding: 2px 8px;
    font-size: 0.7rem;
}
.quote-table  td{
    padding: 2px 10px;
}
@media(max-width:500px){
    .quote-table  td{
        font-size: 0.7rem;
        padding: 2px 2px;
    }
    .quote-table .btn{
        padding: 2px 2px;
        font-size: 0.5rem;
    }
       
}

/* WYSIWYG terms editor overrides */

#termsEditor{
    margin-bottom: 50px;
}




.quote-table img ,.quote-table input{
    margin-right: 5px;
}
@media(max-width:400px){
    .quote-table img{
        margin-right: 0;
        width: 15px;
    }
}


.account-btn-container{
    text-align: center;
    width: 100%;
}




.mockup-container, .staging-container{
    border-radius: 10px;
    padding: 20px 5px 20px 5px;
    margin-bottom: 30px;
    box-shadow: var(--shadow);
}

.mockup-container h3, .staging-container h3{
    margin-bottom: 20px;
}
.mockup-btn{
    padding: 2px 8px 3px 8px;
    font-size: 0.7rem;
    border-radius: 50px;
    margin-left: 5px;
}

.mockup-form-label{
    flex-basis: 25%;
    font-size: 0.85rem;
    background: var(--pink);
    color: white;
    clip-path: polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0 51%, 0% 0%);
    -webkit-clip-path:polygon(90% 0%, 100% 50%, 90% 100%, 0% 100%, 0 51%, 0% 0%);
    padding: 3px 2px;
    margin-right: 20px;
}


.mockup-form-input{
    flex-basis: 45%;
    border: none;
    border: 1px dotted var(--pink);
    padding: 3px 2px;
    margin-bottom: 5px;
    border-radius: 5px;
}

.mockup-wrapper{
    display: flex;
    align-items: center;
}

@media(max-width:600px){
 
    .mockup-form-label{
        margin-right: 5px;
        font-size: 0.7rem;
        flex-basis: 25%;
    }
    .mockup-form-input{
        flex-basis: 65%;
    }
}
@media(max-width:400px){
 
    .mockup-form-label{
        margin-right: 3px;
        font-size: 0.6rem;
        flex-basis: 28%;
    }
    .mockup-form-input{
        font-size: 0.7rem;
    }
}


.mockup-buttons-wrapper{
    display: flex;
    align-items: center;
    flex-basis: 25%;
}

@media(max-width:600px){
    .mockup-wrapper{
       flex-wrap: wrap;
    }
    .mockup-buttons-wrapper{
       flex-basis: 100%;
       justify-content: flex-end;
       margin-right: 10%;
       margin-bottom: 10px
    }
  
}


/* NOTES SECTION */

.account-add-note-container{
    margin-bottom: 50px;
}


.account-add-note-icon-container{
    height: 45px;
    width: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--pink);
    cursor: pointer;
    position: relative;
    margin-top: 20px;
}

.add-note-img{
    margin-top: 3px;
    margin-left: 3px;
}

.account-add-note-icon-container::after{
    content: "Add note";
    position: absolute;
    display: none;
    top: -10px;
    right:-90px;
    background-color: white;
    border: 1px solid var(--pink);
    border-radius: 3px;
    color: var(--pink);
    padding: 2px ;

}

.account-add-note-icon-container:hover:after{
    display: block;
}

.account-notes-form-bground{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--green-opacity--full-screen);
    z-index: 100;
}

.account-add-note-form{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content:center ;
    background-color: white;
    border: 1px dotted var(--light-grey);
    border-radius: 10px;
    padding: 30px 10px 20px 10px;
    margin-top: 20px;
    position: relative;
    z-index: 100;
    font-family: var(--main-font);
    font-size: 0.9rem;
}
@media(max-width:400px){
    .account-add-note-form{
        margin-bottom: 50px;
        position: fixed;
        top: 80px;
        left: 5px;
        width: 95vw;
        z-index: 300;
        padding-bottom: 5px;
    }
}
.account-notes-form-close{
    color: var(--pink);
    font-size: 0.7rem;
    position: absolute;
    right: 0;
    top: 0;
    margin: 5px;
    cursor: pointer;

}

.notes-input{
    flex-basis: 100%;
    margin-bottom: 15px;
    border-radius: 3px;
    padding:5px;
    border: none;
    font-size: 0.9rem;
    font-family: var(--main-font);
}
@media(max-width:400px){
    .notes-input{
        font-size: 0.75rem;
        margin-bottom: 5px;
    }
}
#notes-heading-id{
    border-bottom: 1px dotted var(--green);
}

.account-notes-public-container, .account-notes-email-container {
    flex-basis: 100%;
    font-size: 0.8rem;
}
@media(max-width:400px){
    .container, .account-notes-email-container{
        font-size: 0.7rem;
    }
}

#notes-body-id{
    height: 90px;
    font-family: var(--main-font);
    white-space: pre-wrap;
    overflow-y: auto;
}

.account-show-note-span{
    display: inline-block;
    width: 70px;
}

.account-note-wrapper{
    box-shadow: var(--shadow);
    border-radius: 10px;
    padding: 10px 5px;
    margin-bottom: 25px;
    font-size: 0.9rem;
    border-left: 3px solid var(--green);
    position: relative;
}
@media(max-width:400px){
    .account-note-wrapper{
        font-size: 0.75rem;
    }
}


.admin-authored-note{
    border-left-color: var(--pink);
}

.account-show-note-delete-btn{
    position: absolute;
    right: 5px;
    top: 5px;
    background-color: var(--pink);
    color: white;
    padding: 3px 5px;
    border: none;
    border-radius: 5px;
    font-size: 0.7rem;
}

.account-show-note-span{
    font-weight: bold;
}

.account-show-note-body{
    margin-top: 10px;
    padding-top: 5px;
    border-top: 1px dotted var(--green);
}

.note-private{
    background-color: rgb(255, 224, 224);
}






/* RESOURCES SECTION */


.resources-icons-container{
    display: flex;
    justify-content: space-around;
    padding: 20px 4px;
    border-radius: 10px;
    margin-bottom: 50px;
}

.resources-icons-wrapper{
    flex-basis: 85px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    cursor: pointer;
}

.resources-icons-wrapper img{
    width: 60px;
}
@media(max-width:600px){
    
    .resources-icons-wrapper img{
        width: 40px;
    }
}
.resources-icon-text-wrapper{
    width: 85px;
    height: 20px;
    background-color: var(--pink);
    color: white;
    text-align: center;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px 2px;
    margin-top: 5px;
    border-radius: 10px;
}
@media(max-width:600px){
    
    .resources-icon-text-wrapper{
        width: 50px;
        font-size: 0.7rem;
    }
}
@media(max-width:380px){
    .resources-icon-text-wrapper{
        width: 40px;
        font-size: 0.6rem;
    }
    .resources-icons-wrapper img{
        width: 30px;
    }
}

.resources-icons-wrapper:hover{
    filter: brightness(1.3);
    opacity: 1;
}




/* all forms */

.resources-form-form-wrapper{
    position: relative;
    box-shadow: var(--shadow);
    padding: 15px 5px;
    border-radius: 5px;
    margin-bottom: 100px;
    text-align: center;
}

.resources-form p {
    padding-bottom: 23px;
    font-size: 0.85rem;
    text-align: center;
    color: var(--darker-grey);
}
@media(max-width:550px){
    .resources-form p{
        font-size:0.75rem;
        text-align: left;
    }
}
@media(max-width:400px){
    .resources-form-list-colour-wrapper p{
        padding: 5px 0;
    }
}
.resources-form-h2{
    font-size: 1rem;
    margin-bottom: 10px;
    color: var(--really-dark-grey); 
    text-align: center;
}

.resources-form-close-img{
    position: absolute;
    top: 5px;
    right: 5px;
    margin-bottom: 5px;
    cursor: pointer;
}
@media(max-width:400px){
    .resources-form-close-img{
        width: 15px;
    }
}

.resources-validation p{
    font-size: 0.76rem;
    color: var(--pink);
    text-align: left;
    margin-left: 3px;

}




.resources-upload-input{
    background-color: white;
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
    width: 90%;
    margin: 10px 20px;
    border: 1px dotted var(--green);
}

.resources-textarea-input{
    margin: 5px 20px 10px 20px;
    width: 90%;
    height: 60px;
    font-family: var(--main-font);
    color: var(--text-grey);
    padding: 3px;
    border: 1px dotted var(--green);
    border-radius: 3px
}
@media(max-width:400px){
    .resources-upload-input,.resources-textarea-input{
        font-size: 0.7rem;
        margin: 5px;
        width: 95%;
    }
}

.resources-upload-btn{
    padding:6px 15px 5px 15px
}




/* all lists under the forms*/
.resources-form-list{
    background-color: rgb(114 202 152 / 7%);
    padding: 10px 0;
}

.resources-form-list-item{
    display: flex;
    flex-wrap: wrap;
    background-color: white;
    margin: 10px 20px;
    padding: 8px 2px;
}
@media(max-width:500px){
    .resources-form-list-item{
       margin: 10px 12px; 
    }
    
}

.resources-form-ref{
    flex-basis: 100%;
    font-weight: bold;
    font-size: 0.9rem;
    text-align: center;
    margin-bottom: 5px;
}

.resources-form-description{
    white-space: pre-wrap;
    flex-basis: calc(100% - 70px);
    padding: 0 10px 5px 15px;
    overflow-y: auto;
    font-size: 0.85rem;
    max-height: 66px;
    text-align: left !important;
   
}

@media(max-width:400px){
    .resources-form-description{
        padding: 0;
    }
}

.resources-delete-btn{
    padding: 2px 7px;
    font-size: 0.75rem;
    background: var(--pink);

}

.resources-form-current-colours .resources-delete-btn{
    margin-left: auto;
    margin-right: 7px;
    padding: 4px 7px;;
}

/* colours */

.resources-colour-inputs-wraper{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    margin-top: 20px;
}

#resources-colour-input{
    flex-basis: 10%;
    margin-right: 10px;
    height: 60px;
}

#resources-colour-textarea{
    flex-basis: 80%;
    margin: 0;
}

.resources-colour-button{
    display: block;
    margin: 15px auto 0 auto;
}

.resources-form-list-colour-wrapper{
    flex-basis: 100%;
    display: flex;
    align-items: center;
    padding:3px;
}

.resources-form-list-colour-block{
    flex-basis: 75px;
    height: 30px;
    border: 2px solid black;
}
@media(max-width:400px){
    .resources-form-list-colour-wrapper{
        flex-wrap: wrap;
    }
    .resources-form-list-colour-block{
        flex-basis: 30px;
    }
}
.resources-form-colour-desc{
    flex-basis: calc(100% - 135px);
    max-height: 50px;
}
@media(max-width:400px){
    .resources-form-colour-desc{
        flex-basis: 100%;
    }
}

.resources-list-colour-copy-btn{
    flex-basis: 50px;
    padding: 3px ;
    font-size: 0.7rem;
    margin-left: 5px;
}
@media(max-width:400px){
    .resources-list-colour-copy-btn{
        margin-left: auto;
    }
}





/* upload */

.resources-upload-bar{
    width: 250px;
    height: 35px;
    border: 1px solid var(--pink);
    border-radius: 5px;
    margin: 20px auto 10px auto;

}

.resources-upload-bar-fill{
    height: 100%;
    width: 0%;
    background: rgba(204, 16, 89, 1.0);
    background: -webkit-linear-gradient(right, rgba(204, 16, 89, 1.0), rgba(204, 16, 89, 0.5));
    background: -moz-linear-gradient(right, rgba(204, 16, 89, 1.0), rgba(204, 16, 89, 0.5));
    background: linear-gradient(to left, rgba(204, 16, 89, 1.0), rgba(204, 16, 89, 0.5));
    transition: width 0.25s;
    border-radius: 5px;
}

.resources-upload-bar-text{
    font-weight: bold;
    color: var(--pink);
    font-size: 0.7rem;

}


.resources-form-image-thumb{
    max-width: 45px;
    max-height: 45px;
    flex-basis: 60px;
    margin: 0 10px 5px 3px;
}

@media(max-width:400px){
    .resources-form-image-thumb{
        max-width: 30px;
        max-height: 30px;
        margin: 0 8px 5px 2px;
    }
}

/* links */

#resources-link-input{
    width: 80%;
    border-radius: 10px;
    height: 25px;
    padding: 2px 5px;
    margin-left: 5px;
    margin-right: 5px;
}


.resources-form-link-list-item{
    justify-content: center;
    align-items: center;
}
.resources-form-link-link{
    flex-basis: 85%;
    overflow-y: hidden;
    margin-left: 10px;
    text-decoration: underline;
    font-weight: bold;
}

.resources-list-link-btn {
    flex-basis: 10%;
    padding: 2px 10px;
    margin: 2px;
}

.resources-form-link-desc{
    flex-basis: 100%;
    margin-right: auto;
    max-height: 70px;
    overflow-y: auto;
    margin-top: 5px;
    text-align: left !important;
}

.link-input-wrapper{
    display: flex;
    align-items: center;
}
@media(max-width:400px){
    .link-input-wrapper{
        font-size:0.7rem;
    }
}




/* fonts */

.resources-fonts-inputs-wraper{
    display: flex;
    flex-wrap: wrap;
}
.resources-fonts-input-p-wrapper{
    padding: 10px 15px 25px;
    font-size: 0.75rem;
    text-align: left;
    flex-basis: 100%;
}

.resources-font-input-label{
    flex-basis: 25%;
    flex-shrink: 0;
}

.resources-font-input{
    border-radius: 20px;
    border: 1px dotted var(--green);
    height: 25px;
    padding: 2px;
    flex-basis: 70%;
    flex-shrink: 1;
}


#resources-font-textarea{
    flex-basis: 100%;
    margin: 15px;
}

@media(max-width:400px){
    .resources-font-input-label{
        flex-basis:100%;
        font-size: 0.8rem;
    }
    .resources-font-input{
        flex-basis: 100%;
    }
    #resources-font-textarea{
        margin: 5px 0;
    }
}

.resources-form-list-font-font{
    margin-left: 15px;
    font-weight: bold;
    font-size: 1.2rem;
    color: var(--pink);
    flex-basis: 100%;
}
@media(max-width:400px){
    .resources-form-list-font-font{
      margin-left: 0;  
      text-align: center !important;
    }
    
}

.resources-form-font-desc{
    margin: 0 15px 15px 0;
    flex-basis: 100%;
}
@media(max-width:400px){
    .resources-form-font-desc{
        margin-right: 5px;
    }
}

.resources-fonts-form .resources-form-list-item{
    justify-content: center;
}


/* Master index list */

.resources-master-list-container{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 120px 0;
    margin-top: 100px;
}

.resources-master-list-table{
    flex-basis: 100%;
}

.resources-master-list-table, .resources-master-list-table td{ 
    border-collapse: collapse;
    border: 1px dotted var(--barely-visible-grey);
  
}

.resources-master-list-table tr{
    padding: 2px 0;
}

.resources-master-list-table tr td{
    text-align: center;
    height: 34px;
}

.resource-master-list-ref{
    font-size: 0.75rem;
    margin-right: 10px;
    min-width: 80px;
}

.resource-master-list-type{
    text-transform: uppercase;
    color: var(--pink);
    font-weight: bold;
    font-size: 0.75rem;
    text-align: center;
    min-width: 85px;

}
.resources-master-list-image-thumb, .resources-master-list-doc-thumb{
    height: 25px;
    max-width: 25px;
}

.resource-master-list-particular{
    min-width: 100px;
   
}

.resources-master-list-font{
    font-size: 0.8rem;
    font-weight: bold;
    color: var(--green);
}


.resource-master-list-description {
    font-size: 0.7rem;
    margin-left: 15px;
    min-width: 200px;
    text-align: left !important;
    padding-left: 10px;
}

.resources-master-list-img, .resources-master-list-colour{
    height: 28px;
    width: 35px;
    margin: 0 auto;
}

@media(max-width:600px){
    .resource-master-list-ref, .resource-master-list-type{
        display: none;
    }
}
@media(max-width:400px){
    .resource-master-list-particular{
        min-width: 0;
    }
    .resource-master-list-description{
        min-width: 0;
        font-size: 0.6rem;
        padding-left: 5px;
    }
    .resources-master-list-font{
        font-size: 0.65rem;
    }
    .resources-master-list-img, .resources-master-list-colour{
        width: 20px;
    }
}










/* ========================================== */
/*             WELCOME PAGE     *             /
/* ======================================    */


.welcome-new-pwd, .accept-contract-container{
    max-width: 780px;
    margin: 10vh auto;
    margin-bottom: 200px;
}
@media(max-width:850px){
    .welcome-new-pwd, .accept-contract-container{
        max-width: 780px;
        margin: 10vh 20px;
        margin-bottom: 200px;
    }
}


.welcome-h2{
    color: var(--pink);
    font-size: 1.4rem;
    margin-bottom: 10px;
}
@media(max-width:450px){
    .welcome-h2{
        font-size: 1.2rem;
    }
}

.welcome-new-pwd p, .accept-contract-container p{
    margin-bottom:15px;
    font-size: 1.1rem;
    color: var(--text-grey);
}
@media(max-width:450px){
    .welcome-new-pwd p, .accept-contract-container p{
        font-size: 0.9rem;
    }
}


.welcome-new-pwd p:last-of-type{
    margin-bottom:30px;
    font-size: 0.75rem;
    color: var(--really-dark-grey);
}

.welcome-setpwd-container{
    display: flex;
    flex-wrap: wrap;
    max-width: 600px;
    margin: 50px auto;
    justify-content: center;
    box-shadow: var(--shadow);
    padding:20px 30px;
    border-radius: 10px;
    font-size: 0.95rem;
}
@media(max-width:850px){
    .welcome-setpwd-container{
        padding: 20px 10px;
    }
}


.welcome-input-wrapper{
    flex-basis: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

}

@media(max-width:650px){
    .welcome-input-wrapper{
        flex-wrap: wrap;
    }
}

.welcome-setpwd-container label{
    width:200px;
}
@media(max-width:650px){
    .welcome-setpwd-container label{
        width:270px;
    }
}

.welcome-setpwd-container input, .welcome-setpwd-container textarea{
    width:300px;
    height: 30px;
    margin-bottom: 10px;
    border-radius: 20px;
    border: 1px dotted var(--green);
    padding: 5px;
    color: var(--really-dark-grey);
}
@media(max-width:650px){
    .welcome-setpwd-container input, .welcome-setpwd-container textarea{
        width:270px;
    }
}

.welcome-setpwd-container textarea{
    height: 80px;
    border-radius: 15px;
}

.welcome-btn{
    font-size: 1.2rem;
    margin-top: 20px;
}

.welcome-validation{
    flex-basis: 100%;
    color: var(--pink);
    font-size: 0.8rem;
    margin-top: -5px;
}

.welcome-validation li{
   margin-left: 10px;
}

.welcome-validation li:last-of-type{
    margin-bottom: 20px;
}

#welcome-legal-checkbox-validation li{
    text-align: center;
    margin-bottom: -6px!important;
}
#welcome-legal-name-validation{
    margin-top: 6px;
}

.accept-contract-proposal-link{
    display: inline-block;
    margin: 80px 0;
    padding: 10px 15px;
}

.accept-contract-form{
    box-shadow: var(--shadow);
    padding: 20px;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.accept-contract-container .checkmark{
    border: 1px solid var(--green);
}

#accept-contract-checkbox-lable-id{
    flex-basis: 90%;
    font-size: 0.8rem;
    margin-top: 20px;
    line-height: 0.9rem;
}

.accept-contract-name-wrapper{
    flex-basis: 100%;
    margin-top: 15px;
    text-align: center;
}
@media(max-width:484px){
    .accept-contract-name-wrapper{
        text-align: left;
    }
}

#accept-contract-name-id{
    height: 30px;
    width: 300px;
    padding: 3px;
    font-size: 1rem;
}
@media(max-width:484px){
    #accept-contract-name-id{
        width: 99%;
    }
}


.accept-contract-btn{
    margin: 20px auto;
    font-size: 1.2rem;
    flex-basis: 170px;
}




/*================= discovery section  =============================*/

.discovery-container{
    max-width: 700px;
    margin: 100px auto 200px auto;
    padding: 15px;
    box-shadow: var(--shadow);
    border-radius: 10px;
}
@media(max-width:500px){
    .discovery-container{
     margin: 40px auto 90px auto;
    }
}


.discovery-container h3, .discovery-container h2{
    color: var(--pink);
}

.discovery-container h3{
    margin-bottom: 30px;
    border-bottom: 1px dotted var(--pink);
    width: 100%;
}

.discovery-opening-p{
    margin-bottom: 100px !important;
}


.discovery-range-wrapper{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}

.discovery-range-label-left, .discovery-range-label-right{
    width: 100px;
}
.discovery-range-label-right{
    margin-left: 40px;
}

@media(max-width:650px){
    .discovery-range-label-left, .discovery-range-label-right{
        width: 74px;
        font-size: 0.75rem;
    }
    .discovery-range-label-right{
        margin-left: 10px;
    }
}
@media(max-width:550px){
    .discovery-range-label-left, .discovery-range-label-right{
        width: 50px;
    }
    .discovery-range-label-right{
        margin-left: 5px;
    }
}


.discovery-container p{
    margin: 30px 0;
    color: var(--text-grey)
}


.discovery-q-group-conrtainers{
    display: flex;
    flex-wrap: wrap;
    margin: 80px 0;

}

.discovery-input-label{
    flex-basis: 100%;
    margin-bottom: 10px;
    color: var(--really-dark-grey)
}
@media(max-width:500px){
    .discovery-container p, .discovery-input-label{
        font-size: 0.86rem;
    }
}
.discovery-textarea{
    width: 100%;
    height: 90px;
    background-color: var(--green-opacity--barely-visible);
    padding: 10px;
    font-size: 0.9rem;
    margin-bottom: 50px;
    border: none;
    color: var(--text-grey);
}

.discovery-existing-website-container{
    margin-bottom: 80px;
}

.discovery-existing-website-questions{
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;

}

.discovery-existing-website-input{
    width: 100%;
    height: 30px;
    padding: 3px 10px;
    font-size: 0.9rem;
    background-color: var(--green-opacity--barely-visible);
    margin-bottom: 30px;
    border: none;
    color: var(--text-grey);
}

.discovery-btn {
    font-size: 1rem;
    width: 176px;
}

@media(max-width:380px){
    .discovery-btn {
        display: block;
        margin: 10px auto;
        text-align: center;
    }

}





/* range slider */

.discovery-range-container div:last-of-type{
    margin-bottom: 80px;
}

input[type=range] {
    -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
    width: 200px; /* Specific width is required for Firefox. */
    background: transparent; /* Otherwise white in Chrome */
}

  
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
}
  
input[type=range]:focus {
    outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}
  
input[type=range]::-ms-track {
    width: 200px;
    cursor: pointer;
    background: transparent; 
    border-color: transparent;
    color: transparent;
}

@media(max-width:500px){
    input[type=range] {
        width: 150px; 
    }
    input[type=range]::-ms-track {
        width: 150px;
    }
}
@media(max-width:400px){
    input[type=range] {
        width: 90px; 
    }
    input[type=range]::-ms-track {
        width: 90px;
    }
}



/* Thumb slider */
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 30px;
    width: 15px;
    border-radius: 10px;
    background: var(--pink);
    cursor: pointer;
    margin-top: -14px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */
}
  

input[type=range]::-moz-range-thumb {
    height: 30px;
    width: 15px;
    border-radius: 10px;
    background: var(--pink);
    cursor: pointer;
}
  

input[type=range]::-ms-thumb {
    height: 30px;
    width: 15px;
    border-radius: 10px;
    background: var(--pink);
    cursor: pointer;
}


/* track */

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 1px;
    cursor: pointer;
    background: var(--green-opacity--full-screen);
}
  
input[type=range]:focus::-webkit-slider-runnable-track {
    background: var(--green-opacity--full-screen);
}
  
input[type=range]::-moz-range-track {
    width: 100%;
    height: 2px;
    cursor: pointer;
    background: var(--green-opacity--full-screen);
}
  
input[type=range]::-ms-track {
    width: 100%;
    height: 2px;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    color: transparent;
}

input[type=range]::-ms-fill-lower {
    background: var(--green-opacity--full-screen);
}
  
input[type=range]:focus::-ms-fill-lower {
    background: var(--green-opacity--full-screen);
}

input[type=range]::-ms-fill-upper {
    background: var(--green-opacity--full-screen);
}

input[type=range]:focus::-ms-fill-upper {
    background: var(--green-opacity--full-screen);
}

/* radio */


/*  RADIO BUTTONS */


.discovery-radio{
    position: absolute;
    opacity: 0;
    left: 0;
}

.discovery-radio + label{
    position: relative;
    display: block;
    cursor:pointer;
    padding: 0 0 0 25px;
    margin-bottom: 5px;
    color: var(--text-grey)
}


.discovery-radio + label::before{
    content: "";
    border: 1px solid var(--green);
    height: 16px;
    width: 16px;
    border-radius: 50%;
    position: absolute;
    top: 0px;
    left: 0;

}
.discovery-radio + label::after{
    content: "";
    width: 16px;
    height: 16px;
    border: 1px solid var(--green);
    background-color: var(--pink);
    border-radius: 50%;
    position: absolute;
    top: 0px;
    left: 0;
    opacity: 0;
}
.discovery-radio:checked + label::after{
    opacity: 1;
}

.discovery-radio:checked + label::after{
    opacity: 1;
}





.discovery-final-wrapper{
    min-height: 50vh;
    max-width: 800px;
    margin: 100px auto;
    padding: 0 20px;
}

.discovery-final-wrapper > p {
    margin-bottom: 10px;
}

.discovery-final-btn-wrapper{
    margin-top: 50px;
}

/* Disco within account page */
.account-client-container .discovery-container{
    margin-top: 0;
}









/* TERMS AND CONDITIONS PAGE  */

.terms-page-container .terms-top{
    margin-bottom: 100px;
    margin-left: 25px;
    font-size: 1.4rem;
}

.terms-page-container .terms-top li{
    list-style: disc;
    margin-bottom: 10px;
    cursor: pointer;
    color: var(--green);
}
.terms-page-container .terms-top li:hover{
    filter: brightness(0.8);
}

.terms-page-container .terms-active{
    text-decoration: underline;
}

.terms-page-container{
    max-width: 1000px;
    margin: 100px auto;
    min-height: 80vh;
    position: relative;
    padding: 10px 20px;
}

.terms-page-container .terms-top, .terms-contract-container, .terms-privacy-container{
    flex-basis: 100%;
}

.terms-page-container .terms-h1{
    margin-bottom: 70px;
    color: var(--pink);
    font-size: 2rem;
}

.terms-page-container .terms-l h2, .terms-section-heading {
    margin-top: 50px;
    margin-bottom: 15px;
    color: var(--pink);
    font-size: 1.5rem;
    font-weight: bold;
    display: flex;
}

.terms-page-container .terms-2 p, .item2 li{
    display: flex;
    margin-bottom: 5px;
    margin-left: 30px;
}

.terms-page-container .terms-2 span, .item2 li::before{
    font-weight: bold;
    margin-right: 15px;
}

.terms-page-container .terms-3 span{
    margin-left: 40px;
}



.terms-page-container .item1 .terms-section-heading::before{
    counter-increment: item1;
    content: counter(item1)". ";
    
}

.terms-page-container .item2{
    counter-reset: item2;
}

.terms-page-container .item2 li::before{
    counter-increment: item2;
    content: counter(item1)"."counter(item2)". ";
}

.terms-page-container .item3{
    counter-reset: item3;
    margin-left: 50px;
    margin-bottom: 15px;
}
.terms-page-container .item3 li::before{
    counter-increment: item3;
    content: counter(item1)"."counter(item2)"."counter(item3)". ";
}

.terms-page-container .item2 a{
    display: contents;
}

#back-to-top{
    position: fixed;
    bottom: 20px;
    right: calc(50vw - 50px);
    cursor: pointer;
    z-index: 1;
}

#back-to-top:hover{
    filter: brightness(1.1);
}

@media(max-width:550px){
    .terms-page-container .terms-top{
        font-size: 1.2rem;
    }
    .terms-page-container .terms-h1{
        font-size: 1.5rem;
    }
    .terms-page-container .terms-l h2, .terms-section-heading {
        font-size: 1.1rem;
    }

    .terms-page-container .terms-2 p, .item2 li{
        font-size: 0.85rem;
    }
    .terms-page-container .terms-3 span{
        margin-left: 10px;
    }
}

.grecaptcha-badge{
    display: none;
}





/* PHASE 3 CHANGES */

/* homepage services */

.first-block{
    margin-top:150px;
}

.front-page-services-block-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 700px;
    max-width: 1300px;
    margin: 0 auto;
}

.front-page-services-left{
    flex-basis: 50%;
    margin-right: 70px;
}
@media(max-width:1100px){
    .front-page-services-left{
        margin-right: 20px;
    }
}

.front-page-services-right{
    flex-basis: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.front-page-services-img-container{
    width: 400px;
    height: 270px;
    border-radius: 20px;
    display:flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.front-page-services-img-container img{
    max-width: 100%;
    border-radius: 20px;
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 40;
}

.front-page-services-text-wrapper{
    max-width: 500px;
    margin-left: 50px;
}

.front-page-services-left h2{
    color:var(--pink);
    font-size: 2em;
    margin-bottom: 15px;
}

.front-page-services-left p{
    margin-bottom: 15px;
    letter-spacing: 0.08em;
    line-height: 1.6em;
    color: var(--text-grey);
}

.front-page-services-right::after{
    content: "";
    height: 100%;
    width: 50%;
    border-right: 2px dotted var(--light-grey-a-bit-lighter);
    z-index: 20;
    position: absolute;
    top: 0;
    left: 0;
}

.front-page-services-img-container::after{
    content: "";
    height: 200px;
    width: 200px;
    background-color: var(--green-opacity--barely-visible);
    position: absolute;
}

.image-is-right::after{
    right: -40px;
    top: -70px;
}

.image-is-left::after{
    left: -40px;
    top: -70px;
}

.front-page-contact-container .front-page-big-green-title{
    margin-bottom: 100px;
}

@media(max-width:950px){
    .front-page-services-block-wrapper{
        flex-wrap: wrap;
    }
    .front-page-services-left{
        margin:  0 20px;
    }
    .front-page-services-left, .front-page-services-right{
        flex-basis: 100%;
    }
    .front-page-services-text-wrapper{
        margin: 0 auto;
    }

    .front-page-services-right{
        height:500px
    }

    .front-page-shopify .front-page-services-right {
        order: 2;
    }
    .front-page-shopify .front-page-services-left {
        order: 1;
    }
    .front-page-services-container{
        margin: 180px 10px;
    }

    .front-page-services-text-wrapper{
        padding: 50px 0;
    }

    .front-page-portfolio-container .front-page-big-green-title{
        padding-top: 100px;
    }

    .front-page-services-img-container::after{
        height: 150px;
        width: 150px;
    }
    .image-is-right::after{
        right: -50px;
        top: -50px;
    }
    .image-is-left::after{
        left: -50px;
        top: -50px;
    }
    .front-page-services-img-container{
        height: 240px;
        width: 350px;
    }
    
}

@media(max-width:550px){
    .front-page-services-container{
        margin: 100px 10px;
    }
    .front-page-services-right{
        height: 400px;
    }
    .front-page-services-text-wrapper{
        padding: 25px 0;
    }
    .front-page-services-img-container{
        width: 300px;
        height: 199px;
    }
    .image-is-right::after{
        height: 150px;
        width: 150px;
        right: -30px;
        top: -30px;
    }
    .image-is-left::after{
        height: 150px;
        width: 150px;
        left: -30px;
        top: -30px;
    }
}

@media(max-width:380px){

    .image-is-left::after{
        left: 0px;
        top: -40px;
    }
    .image-is-right::after{
        right: -10px;
        top: -40px;
    }
    .front-page-services-right{
        height: 350px;
    }
}

.front-page-shopify-partner-logo, .front-page-wordpress-partner-logo{
    width: 250px;
    margin-bottom: 8px;
}

.front-page-big-green-title{
    color: rgb(233 255 243);
    text-shadow: 1px 2px 1px rgb(206 206 206);
    padding: 20px 0;
    text-align: center;  
    font-size: 8em;
    margin-bottom: 15px;
}

@media(max-width:1100px){
    .front-page-big-green-title{ 
        font-size: 6em;
    }
    
}

@media(max-width:900px){
    .front-page-big-green-title{ 
        font-size: 4em;
    }
    
}

@media(max-width:700px){
    .front-page-big-green-title{ 
        font-size: 3.6em;
    }
    
}

@media(max-width:500px){
    .front-page-big-green-title{ 
        font-size: 2.3em;
    }
    
}






.front-page-services-btn{
    background-color: var(--pink);
    margin-top: 10px;
    display: inline-block;
}





/* SHOPIFY PAGE */

.shopify-info{
    max-width: 1400px;
    margin: 0 auto;
}
.shopify-page .page-title{
    font-size: 13.5vw;
    line-height: 5vw;
}

.shopify-info-block{
    display:flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 90px 0;
}

@media(min-width:2000px){
    .shopify-page .page-title{
        font-size: 13rem;
    }
}

.shopify-info-p-container{
    padding:4em 2.5em;
    flex-basis: 50%;
    
}
.shopify-block-title{
    color: var(--pink);
    margin-bottom: 1em;
}

.shopify-block-p{
    color: var(--text-grey);
    font-size: 17px;
    line-height: 1.4em;
    margin-bottom: 1em;
}

.shopify-info-img-container{
    position: relative;
    flex-basis: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4em 2.5em;

}
.shopify-info-img-container::after{
    content: "";
    height: 100%;
    width: 50%;
    border-right: 2px dotted var(--light-grey-a-bit-lighter);
    z-index: 20;
    position: absolute;
    top: 0;
    left: 0;
}

.shopify-img-left{
    justify-content: center;
}
.shopify-img-right{
    justify-content: center;
}

.shopify-info-img{
    z-index: 30;
    position: relative;
    display: block;
    max-width: 95%;
    padding: 1em;
}

.shopify-info-img-wrapper{
    position: relative;
    z-index: 100;
}

.shopify-info-img-wrapper iframe{
    max-width: 100%;
    max-height: 23vw;
}

.shopify-img-wrapper-left::before{
    content: "";
    height: 200px;
    width: 200px;
    background-color: var(--green-opacity--barely-visible);
    position: absolute;
    top: -10px;
    left: -10px;
}
.shopify-img-wrapper-right::before{
    content: "";
    height: 200px;
    width: 200px;
    background-color: var(--green-opacity--barely-visible);
    position: absolute;
    top: -10px;
    right: -10px;
}


@media(max-width:850px){
    .shopify-info-block {
        margin: 0 ;
    }
    .shopify-info-p-container{
        flex-basis:100%;
        margin: 1em;
        padding: 2em 0.5em;
    }
    .shopify-info-img-container{
        flex-basis:100%;
        max-width: 90%;
        margin: 0 auto;
        padding: 2em 0.5em;
    }
    .shopify-info-img-wrapper iframe{
        max-height: 50vw;
    }
    .shopify-info-block-1{
        order: 2;
    }
    .shopify-info-block-2{
        order: 1;
    }
    .shopify-info-block-5{
        order: 2;
    }
    .shopify-info-block-6{
        order: 1;
    }
    .shopify-info-img{
        margin: 0 auto;
        max-width: 85%;
    }
    .shopify-img-wrapper-left::before,.shopify-img-wrapper-right::before{
        height: 30vw;
        width: 30vw;
    }
}
@media(max-width:850px){
    .shopify-info-img {
        max-width: 90%;
    }
}




.shopify-prices{
    padding: 8em 3em;
    background-color: var(--green-opacity-lighter);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.shopify-price-block{
    width: 300px;
    border-radius: 20px;
    border: 1px solid var(--text-grey);
    position: relative;
    padding: 1.2em;
    background-color: #ffffff;
    margin: 0 20px 50px 0;
    box-shadow: var(--shadow);
}

.shopify-price-title{
    color: var(--text-grey);
    font-size: 25px;
    max-width: 150px;
}

.shopify-price-circle{
    height: 80px;
    width: 80px;
    border-radius: 50%;
    background-color: var(--green);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: absolute;
    top: 8px;
    right: 5px;
}


.shopify-from{
    display: block;
    text-align: center;
    font-size: 0.9em;
}

.shopify-price{
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
}
.shopify-hourly{
    font-size: 0.7em;
}

.shopify-bullet-ul{
    margin: 50px 0;
    list-style-position: outside;
    margin-left: 22px;
    min-height: 340px;
}

.shopify-bullet-ul li{
    margin-bottom: 20px;
    list-style-image: url('../images/tick.png');
}

.shopify-prices-btn{
    background-color: var(--pink);
    display: block;
    margin: 30px auto 10px auto;
    font-size: 1.1em;
    font-weight: bold;
    width: 160px;
    text-align: center;
}

@media(max-width:1055px){
    .shopify-prices{
        padding: 8em 1em;
    }
}
@media(max-width:991px){
    .shopify-price-block{
        width: 315px;
    }
}

@media(max-width:741px){
    .shopify-price-block{
        width: 280px;
    }
}
@media(max-width:671px){
    .shopify-price-block{
        width: 315px;
    }
}

@media(max-width:400px){
    .shopify-price-block{
        width: 300px;
    }
}





.shopify-faq-container {
    max-width: 1200px;
    margin: 100px auto;
    padding: 0 6em;
}

.shopify-faq-block{
    display: flex;
    padding: 1em;
    border: 1px solid var(--light-grey-a-bit-lighter);
    margin-bottom: 20px;
    border-radius: 20px;
    cursor: pointer;
    position: relative;
}

.faq-img{
    height: 30px;
    width: 30px;
    margin-right: 30px;
    transition: transform 0.3s linear;
}

.faq-q{
    font-size: 22px;
    color: var(--pink);
    margin-top:2px;
}

.faq-a{
    margin-top: 15px;
    color: var(--text-grey);
    display: none;
    opacity: 0.1;
    transition: opacity 0.5s linear;
}

.shopify-faq-clickable-overlay{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

@media(max-width:1000px){
    .faq-q{
        font-size: 20px;
    }
}
@media(max-width:800px){
    .shopify-faq-container {
        padding: 0 3em;
    }
}
@media(max-width:650px){
    .shopify-faq-container {
        padding: 0 1em;
    }
    .faq-q{
        font-size: 18px;
    }
    .faq-img{
        margin-right: 20px;
    }
}




.shopify-contact{
    padding: 5em 3em;
    background-color: var(--green-opacity-lighter);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 200px;
    background-image: url('../images/shopify-contact-bg-desktop.png');
    background-repeat: no-repeat;
    background-size: cover;
    clip-path: polygon(0% 0%, 50% 8%, 100% 0%, 100% 100%, 50% 92%, 0% 100%);
    -webkit-clip-path: polygon(0% 0%, 50% 8%, 100% 0%, 100% 100%, 50% 92%, 0% 100%);
}
@media(max-width:850px){
    .shopify-contact{
        background-image: url('../images/shopify-contact-bg-mobile.png');
    } 
}

.shopify-contact-container{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}
.shopify-contact-left{
    flex-basis: 50%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
    max-width: 800px;
    
}

.shopify-contact-right{
    flex-basis: 50%;
    max-width: 800px;
}
.shopify-contact-title{
    font-size: 2.2em;
    color:var(--green);
    background-color: #e5f6e542;
}
.shopify-contact-subtitle{
    font-size: 1.4em;
    color:var(--pink);
    background-color: #e5f6e542;
}
.contact-logo{
    width: 255px;
    margin-top: 30px;
}

.shopify-contact-right .contact{
    margin: 0 auto;
    max-width: 400px;
    background-color: #ffffff78;
    padding: 1em;
    border-radius: 20px;
}

.shopify-contact-right .contact-customer-details{
    background-color: var(--green-opacity--barely-visible);
    border-radius: 5px;
    width: 100%;
    border: 1px solid var(--border-grey);
    padding: 5px 8px;
    font-size: 0.9em;
    font-family: var(--main-font);
}
.shopify-contact-right .contact-customer-details::placeholder{
    color:var(--light-grey);
}

.shopify-contact-right .contact-btn{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    display: block;
}

.shopify-contact-right .contact-comments{
    height: 10em;
    line-height: 1.3em;
}

@media(max-width:800px){
    .shopify-contact{
        padding: 4em 1em;
        margin-bottom: 100px;
    }
}

@media(max-width:780px){
    .shopify-contact-left{
        flex-basis: 100%;
        padding: 2em 1em;
    }
    .shopify-contact-right{
        flex-basis: 100%;
        padding: 2em 0;
    }
}
@media(max-width:650px){
    .shopify-contact{
        padding: 3.5em 0.5em;
    }

}

.wordpress .shopify-bullet-ul{
    min-height: 435px;
}

a.wordpress-hosting-link {
    text-decoration: underline;
}

/* HOSTING */

.hosting-container{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 180px;
    margin-top: 70px;
}


.hosting-page .page-title{
    font-size: 18vw;
    padding-top: 0;
    padding-bottom: 40px;
}
@media(min-width:550px){
    .hosting-page .page-title{
        font-size: 15vw;
    }
}
@media(min-width:800px){
    .hosting-page .page-title{
        font-size: 13.1vw;
    }
}


@media(min-width:1200px){
    .hosting-page .page-title{
        font-size: 10.9rem;
    }
}


.hosting-container ul{
    border: 1px solid rgb(208 255 229);
    border-radius: 20px;
    box-shadow: var(--shadow);
    max-width: 650px;
    margin: 2em;
    min-height: 755px;
}
.hosting-container li {
    padding: 10px 20px;
    margin-left: 40px;
    color: var(--text-grey);
    max-width: 380px;
    border-bottom: 1px solid var(--green-opacity--barely-visible);
    list-style-image: url('../images/tick.png');
}

.hosting-img{
    display: block;
    margin: 0 auto;
    max-width: 90%;
}
.hosting-img img{
    max-width: 100%;
}

.hosting-container h2{
    color: var(--pink);
    text-align: center;
    list-style-image:none;
}

@media(max-width:910px){
    .server-locations{
        min-height: 90px;
    }    
}


.hosting-container .last-li, .hosting-container .first-li{
    border-bottom: none;
    list-style-image:none;
    margin:20px auto;
}

a.btn.hosting-btn {
    display: block;
    margin: 20px auto;
    width: 115px;
    text-align: center;
    background-color: var(--pink);
}

section.hosting-blurb {
    max-width: 1200px;
    margin: 0 auto 50px auto;
    padding: 0 2em;
}

section.hosting-blurb p{
    color: var(--text-grey);
    font-size: 1.1em;
    margin-bottom: 1.5em;
}

@media(max-width:1000px){
    section.hosting-blurb p{
        font-size: 1em;
    }
    
    .siteground ul{
        margin-right: 1em;
    }
    .a2 ul{
        margin-left: 1em;
    }
}

@media(max-width:710px){
    .hosting-container{
        flex-wrap: wrap;
    }
    .siteground ul, .a2 ul{
        margin: 0.5em 0.75em;
    }
}