/* --- EMBEDDED CONTENT --- */
.embed {
    overflow: hidden;
    position: relative;
    height: 0;
}
.embed__item,
.embed .lazy-element,
.embed iframe,
.embed embed,
.embed object,
.embed video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}



/* --- ASPECT RATIOS --- */
.ratio-wide,
.ratio-normal,
.ratio-narrow,
.ratio-square,
.ratio-portrait {
    display: block;
    position: relative;
    height: 0;
}
.ratio-wide {
    /* 21 : 9 */
    padding-bottom: 42.85%;
}
.ratio-normal {
    /* 16 : 9 */
    padding-bottom: 56.25%;
}
.ratio-narrow {
    /* 4 : 3 */
    padding-bottom: 75%;
}
.ratio-square {
    /* 1 : 1 */
    padding-bottom: 100%;
}
.ratio-portrait {
    /* 11 : 16 */
    padding-bottom: 145.454545%;
}



/* --- LISTS --- */
.list-bullets,
.list-checkmarks,
.list-dots,
.list-lines,
.list-no-style {
    padding-left: 0;
    list-style: none;
}
li > .list-bullets,
li > .list-checkmarks {
    margin-top: 1rem;
}
.list-links.list-lines > li,
.list-bullets--larger > li,
.list-checkmarks > li {
    position: relative;
    margin-top: 1.5rem;
    padding-left: 25px;
}
.list-bullets:not(.list-bullets--larger) > li {
    position: relative;
    margin-top: .5rem;
    padding-left: 25px;
}
.list-bullets > li:first-child,
.list-checkmarks > li:first-child {
    margin-top: 0;
}

.list-bullets > .list-bullets {
    margin-top: 5px;
    padding-left: 25px;
}

/* lines */
.list-lines > li {
    padding: 15px 0;
    border-top: 1px solid #D0D0CF;
}
.list-lines > li:first-child {
    padding-top: 0;
    border-top: 0;
}

/* bullets */
.list-bullets > li::before {
    content: '•';
    color: #E63312;
    position: absolute;
    left: 0;
}

/* links */
.list-links.list-lines > li {
    color: #0055FF;
    margin-top: 0;
}
.list-links > li::before {
    content: '\e80a';
    font-size: .75rem;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    position: absolute;
    left: 0;
    margin-top: 4px;
    color: #0055FF;
}

/* dots */
.list-dots {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
}
.list-dots > li {
    position: relative;
    padding: 2px 0 2px 30px;
    left: -30px;
}
.list-dots > li::before {
    content: '•';
    position: absolute;
    left: 15px;
    font-size: 1em;
    transform: translateX(-50%);
}

/* checkmarks */
.list-checkmarks > li::before {
    content: '\e806';
    position: absolute;
    top: 2px;
    left: 0;
    font-family: fontello, sans-serif;
    font-size: 0.8em;
}

/* no-style */
.list-no-style li {
    margin-top: 0.75rem;
}



/* --- TABLES --- */

/* responsive table wrapper */
.table-wrap {
    position: relative;
    overflow-x: auto;
    min-height: 0.01%;
}

/* default table */
.table--default {
    width: 100%;
    border-collapse: collapse;
}
.table--default th,
.table--default td {
    padding: 0.75rem;
}
.table--default th,
.table--default td {
    border-bottom: 1px solid #D0D0CF;
}
.table--default thead th {
    font-weight: 500;
    border-bottom: 2px solid #D0D0CF;
    color: #918472;
}
.table--default tr:last-child th,
.table--default tr:last-child td {
    border-bottom: 0;
}



/* --- TABS --- */

/* Tab navigation */
.tabs__nav {
    display: flex;
    justify-content: flex-start;
    overflow: hidden;
    padding: 0;
    list-style: none;
}
.tabs__nav-item {
    padding: 4px 15px 6px 15px;
    border-bottom: 0;
    cursor: pointer;
}
.tabs__nav-item--active {
    position: relative;
    font-weight: bold;
}

/* Tab content */
.tabs__content {
    display: none;
}
.tabs__content--active {
    display: block;
}



/* --- LINES --- */
.line-before,
.line-after {
    position: relative;
}
.line-before::before,
.line-after::after {
    content: '';
    position: absolute;
    right: 0;
    left: 0;
    height: 1px;
    background: #CFC8BF;
}
.line-before::before {
    bottom: calc(100% - 1px);
}
.line-after::after {
    top: calc(100% - 1px);
}
.line-indent::before,
.line-indent::after {
    right: 20px;
    left: 20px;
}
.line-extend::before,
.line-extend::after {
    right: -20px;
    left: -20px;
}
.bg-1 .line-before::before,
.bg-1 .line-after::after {
    height: 1px;
    background: rgba(255,255,255,0.5);
}
.bg-2 .line-before::before,
.bg-2 .line-after::after {
    height: 1px;
    background: rgba(255,255,255,0.5);
}



/* --- GRADIENTS --- */
.gradient-1,
.gradient-2 {
    position: relative;
}
.gradient-1::after {
    content: '';
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    height: 40px;
    background: linear-gradient(to bottom, rgba(207,200,191,0) 0%, rgba(207,200,191,1) 100%);
}



/* --- BOXES --- */
.box-1,
.box-2,
.box-3 {
    overflow: hidden;
    border-radius: 4px;
    background: #FFF;
}
.box-1 {
    border-bottom: 4px solid #DD042B;
}
.box-2 {
    border: 1px solid #E6DED4;
    box-shadow: 0 4px 4px -2px rgba(207,200,191,0.5);
}
.box-3 {
    border: 1px solid rgba(89, 76, 58, 0.2);
    border-bottom: 4px solid #DD042B;
    box-shadow: 0 4px 4px -2px rgba(207,200,191,0.5);
}



/* --- CARDS --- */
.card {
    margin-top: 1px;
    padding: 20px 12px;
    border-bottom: 1px solid #CFC8BF;
    background: #FFF;
}
.card:first-child {
    margin-top: 0;
}



/* --- MISC --- */
.img-mask img {
    border-radius: 50%;
}
blockquote {
    font-style: italic;
    color: #153D8A;
    border-left: 3px solid #e63312;
    padding-left: 20px;
}
blockquote p:first-child:before {
    content: '»';
}
blockquote p:last-child:after {
    content: '«';
}


/* ==========================================================================
   Media Queries
   ========================================================================== */

/* --- PHONE (SM) --- */
@media ( min-width: 576px ) {



}



/* --- TABLET (MD) --- */
@media ( min-width: 768px ) {

    /* --- ASPECT RATIOS --- */
    .ratio-md-wide {
        /* 21 : 9 */
        padding-bottom: 42.85%;
    }
    .ratio-md-normal {
        /* 16 : 9 */
        padding-bottom: 56.25%;
    }
    .ratio-md-narrow {
        /* 4 : 3 */
        padding-bottom: 75%;
    }
    .ratio-md-square {
        /* 1 : 1 */
        padding-bottom: 100%;
    }
    .ratio-md-portrait {
        /* 11 : 16 */
        padding-bottom: 145.454545%;
    }


    blockquote {
        position: relative;
        font-style: italic;
        font-size: 1.25rem;
    }


    /* --- LINES --- */
    .line-sm::before,
    .line-sm::after {
        display: none;
    }
}



/* --- DESKTOP (LG) --- */
@media ( min-width: 992px ) {

    /* --- ASPECT RATIOS --- */
    .ratio-lg-wide {
        /* 21 : 9 */
        padding-bottom: 42.85%;
    }
    .ratio-lg-normal {
        /* 16 : 9 */
        padding-bottom: 56.25%;
    }
    .ratio-lg-narrow {
        /* 4 : 3 */
        padding-bottom: 75%;
    }
    .ratio-lg-square {
        /* 1 : 1 */
        padding-bottom: 100%;
    }
    .ratio-lg-portrait {
        /* 11 : 16 */
        padding-bottom: 145.454545%;
    }



    /* --- TABLES --- */

    /* default table */
    .table--default thead th {
        font-size: 12px;
    }



    /* --- LINES --- */
    .line-md::before,
    .line-md::after {
        display: none;
    }



    /* --- CARDS --- */
    .card {
        padding: 24px 20px;
    }


    /* --- MISC --- */
    blockquote {
        padding-left: 35px;
    }
}



/* --- DESKTOP (XL) --- */
@media ( min-width: 1200px ) {


    /* --- MISC --- */
    blockquote {
        padding-left: 50px;
    }

    .ratio-xl-normal {
        /* 16 : 9 */
        padding-bottom: 56.25%;
    }
    .ratio-xl-wide {
        /* 21 : 9 */
        padding-bottom: 42.85%;
    }
}



/* --- DESKTOP (XXL) --- */
@media ( min-width: 1440px ) {

    /* --- TABLES --- */

    /* default table */
    .table--default thead th {
        font-size: 15px;
    }



    /* --- LISTS --- */

    /* dots */
    .list-dots > li {
        left: -40px;
        padding-left: 40px;
    }
    .list-dots > li::before {
        left: 20px;
    }

}
