html {
    font-size: 16px
}

body {
    background-color: #fff;
    color: #4a4a4a;
    font-family: montserrat, arial;
    font-size: 1.2em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300;
    margin: 0;
    width: 100%;
    line-height: 1.5
}

a,
a:link,
a:visited,
a:hover,
a:active {
    color: #fc9d00
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #243841;
    font-family: montserrat, arial;
    font-size: 1.2em;
    font-weight: 400;
    line-height: 1.2;
    margin: 0
}

h2 {
    font-weight: 200;
    font-size: 2.3em;
    line-height: 1.3em;
    margin: 25px 0
}

h3 {
    font-weight: 200;
    font-size: 1.6em;
    margin: 25px 0 15px
}

.navbar {
    padding: 1.5rem 0
}

.navbar-light .navbar-nav .nav-link {
    color: #fc9d00
}

.bg-light {
    background-color: transparent !important
}

.navbar-brand {
    padding-top: 0;
    font-weight: 700;
    font-size: 3.7em;
    margin-right: 0
}

.navbar-nav {
    padding-left: 2.5em;
    font-size: .9em;
    font-weight: 400;
    width: 100%;
    justify-content: flex-end
}

.btn-outline-primary:not(:disabled):not(.disabled) {
    color: #fc9d00;
    background-color: transparent;
    background-image: none;
    border-radius: 0;
    border-color: #fc9d00;
    text-transform: uppercase
}

.btn-outline-primary:not(:disabled):not(.disabled):hover,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled):focus {
    color: #333;
    background-color: #fc9d00;
    border-color: #fc9d00
}

.card-header {
    background-color: transparent;
    border-bottom: 0
}

.card {
    border: 0
}

.timeline {
    margin-bottom: -50px
}

.vtimeline-point:first-child .vtimeline-icon {
    background-color: #fc9d00
}

.flow-above {
    position: relative;
    z-index: 1
}

.card-deck.clients .card {
    border: none
}

.container-fluid {
    padding-right: 0;
    padding-left: 0
}

.home-bio {
    padding: 25px 70px 40px;
    background-color: #fff;
    font-size: 1.1em;
    font-weight: 400
}

.home-bio h3 {
    font-size: 1.6em;
    font-weight: 600;
    margin-bottom: .4em
}

.home-bio img {
    width: 100%;
    object-fit: cover;
    max-width: 280px;
    padding-bottom: 10px;
    padding-top: 10px
}

.home-bio .col-3 {
    text-align: right
}

.home-speaking {
    min-height: 600px;
    background: #000 url(../imgs/hero/speaking-dark.jpg) no-repeat top center;
    background-size: cover;
    color: #fff;
    font-weight: 500;
    font-size: 1.4em;
    padding-top: 100px;
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    position: relative;
    right: 50%;
    width: 100vw
}

.home-speaking p {
    padding-bottom: 10px
}

.home-speaking .cta {
    text-align: center;
    padding-top: 60px;
    padding-bottom: 100px;
    font-size: 1.2em
}

.home-speaking .cta .btn-outline-primary {
    font-size: 1em;
    font-weight: 600;
    padding: 30px 60px
}

.home-life {
    font-size: 1.4em;
    padding: 20px 65px 0;
    font-weight: 500
}

.knockout {
    background: url(/imgs/hero/generic.jpg) calc(44%) 0;
    background-size: cover !important;
    background-repeat: no-repeat;
    position: relative;
    padding-top: 640px;
    margin-bottom: 20px;
    min-height: 900px
}

.knockout::before {
    content: " "attr(id) "";
    width: 100%;
    text-transform: capitalize;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    display: block;
    padding: 0 0 10px;
    line-height: 1.2em;
    margin-bottom: -1px;
    color: #000;
    text-align: center;
    z-index: 1;
    mix-blend-mode: lighten;
    font-weight: 700;
    font-size: 10vw
}

.col-sm-3 .card .card-img-top {
    width: 80%;
    margin: auto
}

.card.mb-3 {
    border: 1px solid rgba(0, 0, 0, .125)
}

.footer {
    padding-top: 50px
}

.intro-press {
    padding-top: 500px;
    background-color: red
}

.topics {
    padding-top: 30px;
    padding-bottom: 30px
}

.topics .card-header {
    text-align: center;
    font-weight: 600
}

.intro {
    min-height: 750px;
    background: #fff url(../imgs/Harper_Reed.jpg) no-repeat right -22px;
    background-size: contain;
    padding-top: 150px;
    font-size: 3.3em
}

.intro h2 {
    font-weight: 700;
    font-weight: 700;
    font-size: 1.2em;
    margin-top: 0;
    line-height: 1.3em
}

blockquote {
    border-bottom: 1px dashed #777;
    padding: 40px 0;
    margin-bottom: 0 !important
}

blockquote.success {
    border-top: 1px dashed #777;
    background-color: #eee;
    border-left: 4px solid #000;
    font-weight: 700;
    padding-left: 30px;
    margin-top: -2px;
    margin-left: -30px
}

cite {
    font-weight: 700
}

.card-text {
    line-height: 1em
}

@media(min-width:768px) and (max-width:1360px) {
    .container {
        padding: 0 85px
    }

    .container.not-padded {
        padding-left: 15px;
        padding-right: 15px
    }
}

@media(min-width:768px) {
    .container {
        max-width: 1200px
    }
}

@media screen and (min-width:768px) {

    .header,
    .marketing,
    .footer {
        padding-right: 0;
        padding-left: 0
    }

    .header {
        margin-bottom: 30px
    }

    .jumbotron {
        border-bottom: 0
    }
}

@media screen and (min-width:992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: .75rem;
        padding-left: .75rem
    }
}

@media(min-width:991px) and (max-width:1110px) {
    .navbar-brand {
        font-size: calc(1.3em + 3vw)
    }

    .intro {
        
        background-position: 400px -22px
    }
}

@media(max-width:990px) {
    .intro {
        font-size: calc(.3em + 4.5vw);
        background-position: calc(133%) -26px
    }

    .navbar-nav {
        padding-left: 0
    }

    .navbar-brand {
        font-size: calc(1.5em + 1.5vw)
    }
}

@media(max-width:767.98px) {
    .knockout {
        padding-top: 0;
        margin-bottom: 20px;
        min-height: 450px
    }

    .knockout::before {
        padding: 5px 0 25px 14px;
        line-height: 1.2em;
        color: #000;
        bottom: -1px;
        font-size: 18vw;
        text-align: left;
        width: 100.2vw
    }

    .container {
        max-width: none
    }

    .intro {
        font-size: 2.6em;
        background-position: 238px -17px
    }

    blockquote.success {
        padding-left: 20px;
        margin-left: 0
    }

    #harperTimeline.vtimeline {
        padding: 130px 0 70px
    }

    .home-bio img {
        padding-bottom: 10px;
        padding-top: 20px
    }

    .home-bio:last-of-type {
        padding-bottom: 50px
    }
}

@media(max-width:576px) {
    h2 {
        margin-top: 10px
    }

    .navbar-nav {
        padding-left: 0
    }

    .btn-outline-primary {
        margin: 10px 0
    }

    .intro {
        font-size: 1.2em;
        padding-top: 90px;
        min-height: 411px;
        background-position: 100px -17px
    }

    .home-life {
        padding: 20px 3px 0
    }

    .home-speaking .container {
        padding: 0 14px
    }

    .home-speaking .cta .btn-outline-primary {
        font-size: .8em;
        font-weight: 600;
        padding: 10px 20px
    }

    .home-bio {
        padding: 0
    }

    .home-bio .col-3,
    .home-bio .col-9 {
        max-width: 100%;
        flex: auto
    }

    .home-bio .col-3 {
        text-align: center;
        padding-bottom: 50px
    }

    .embed-responsive {
        margin-bottom: 10px;
        margin-top: 10px
    }

    .col-sm-3 .card {
        margin: auto;
        min-height: 166px;
        max-width: 80%
    }

    .col-sm-3 .card .card-img-top {
        width: 80%;
        margin: auto
    }
}