/*=======================================
           TYPOGRAPHY - GLOBAL
=========================================*/

/*  TYPOGRAPHY SETTINGS  */

/* GLOBAL */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
}

/* Sets the base font-size at 16px. All subsequent rem values are relative to this. */
html {background: #ffffff; font-size: 16px;}


/* Sets the base font-size at 16px. All subsequent em values are relative to this. */
body {
    background-color: transparent;
    font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
    line-height: 1.6180339887498948482;
    font-weight: normal;
    font-style: normal;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    color: #1B2B44;
    font-size: 16px;
    background-color: #ffffff;
}

i, em, cite, dfn {
  font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important !important;
  font-style: oblique;
}

b, strong {
  font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
  font-weight: normal;
  font-style: normal;
}

b i, strong i, b em, strong em {
  font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
  font-weight: normal;
  font-style: normal;
}

.inline > * {
    display: inline-block;
    vertical-align: middle;
}

.material-icons {font-size: 1.5em; vertical-align: middle; margin: 0 0.25em;}

/* define hover state color */
a:link, a:visited, a:active {color: inherit; text-decoration:none; border: 0; outline: none;}

.text-left {text-align:left;}

.text-right {text-align:right;}

.text-centered {text-align: center;}

.text-uppercase {text-transform: uppercase;}

.text-lowercase {text-transform: lowercase;}

.text-capitalize {text-transform: capitalize;}

.all-white {color: #ffffff !important;}

h1, h2, h3, h4, h5, h6 {
    font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    line-height: 1.1 !important;
    font-weight: 500;
    color: #1B2B44;
    margin-bottom: 0.7em;
    letter-spacing: 1.25px;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -webkit-transition: color .15s ease;
    -moz-transition: color .15s ease;
    -ms-transition: color .15s ease;
    -o-transition: color .15s ease;
    transition: color .15s ease;
}

h1 i, h2 i, h3 i, h4 i, h5 i, h6 i, h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
    font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
    font-style: italic;
}

h1 b, h2 b, h3 b, h4 b, h5 b, h6 b {
    font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
    font-weight: 700;
}

h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong {
    font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
    font-weight: 800;
}

h1 b i, h2 b i, h3 b i, h4 b i, h5 b i, h6 b i, h1 b em, h2 b em, h3 b em, h4 b em, h5 b em, h6 b em, h1 strong i, h2 strong i, h3 strong i, h4 strong i, h5 strong i, h6 strong i, h1 strong em, h2 strong em, h3 strong em, h4 strong em, h5 strong em, h6 strong em {
    font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
    font-weight: 700;
    font-style: italic;
}

h1 {
    font-size: 2.75em;
    font-size: calc(2.75em + 16 * ((100vw - 661px) / 1339));
}

h2 {
    font-size: 2em;
    font-size: calc(2em + 16 * ((100vw - 661px) / 1339));
}

h3 {
    font-size: 1.6875em;
    font-size: calc(1.6875em + 16 * ((100vw - 661px) / 1339));
}

h4 {
    font-size: 1.4375em;
    font-size: calc(1.4375em + 16 * ((100vw - 661px) / 1339));
}

h5 {
    font-size: 1.125em;;
    font-size: calc(1.125em + 16 * ((100vw - 661px) / 1339));
}

h6 {
    font-size: 1em;;
    font-size: calc(1em + 16 * ((100vw - 661px) / 1339));
}

p {
  font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
  color: #545454;
  font-size: 1em;
  font-size: calc(1em + 6 * ((100vw - 661px) / 1339));
  line-height: 1.6180339887498948482;
  margin-bottom: 1.6180339887498948482em;
  letter-spacing: 0.005em;
  font-weight: 400;
}

p b {
  font-weight: 600;
}

p strong {
  font-weight: 800;
}

q {display: inline;}

q:before {content: open-quote;}

q:after {content: close-quote;}

figcaption {
    font-size: .75em;
    color: #545454;
}

.large {
    font-size: 1.15em;
    font-size: calc(1.15em + 16 * ((100vw - 661px) / 1339));
}

.small {
    font-size: 0.75em;
    font-size: calc(0.75em + 16 * ((100vw - 661px) / 1339));
}

.smaller {font-size: 85%;}

.no-bottom-margin, .no-bottom-margin > * {margin-bottom: 0 !important;}

.thin-bottom-margin, .thin-bottom-margin > * {margin-bottom: 0.25em !important;}

.force-bottom-margin {margin-bottom: 1.6180339887498948482em !important;}

.half-bottom-margin {margin-bottom: 0.46875em !important;}

.force-large-bottom-margin {margin-bottom: 2.5em !important;}

.force-huge-bottom-margin {margin-bottom: 8.125em !important;}

.pad360 {padding: 0.9375rem !important;}

.force-lr-pad {padding-left: 0.9375rem !important; padding-right: 0.9375rem !important;}

.lr-half-pad {padding-left: 0.46875rem !important; padding-right: 0.46875rem !important;}

.half-pad {padding-left: 0.46875em !important; padding-right: 0.46875em !important;}

.lr-slim-pad {padding-left: 0.3125rem !important; padding-right: 0.3125rem !important;}

.fat-pad {padding: 3.5em 2.5em !important;}

.no-lr-pad {padding-left: 0 !important; padding-right: 0 !important;}

.no-moat {padding: 0em !important; margin: 0em !important;}

.no-pad {padding: 0em !important;}

.no-margin {margin: 0em !important;}

.no-height, .squashed {height: 0 !important; padding: 0 !important; margin: 0 !important;}

.thin {font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;}

blockquote, .quote {
  position: relative;
  font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
  color: #1B2B44;
  font-size: 1.6875em;
  font-size: calc(1.6875em + 16 * ((100vw - 661px) / 1339));
  margin: 1.5em 0;
}

blockquote::before {
    background: url(../img/open_quotes.svg) 0px 0px / contain no-repeat;
    content: " ";
    position: absolute;
    z-index: 0;
    width: 1.5em;
    height: 1.5em;
    left: 0;
    top: -1em;
}

blockquote::after {
    background: url(../img/close_quotes.svg) 0px 0px / contain no-repeat;
    content: " ";
    position: absolute;
    z-index: 0;
    width: 1.5em;
    height: 1.5em;
    right: 8px;
    bottom: -1.25em;
}

blockquote + p.attribution {
    color: #3079A1;
    width: calc(100% - 3em);
    margin-top: calc(-2.3125em + 16 * ((100vw - 661px) / 1339));
}

blockquote p, .quote p {margin-bottom: 0em;}

address {
  font-family: poppins, Verdana, Arial, Helvetica, sans-serif !important;
  color: #686765;
  line-height: 1.45;
  margin-bottom: 1.6180339887498948482em;
  letter-spacing: 0.005em;
}

*::selection, .highlight {background-color: #ED1C24; color: #192942;}

.disabled {pointer-events: none; opacity: 0.5;}

.punch {
    color: #ED1C24;
}

a:link, a:visited, a:active {
    color: #ED1C24;
}


/*=======================================
               BREAKPOINTS
=========================================*/

/* 768px and above – Desktop */
@media only screen and (min-width: 769px) {

  /*****/

}

/* 768px and below – Mobile */
@media only screen and (min-width: 10px) and (max-width: 768px) {

    h1 {font-size: 2.75em;}

    h2 {font-size: 2em;}

    h3 {font-size: 1.6875em;}

    h4 {font-size: 1.4375em;}

    h5 {font-size: 1.25em;}

    h6 {font-size: 1.125em;}

    p {font-size: 1em;}

}

/*=======================================
         END TYPOGRAPHY - GLOBAL
=========================================*/