/*
 * -------------------- \\
 * Variables
 * -------------------- //
*/

html {
    --color--neon: #DEF991;
    --color--purple: #994497;
    --color--dark: #191919;
}

/*
 * -------------------- \\
 * Typography
 * -------------------- //
*/

body {
    font-family: "Barlow", sans-serif;
}

h1, h2, h3, p, li {
    width: 100%;
}

@media screen and (min-width: 767px) {
    
    h1 {
        font-size: 11.6vw!important;
    }
    
}

h3 {
    font-size: 1.8rem;
    font-weight: bold;
}

:not(li) > p, :not(.list) > ul > li {
    font-size: 1.1rem;
}

:not(li) > p {
    line-height: 150%!important;
    margin-top :12px;
}

ul {
    padding-left: 1rem;
}

/*
 * -------------------- \\
 * Hero
 * -------------------- //
*/

#tagline mark {
    height: .6em;
    display: inline-block;
    position: relative;
    top: .4em;
}

#tagline mark em {
    position: relative;
    bottom: .4em;
}

@media screen and (min-width: 767px) {
    #tagline {
        font-size: 3.2vw!important;
    }
}

/*
 * -------------------- \\
 * Slideshow
 * -------------------- //
*/

@media screen and (min-width: 767px) {
    
    .slideshow::after {
        display: block;
        content: '';
        width: 100vw;
        height: 150px;
        position: absolute;
        bottom: 0;
        left: calc((100vw - 100%) / 2 * -1);
        background-color: var(--color--dark);
    }

}

/*
 * -------------------- \\
 * Bulletproof Principle
 * -------------------- //
*/

#bulletproofPrinciple h2 {
    display: flex;
    flex-direction: column;
    align-items: start;
}

#bulletproofPrinciple h2 u {
    text-decoration: none;
    display: block;
    position: relative;
    z-index: 1;
}

#bulletproofPrinciple h2 u:before {
    content: '';
    background-color: var(--color--neon);
    width: 90vw;
    height: .5em;
    position: absolute;
    bottom: 0px;
    right: -4px;
    z-index: -1;
}

@media screen and (max-width: 766px) {

    #bulletproofPrinciple blockquote br {
        display: none;
    }

}

/*
 * -------------------- \\
 * Content type teaser section
 * -------------------- //
*/


@media screen and (max-width: 766px) {
    #contentTypesIntro h2 br {
        display: none;
    }
}

/*
 * -------------------- \\
 * Master DB sections
 * -------------------- //
*/

.masterDBsWrap {
    background-image: url('bulletproof-gradient.jpg');
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.masterDBSection {
    display: flex;
    max-width: 1440px;
    text-align: left;
}

.masterDBSection:not(:last-of-type) {
    border-bottom: 1px solid var(--color--dark);
}

.masterDBSection__col {
    width: 50%;
    padding: 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.masterDBSection__col:first-of-type {
    border-right: 1px solid var(--color--dark);
}

.masterDBSection__col img {
    width: 90px;
    display: block;
}

.masterDBSection__col:last-of-type {
    border-left: none;
}

.masterDBSection h3 {
    margin-bottom: 8px;
}

.masterDBSection__col > ul > li {
    position: relative;
    padding-left: 16px;
    margin-top: 8px;
    line-height: 136%;
}

.masterDBSection__col > ul > li:before {
    content: '—';
    position: absolute;
    left: -6px;
    color: var(--color--purple);
}

/* Mobile */
@media screen and (max-width: 766px) {

    .masterDBSection {
        flex-direction: column;
    }

    .masterDBSection__col,
    .masterDBSection__col:first-of-type {
        width: 100%;
        border: none;
    }

    .masterDBSection__iconCol {
        order: 1;
        padding-top: 64px;
        padding-bottom: 0;
    }

    .masterDBSection__col:not(.masterDBSection__iconCol) {
        order: 2;
        padding-top: 0;
        padding-bottom: 78px;
    }

    .masterDBSection__col img {
        width: 56px;
    }

    .masterDBSection h3 {
        text-align: center;
        font-size: 2rem;
        margin: 14px auto 18px;
    }

    .masterDBSection p,
    .masterDBSection ul li {
        font-size: 1.25rem;
    }
    
}