/*
    Typography
    - all font sizes are in here for collective adjustment
 */

body {
    font-family: 'Montserrat', Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 300;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: #e31e36;
}

/*
    Font sizes ascending
    Example grouped naming conventions (slight variations on similar sizes):
    xs, xsp, etc:   extra small, extra small plus
    sm, sl, etc:    small medium, small large, etc;
    ms, etc:        medium small, etc;
    etc
 */
.xs
{
    font-size: 11.5px;
}

.xsp,
p.btn a, 
a.btn,
p.btn span
{
    font-size: 12.5px;
}

.s
{
    font-size: 16px;
    font-size: 13.6px;
}

.sm
{
    font-size: 17.5px;
    font-size: 14.875px;
}

.body {
    font-size: 16px;
}

.sl
{
    font-size: 17px;
}

.slp
{
    font-size: 20px;
}

.slpp
{
    font-size: 22px;
}

.ms
{
    font-size: 32px;
    font-size: 26px;
}

.red-heading h2,
.m
{
    font-size: 41.5px;
    font-size: 35.275px;
}

.l
{
    font-size: 59.5px;
    font-size: 42.5px;
}

.center {
    text-align: center;
}

@media only screen and (max-width: 680px) {
    .l
    {
        font-size: 1.8rem;
    }

    .m 
    {
        font-size: 1.2rem;
    }

    .slpp,
    .ms 
    {
        font-size: 1.1rem;
    }

    .sm {
        font-size: 0.8rem;
    }

    .xsp {
        font-size: 0.7rem;
    }
}

/*
    Buttons
 */
.btn, 
.btn-toolbar input 
{
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 1px;
}

    p.btn
    {
        margin: 40px 0;
    }

    p.btn a, 
    a.btn,
    .btn-toolbar input,
    p.btn span
    {
        box-sizing: border-box;
        display: inline-block;
        text-decoration: none;
        border: 1px solid #3c3c3c; 
        color: #3c3c3c;
        padding: 15px 25px;
        padding: 15px 45px;
        border-radius: 30px;
    }

    p.btn a:hover,
    a.btn:hover,
    .btn-toolbar input:hover
    {
        transition: all 0.5s;
        background: #3c3c3c;
        color: white;
    }

    /*
        Inverted buttons
     */
    .inverted p.btn a,
    .inverted a.btn,
    .inverted p.btn span
    {
        color: white;
        border-color: white;
    }

    .inverted p.btn:not('.white') a:hover,
    .inverted a.btn:not('.white'):hover 
    {
        background: white !important;
        color: black !important;
    }

    /*
        Red buttons
     */
    p.btn.red a, a.btn.red, p.btn.red span {
        background: #e31e36;
        color: white !important;
        border: none;
    }

        p.btn.red a:hover, a.btn.red:hover {
            background: black;
            color: white;
        }

        p.btn.red.outline a, a.btn.red.outline {
            border: 1px solid #e31e36; 
            color: #e31e36;
            background: transparent;
        }

        p.btn.red.outline a:hover, a.btn.red.outline:hover {
            background: #e31e36;
            color: white;
        }


    p.btn.white a, a.btn.white, p.btn.white span {
        background: white;
        color: black;
    }

        p.btn.white a:hover, a.btn.white:hover {
            background: inherit;
            color: white;
        }

    /*
        Purple buttons
     */
    p.btn.purple a, a.btn.purple, p.btn.purple span {
        background: #6c2c91;
        color: white;
        border: none;
    }

        p.btn.purple a:hover, a.btn.purple:hover {
            background: black;
            color: white;
        }

        p.btn.purple.outline a, a.btn.purple.outline {
            border: 1px solid #6c2c91; 
            color: #6c2c91;
            background: transparent;
        }

        p.btn.purple.outline a:hover, a.btn.purple.outline:hover {
            background: #6c2c91;
            color: white;
        }

    /*
        Red buttons
     */
    p.btn.yellow a, a.btn.yellow, p.btn.yellow span {
        background: #ffc628;
        color: black;
        border: none;
    }

        p.btn.yellow a:hover, a.btn.yellow:hover {
            background: black;
            color: white;
        }

        p.btn.yellow.outline a, a.btn.yellow.outline {
            border: 1px solid #ffc628; 
            color: #ffc628;
            background: transparent;
        }

        p.btn.yellow.outline a:hover, a.btn.yellow.outline:hover {
            background: #ffc628;
            color: white;
        }

    /*
        Rounded buttons
     */
    p.btn.rounded a, a.btn.rounded, p.btn.rounded span
    {
        padding: 15px 45px;
        border-radius: 30px;
    }

    /*
        Center aligned buttons
     */
    p.btn.center
    {
        text-align: center;
    }

    @media only screen and (max-width: 680px) {
        
        p.btn a, 
        a.btn,
        .btn-toolbar input{
            padding: 9px 15px;
            font-size: 0.7rem;
        }
    }

/* 
    Responsive sizes
*/

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

    .l {
        font-size: 40px;
    }
}

/*
    Font weights ascending
   
    MONTSERRAT
    Thin:           100;
    Extra-Light:    200;
    Light:          300;
    Regular:        400;
    Medium:         500;
    Semi-Bold:      600;
    Bold:           700;
    Extra-Bold:     800;
    Black:          900;
 */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.1;
    font-weight: normal;
}

.light
{
    font-weight: 300;
}

.regular
{
    font-weight: 400;
}

.medium
{
    font-weight: 500;
}

.semi-bold,
h2,
h4,
h5
{
    font-weight: 600;
}

h5 {
    margin: 40px 0 30px 0;
    font-size: 1rem;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.bold {
    font-weight: 700;
}

blockquote {
    border-top: 1px solid #6c2c91;
    border-bottom: 1px solid #6c2c91;
    display: block;
    margin: 30px 0;
    padding: 30px 0;
    font-size: 20px;
    font-weight: 500;
}

    blockquote p {
        margin: 0px;
        color: #6c2c91;
    }

    blockquote.no-border {
        margin: 0px;
        padding: 20px 0;
        border: none;
        font-weight: inherit;
    }

ul.line,
ul.result-list,
ul.accordion {
    list-style-type: none;
    margin: 0;
    padding: 0;  
}

ul.line li {
    padding: 16px 0;
    border-top: 1px solid #3c3c3c;
}

    ul.line li:first-of-type {
        border-top: none;
    }

ul.bullet {
    margin-left: 25px;
}
    ul.bullet li
    {
        margin: 10px 0;
        padding: 0px;
        border-top: 0;
        list-style-type: disc;
    }

ul.result-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

    ul.result-list li {
        margin: 40px 0;
    }

    ul.result-list li a {
        text-decoration: none;
        display: block;
        margin-bottom: 5px;
    }

    ul.result-list li a:hover h2 {
        text-decoration: underline;
    }

    ul.result-list li h2 {
        font-weight: 400;
        margin: 0;
        font-size: 1.2rem;
    }

    ul.result-list li span {
        color: #6c2c91;
        display: block;
        font-size: 1rem;
        font-weight: 400;
        margin: 5px 0 10px 0;
    }

    ul.result-list p {
        margin: 0px;
    }


ul.accordion {
    margin: 40px 0 0 0;
    padding: 0px;
    list-style-type: none;
    border-top: 1px solid #ccc;
}

    ul.accordion li {
        padding: 10px 60px 10px 0;
        border-bottom: 1px solid #ccc;
        position: relative;
    }

    ul.accordion h3 {
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.6;
        display: block;
    }

/* Image styles that will also be used by the WSIWYG */
img.left {
    float: left;
    margin: 0 20px 10px 0;
}

img.right {
    float: right;
    margin: 0 0 10px 20px;
}