/***
*  DISPLAY HELPER CLASSES
***/
.element-hidden{
  display:none !important;
}
.rel-wrapper{
  position:relative;
  width:100%;
  height:100%;
}
/***
*   ALIGNMENT HELPER CLASSES
***/
.right-align{
  text-align: right;
}
.center-align{
    text-align:center;
}
.left-align{
    text-align:left;
}
.middle-align{
    vertical-align:middle !important;
}
/*Primarily added for the overriding vertical alignment of images in a row*/

.vertical-middle{
  position:absolute;
  width:100%;
  top:50%;
  text-align:center;
  transform:translate(0%,-50%);
  -webkit-transform:translate(0%,-50%);
  -moz-transform:translate(0%,-50%);
  -ms-transform:translate(0%,-50%);
  -o-transform:translate(0%,-50%);
}
/***
*   MARGIN HELPER CLASSES
***/
.margin-right{
    margin-right:1%;
}
.margin-right-3{
    margin-right:3%;
}
.margin-right-5{
    margin-right:5%;
}
.margin-left{
    margin-left:1%;
}
.margin-left-3{
    margin-left:3%;
}
.margin-left-5{
    margin-left:5%;
}
.margin-left{
    margin-left:1%;
}
.margin-top{
    margin-top:1%;
}
.margin-top-3{
  margin-top:3%;
}
.margin-top-5{
  margin-top:5%;
}
.margin-bottom{
    margin-bottom:1%;
}
.margin-bottom-3{
    margin-bottom:3%;
}
.margin-bottom-5{
    margin-bottom:5%;
}
.full-margin{
    margin:1%;
}
.no-right-margin{
  margin-right:0;
}
.no-left-margin{
    margin-left:0;
}
.no-top-margin{
    margin-top:0;
}
.no-bottom-margin{
    margin-bottom:0;
}
.no-margin{
    margin:0;
}

/***
*   END MARGINS
***/


/***
*   PADDING
***/

.padding-left {
    padding-left: 10%;
}
.left-indent {
    padding-left: 30px;
}

/***
*   END PADDING
***/


/***
*   BORDER HELPER CLASSES
***/
.border-left{
  border-left:1px solid rgba(40,40,40,.15);
}
.border-right{
  border-right:1px solid rgba(40,40,40,.15);
}
.border-top{
  border-top:1px solid rgba(40,40,40,.15);
}
.border-bottom{
  border-bottom:1px solid rgba(40,40,40,.15);
}
.no-border{
  border:none;
}



/***
*   BLOCKQUOTE STYLING
***/

blockquote{
  border-left: 3px solid #C8102E;
  padding-left: 1.5%;
  font-style:italic;
}

@media screen and (max-width: 600px){
blockquote{
  padding-left: 2.5% !important;
  margin:5%;
  }
}

/***
*   END BLOCKQUOTE STYLING
***/




/***
*   DIV SIZE HELPER CLASSES
***/
.inline{
    display:inline-block;
    vertical-align:top;
}
.inline-flex{
    display: inline-flex;
    -ms-flex-direction: column;
    flex-direction: column;
}
.full-width{
  width:99%;
}
.fifth-width{
  width:19%;
}
.fifth-width.margin-right, .quarter-width.margin-left{
  width:18%;
}
.fifth-width.full-margin{
  width:17%;
}
.four-fifths-width{
  width:79%;
}
.four-fifths-width.margin-right, .quarter-width.margin-left{
  width:78%;
}
.four-fifths-width.full-margin{
  width:77%;
}


.quarter-width{
  width:24%;
}
.quarter-width.margin-right, .quarter-width.margin-left{
  width:23%;
}
.quarter-width.full-margin{
  width:22%;
}

.three-quarters-width{
  width:74%;
}
.three-quarters-width.margin-right, .quarter-width.margin-left{
  width:73%;
}
.three-quarters-width.full-margin{
  width:72%;
}

.third-width{
  width:32%;
}


.third-width.margin-right, .third-width.margin-left{
  width:31%;
}
.third-width.full-margin{
  width:30%;
}
.half-width{
    width:49%;
}

.half-width.margin-right, .half-width.margin-left{
    width:48%;
}
.half-width.full-margin{
    width:47%;
}
.two-thirds-width{
  width:65%;
}

.two-thirds-width.margin-right, .two-thirds-width.margin-left{
  width:64%;
}
.two-thirds-width.full-margin{
  width:63%;
}

/***
    IMAGE HELPER CLASSES
***/
 .float-img-left {
	 float: left;
	 margin: 0 2% 2% 0;
}
 .float-img-right{
	 float:right;
	 margin:0 2% 2% 0;
}
 .clearfix::after {
	 content: "";
	 clear: both;
	 display: table;
}

@media only screen and (max-width: 768px) {
  .half-width, .third-width, .two-thirds-width, .quarter-width { width:100% !important;}
}
/***
*   SCREEN HELPER CLASSES
***/
.dark-screen, .light-screen, .red-screen{
  position: absolute;
  top: 0%;
  left: 0;
  width: 100%;
  height: 100%;
  opacity:0;
  transition: opacity .5s;
  -webkit-transition: opacity .5s;
  -moz-transition: opacity .5s;
  -o-transition: opacity .5s;
  -ms-transition: opacity .5s;
}
.dark-screen.opaque, .light-screen.opaque{
  opacity:1;
}
.dark-screen{
  background-color: rgba(40, 40, 40, .4);
}
.light-screen{
    background-color: rgba(251, 251, 251, .95);
}

/****
*    BUTTONS
***/
.button-wrapper {
    position: relative;
}
.button, .button:active {
    display: inline-block;
    border: 1px solid;
    padding: 15px 35px;
    font-family: 'Raleway', sans-serif;
    text-decoration: none;
    margin:10px;
    transition: all .25s;
    -webkit-transition: all .25s;
    -moz-transition: all .25s;
    -o-transition: all .25s;
}
.button.blue {
    background-color: #1a79af;
    color: #fff;
    border-color:#1a79af;
    
}
.button.blue:hover{
  background-color:#C8102E;
  border-color:#C8102E;
  color: #ffffff;
}
.button.red, .button.cta {
    background-color:#C8102E;
    color:#fff;
    border-color:#C8102E;
}
.button.red:hover, .button.cta:hover{
    background-color:#fff;
    color:#C8102E;
}
.button.red-white{
    background-color:#C8102E;
    color:#fff;
    border-color:#fff;
}
.button.red-white:hover{
    background-color:#fff;
    color:#C8102E;
}

.button.anchor-button {
    background-color: #fff;
    border-color: rgba(40,40,40,.15);
}
.button.anchor-button:hover {
    border-color: #C8102E;
    color: #1a79af;
    background-color: #C8102E;
}
.button.skip-link {
    margin:2px 0;
}
.close-button {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 3em;
    color: #1a79af;
    z-index: 103;
    transition: color .25s;
    -webkit-transition: color .25s;
    -moz-transition: color .25s;
    -o-transition: color .25s;
    -ms-transition: color .25s;
}
.close-button:hover{
  color:#C8102E;
  cursor:pointer;
}
/***
*   FONT FORMATTING
***/
.font-bold{
  font-weight:600;
}
.font-italic{
  font-style:italic;
}
.font-underline{
    text-decoration: underline;
}
.font-title{
  font-family: 'Raleway', sans-serif;
}
.font-xsmall{
  font-size:.6em !important;
}
.font-small{
  font-size:.8em !important;
}
.font-large{
  font-size:1.2em !important;
}
.font-xlarge{
  font-size:1.4em !important;
}
.font-red {
    color: #C8102E !important;
}
.font-blue{
    color:#1a79af !important;
}
.font-white{
    color:#ffffff !important;
}
/***
*   VIDEO
***/
.video-wrapper, .subject-video-wrapper, .section-video-wrapper {
  position: relative;
  margin: auto;
  width: 90%;
  height: 0;
  padding-bottom: 41.25%;
}
.video-wrapper iframe, .subject-video-wrapper iframe, .section-video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border:none;
}


/***MOBILE IN PORTRAIT**/
@media
/***iPhone X***/
only screen
and (min-device-width : 375px)
and (max-device-width : 812px)
and (-webkit-device-pixel-ratio : 3)
and (orientation:portrait),
/***iPhone 5s***/
only screen
and (min-device-width : 320px)
and (max-device-width : 568px),
/***iPhone 6, 7, 8***/
only screen
and (min-device-width : 375px)
and (max-device-width : 667px)
and (-webkit-min-device-pixel-ratio: 2)
and (orientation:portrait),
/***iPhone Plus***/
only screen
and (min-device-width : 414px)
and (max-device-width : 736px)
and (orientation:portrait),
/***Galaxy S4, S5, and Note 3**/
only screen
  and (device-width: 320px)
  and (device-height: 640px)
  and (-webkit-device-pixel-ratio: 3)
  and (orientation:portrait),
/***Galaxy S6***/
only screen
  and (device-width: 360px)
  and (device-height: 640px)
  and (-webkit-device-pixel-ratio: 4)
  and (orientation:portrait),
/***Galaxy S7 & S8***/
only screen
and (min-device-width : 360px)
and (max-device-width : 640px)
and (orientation:portrait),
/***Pixel***/
only screen
  and (device-width: 360px)
  and (device-height: 640px)
  and (-webkit-device-pixel-ratio: 3)
  and (orientation:portrait),
/***Pixel XL***/
only screen
  and (device-width: 360px)
  and (device-height: 640px)
  and (-webkit-device-pixel-ratio: 4)
  and (orientation:portrait){
    .button{
      text-align: center;
    }
    .half-width, .third-width, .two-thirds-width, .quarter-width {
		 width:100% !important;
	}
    .half-width.full-margin {
      width: 100%;
      margin: 2% 0;
    }
    .button-wrapper.right-align {
        text-align: center;
    }
    .button, .button.skip-link{
      padding: 20px 0;
      text-align: center;
      margin: 5px 0;
    }
    .button{
      width:100%;
    }
    .button.skip-link{
      width:90%;
    }
  }

 @media screen and (max-width:800px){
	 .video-wrapper {
		 padding: 56.25% 0 0 0; position: relative;
	}
}