/* Document styles */

html, body {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden; 
    scroll-behavior: smooth;
}

h1, h2, h3, .card-title {
    font-family: 'Source Serif 4', sans-serif;
}

h1 {
    font-size: calc(1.325rem + .9vw);
    color: black;
}

h4 {
    font-family: 'Open Sans', sans-serif;
    color: black;
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: medium;
    font-weight: bold;
}

p, .card-text, ul, li {
    font-family: 'Open Sans', sans-serif;
    font-weight: lighter;
}

strong {
    font-family: 'Open Sans', sans-serif;
    font-weight: 500;
}

ul {
    list-style-type: circle;
}

.btn-primary {
    font-family: 'Open Sans', sans-serif!important;
    background-color: #163c31;
    border-color: #163c31;
    box-shadow: none!important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .btn-primary.open {
    background-color: white;
    border-color: #163c31;
    color: #163c31;
    box-shadow: none!important;
}

.btn-secondary {
    font-family: 'Open Sans', sans-serif!important;
    background-color: #163c31;
    border-color: #163c31;
    padding: 0.275rem 0.5rem;
    margin-left: 1rem;
    box-shadow: none!important;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active, .btn-secondary.open {
    background-color: white;
    border-color: #163c31;
    color: #163c31;
    box-shadow: none!important;
}

.btn-light {
    font-family: 'Open Sans', sans-serif!important;
    background-color: white;
    border-color: white;
    margin-top: 2rem;
    box-shadow: none!important;
}

.btn-light:hover, .btn-light:focus, .btn-light:active, .btn-light.active, .btn-light.open {
    background-color: #163c31;
    border-color: white;
    color: white;
    box-shadow: none!important;
}

.btn-dark {
    font-family: 'Open Sans', sans-serif!important;
    color: white;
    background-color: #163c31;
    border-color: #163c31;
    margin-top: 1.5rem;
    box-shadow: none!important;
}

.btn-dark:hover, .btn-dark:focus, .btn-dark:active, .btn-dark.active, .btn-dark.open {
    background-color: white;
    border-color: #163c31;
    color: #163c31;
    box-shadow: none!important;
}

.mobile-image {
    display: none;
}

@media only screen and (max-width: 600px) {
    .mobile { 
        display: none;
    }

    .mobile-image {
        display: block;
    }
  }

/* Scroll-over */

.under {
    position: sticky;
    top: 0;
}

.wrapper {
    height: 200vh;
}

.over {
    margin-top: -100vh;
    position: relative;
}

@media only screen and (min-width: 1081px) and (max-width: 1200px) {
    .over { 
        margin-top: -110vh;
    }
  }

@media only screen and (min-width: 801px) and (max-width: 1080px) {
    .over { 
        margin-top: -130vh;
    }
  }

@media only screen and (min-width: 806px) and (max-width: 1000px) and (min-height: 1000px) {
    .over { 
        margin-top: -160vh;
    }
}

@media only screen and (min-width: 689px) and (max-width: 805px) {
    .over { 
        margin-top: -140vh;
    }
}

@media only screen and (min-width: 557px) and (max-width: 688px) {
    .over { 
        margin-top: -150vh;
    }
  }

@media only screen and (min-width: 429px) and (max-width: 556px) {
    .over { 
        margin-top: -160vh;
    }
}

@media only screen and (min-width: 381px) and (max-width: 428px) {
    .over { 
        margin-top: -168vh;
    }
}

@media only screen and (min-width: 0px) and (max-width: 380px) {
    .over { 
        margin-top: -164vh;
    }
}

/* Navbar */

.navbar {
    background-color: white!important;
    padding-top: 0.2rem!important;
    padding-bottom: 0.2rem!important;
}

.navbar-text {
    padding-top: 0.3rem!important;
    padding-bottom: 0.3rem!important;
    line-height: 1!important;
}

.custom-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,102,203, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")!important;
  }
  
  .custom-toggler.navbar-toggler {
    border-color: rgb(255,102,203)!important;
  } 

.nav-link {
    color: black;
    font-family: 'Open Sans', sans-serif!important;
}

.nav-link:hover, .nav-link:focus, .nav-link:active, .nav-link.active, .nav-link.open {
    color: #163c31;
}

.navbar-toggler {
    color: #163c31;
}

#navbar-arrow {
    height: 2vh;
    padding-left: 1vw;
}

#navbar-tagline {
    font-size: medium;
    text-align: right!important;
    color: #194c3e;
}

.button-div {
    display: flex;
    align-items: center;
}
/* Landing Header */

.landing-header {
    height: 80vh;
    width: 100%;
    position: relative;
}

.no-border {
    border: 0px;
}

#background-video {
    width: 100vw;
    height: 80vh;
    object-fit: cover;
    z-index: -1;
  }

@media only screen and (max-width: 600px) {
    .landing-header {
        height: 50vh;
    }
    #background-video {
        height: 50vh;
    }
}

#header-headline {
    font-size: 3vw;
    bottom: 6vw;
    left: 5vw;
}

#header-subhead {
    font-size: 1vw;
    bottom: 2vw;
    left: 5vw;
    font-family: 'Open Sans', sans-serif;
    color: white;
}

/* Header-Box */

#header-box {
    height: 8vh;
    background-color: white;
}

@media only screen and (min-width: 901px) {
    span { 
        font-size: 1.5vw;
        font-family: 'Open Sans', sans-serif;
        color: #163c31;
    }
    
    span b { 
        font-size: 2.5vw; 
        font-weight: normal;
        font-family: 'Source Serif 4', sans-serif;
        padding-left: 1%;
        padding-right: 2%;
    }
  }
  
  @media only screen and (min-width: 601px) and (max-width: 900px) {
    span { 
        font-size: 3.5vw;
        font-family: 'Open Sans', sans-serif;
        color: #163c31;
    }
    
    span b { 
        font-size: 4vw; 
        font-weight: normal;
        font-family: 'Source Serif 4', sans-serif;
        padding-left: 1%;
        padding-right: 2%;
    }
  }

   @media only screen and (min-width: 0px) and (max-width: 600px) {
    span { 
        font-size: 3vw;
        font-family: 'Open Sans', sans-serif;
        color: #163c31;
    }
    
    span b { 
        font-size: 5vw; 
        font-weight: normal;
        font-family: 'Source Serif 4', sans-serif;
        padding-left: 1%;
        padding-right: 2%;
    }

    #bio-collapse-button {
        margin-bottom: 15px;
    }
  }

/* Loading spinner */

#loader1 {
    position: absolute;
    left: 47.5vw;
    top: 35vh;
    width: 5vw;
}

@media only screen and (min-width: 650px) and (max-width: 1000px) {
    #loader1 { 
        top: 25vh;
    }
}

@media only screen and (min-width: 650px) and (max-width: 1000px) and (min-height: 1000px) {
    #loader1 { 
        top: 15vh;
    }
}

@media only screen and (min-width: 400px) and (max-width: 649px) {
    #loader1 { 
        top: 15vh;
        width: 10vw;
    }
}

@media only screen and (max-width: 399px) {
    #loader1 { 
        top: 10vh;
        width: 10vw;
    }
}

/* Intro */

.intro-head {
    color: white!important;
    line-height: 1.4!important;
}

.intro-card {
    background-color: #163c31;
    color: white;
    border: 0px;
}

.intro-line {
    color: white;
    width: 220px;
    height: 1.5px;
}

@media only screen and (max-width: 650px) {
    .intro-line { 
        width: 110px;
    }
}

/* Approach */

.bio {
    margin-bottom: 0rem!important;
    display: block;
}

.approach-row {
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: white;
}

.approach-card {
    background-color: white;
    border: 0px;
}

.headshot {
    border-radius: 10px;
}

@media only screen and (min-width: 0px) and (max-width: 800px) {
    #headshot {
        width: 60%;
        margin-top: 2rem;
    }
  }

/* Bio pic animation */

@media (prefers-reduced-motion: no-preference) {
    .animated-image-animation {
        -webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
        -moz-animation: fadein 2s; /* Firefox < 16 */
         -ms-animation: fadein 2s; /* Internet Explorer */
          -o-animation: fadein 2s; /* Opera < 12.1 */
             animation: fadein 2s;
    }
  }

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Education */

.education {
    background-image: url(../assets/img/brickwall.jpg);
    background-size: cover;
    border: 0px;
    color: black;
}

.education-icon {
    margin-bottom: 10px;
    color: #163c31;
}

.education-head {
    font-size: large;
    margin-top: 15px;
}

.education-card {
    background: transparent;
    border: none;
}

h5.education-card {
    font-size: 7vh;
    font-family: 'Open Sans', sans-serif;
    font-weight: bolder;
    color: #BA8512;
}

h6.education-card {
    font-size: larger;
    margin-top: 10px;
}

.education-line {
    color: #BA8512;
    height: 1.5px!important;
    width: 60px;
    margin: auto;
}

/* Focus */

.focus {
    background-color: white;
    padding: 15px;
}

.bulletpoint {
    height: 2vh;
    display: inline;
}

.focus-head {
    padding-bottom: 15px;
}

.focus-text {
    display: inline;
    padding-left: 1vw;
}

.green-icon {
    color: #163c31;
}

#focus-details {
    margin-top: 15px;
}

@media only screen and (min-width: 1000px) {
    .green-icon { 
        display: none;
    }
}

/* Process */

.process {
    background-color: #163c31;
    color: white;
    border-color: #163c31!important;
    border-radius: 0px;
    border-width: 0px;
}

.process-head {
    font-size: large;
    margin-top: 15px;
}

.btn-success, .btn-success:focus, .btn-success:active, .btn-success.active, .btn-success.open {
    font-size: 7vh;
    font-family: 'Open Sans', sans-serif;
    font-weight: bolder;
    color: #BA8512;
    background-color: #163c31!important;
    border-color: #163c31!important;
    box-shadow: none!important;
}

.btn-success:hover {
    color: #E7ECEF;
}

h5.process-card {
    font-size: 7vh;
    font-family: 'Open Sans', sans-serif;
    font-weight: bolder;
    color: #BA8512;
}

h6.process-card {
    font-size: larger;
    margin-top: 10px;
}

.process-line {
    color: #BA8512;
    height: 1.5px!important;
    width: 60px;
    margin: auto;
}

/* Number animation */

.number {
    position: relative;
    top: 0;
    transition: top ease 0.5s;
  }

.number:hover {
    top: -10px;
  }

/* Boxes */

.contact-card {
    margin-left: 1%;
    margin-right: 1%;
    background-color: #E7ECEF;
    border-color: #E7ECEF;
    border-radius: 10px;
}

.mini-card {
    margin-top: 1.5%!important;
}

#vpt {
    max-width: 150px;
    margin-bottom: 15px;
}

.form-label {
    font-family: 'Open Sans', sans-serif!important;
}

.form-control {
    box-shadow: 1px 1px 1px 1px rgba(1,1,1,0.2);
    font-family: 'Open Sans', sans-serif!important;
    font-weight: lighter;
    border: none;
}

.form-control:focus {
    box-shadow: 1px 1px 1px 1px rgba(1,1,1,0.2);
}

#exampleFormControlInput1, #exampleFormControlTextarea1, #firstname, #lastname {
    font-family: 'Open Sans', sans-serif!important;
}

.green-head {
    color: #163c31;
}

.smaller-head {
    font-size: x-large;
}

.button-h2 {
    color: white;
    padding-top: 2vh;
    padding-left: 2vw;
}

.button-h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: large;
    color: white;
    padding-left: 2vw;
}

.button-arrow {
    height: 5vh;
    padding-left: 2vw;
}

#email-pic {
    max-width: 210px;
}

.email-note {
    margin-top: 22px;
    margin-bottom: 0px!important;
}

/* Footer */

#footer-copy {
    text-align: center;
    font-size: smaller;
}

/* Header scroll down button */

@keyframes bounce {
    0%, 5%, 12.5%, 20%, 25% {transform: translateY(0);} 
    10% {transform: translateY(-30px);} 
    15% {transform: translateY(-15px);} 
 } 

#btn1 {
    position: absolute;
    left: 98%;
    bottom: -3em;
    margin-left: -2em;
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    animation-name: bounce;
    animation-iteration-count: infinite;
    cursor: pointer;
}

@media only screen and (min-width: 1001px) and (max-width: 1200px) {
    #btn1 { 
        bottom: -1em;
    }
}

@media only screen and (min-width: 0px) and (max-width: 1000px) {
    #btn1 { 
        display: none;
    }
}

/* Spacers */

.spacer {
    height: 50px;
    background-color: white;
}

.transparent-spacer {
    height: 50px;
}

.white-spacer {
    height: 50px;
    background-color: white;
}

.gold-line {
    height: 2px;
    width: 80%;
    color: #BA8512;
    margin: auto;
    margin-bottom: 10px;
}

.green-line {
    height: 2px;
    width: 70%;
    color: #163c31;
    margin: auto;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Gray background component */

.gray-bg {
    background-color: #E7ECEF;
}

.accordion-button {
    background-color: #163c31!important;
    color: white;
}

.accordion-button.collapsed::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  }

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed) {
    color: white!important;
  }

.accordion-button:hover, .accordion-button:focus, .accordion-button:active, .accordion-button.active, .accordion-button.open {
    background-color: #E7ECEF!important;
    color: #163c31!important;
    box-shadow: none!important;
}

.accordion-body {
    font-family: 'Open Sans', sans-serif!important;
    font-weight: lighter;
}

#faq-headline {
    margin-bottom: 5vh;
}

.tooltip-inner {
    background-color: blue;
}

/* Psychology today badge */

.ptb {
    margin: auto;
}

/* Privacy styles */

.privacy {
    padding: 15px!important;
}
