﻿@font-face { font-family: 'holyrood'; src: url('/_fonts/holyrood.woff2') format('woff2'), url('/_fonts/holyrood.woff') format('woff'), url('/_fonts/holyrood.ttf') format('truetype'); font-weight: normal; font-style: normal; }
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

/* = Reset
----------------------------------------------------------------------------------------------------------------- */
html, body, div, span, h1, h2, h3, h4, h5, h6, p, hr, a, a img, font, img, dd, dl, dt, li, ol, ul, blockquote, fieldset, form, label, legend, table, caption, tr, th, td { margin: 0; padding: 0; border: 0; font-size: 100%; }

/* = HTML5 Elements
----------------------------------------------------------------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
audio, canvas, video { display: inline-block; }

html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

/* = Body
----------------------------------------------------------------------------------------------------------------- */
body { font-family: din-2014, sans-serif; font-weight: 400; color: #1f1f1f; font-size: 1em; text-align: left; text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; background: #fff; }

@media screen and (max-width: 480px) {
    body { font-size: .9em; }
}

/* = Icon font
----------------------------------------------------------------------------------------------------------------- */
.ico:before,
.ico:after,
.main-nav ul .liHasChildren > a:after,
.sticky-nav ul .liHasChildren > a:after,
.accordion > h3:after,
.paging > ul > li.next a:after,
.paging > ul > li.prev a:after,
.paging > ul > li.first a:after,
.select:after,
.sub-toggle:after,
.ext a:after,
.lSAction > a:after,
.menu--tw a:before { font-family: "holyrood"; font-style: normal; font-weight: normal; speak: none; display: inline-block; text-decoration: inherit; width: 1em; text-align: center; font-variant: normal; text-transform: none; line-height: 1em; }

.menu--tw a:before,
.ico--tw:before { content: '\f099'; }

.ico--fb:before { content: '\f09a'; }
.ico--tel:before { content: '\e81f'; }
.ico--email:before { content: '\e800'; }
.ico--li:before { content: '\f0e1'; }
.ico--srch:before { content: '\e801'; }
.ico--chevSml:after { content: '\e813'; }
.ico--chevDown:after { content: '\f107'; }
.ico--chevLrg:after { content: '\e80f'; }
.ico--tag:before { content: '\e81c'; }
.ico--cat:before { content: '\e81e'; }
.ico--cal:before { content: '\e80b'; }
.sub-toggle:after { content: '\e818'; }
.ext a:after { content: '\f08e'; padding-left: 10px; text-decoration: none; }
.ico--top:before { content: '\e804'; padding-right:4px; }
.main-nav ul .liHasChildren > a:after,
.sticky-nav ul .liHasChildren > a:after { font-size: 13px; padding: 0 0 4px 5px; vertical-align: middle; color: #666; content: '\e803'; }

/* = Typography
----------------------------------------------------------------------------------------------------------------- */
h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-family: din-2014, sans-serif; font-weight: 700; margin: 0 0 20px; color: #1f1f1f; line-height: normal; }

h1 { font-size: 3.625em; line-height: 1.067em; margin-bottom: 25px; font-family: adobe-garamond-pro, serif; font-weight: 600; }

.template--slim h1,
.template--2col h1 { font-size: 2.5em; }

h2, .h2 { font-size: 1.875em; line-height: 32px; line-height: 1.067em; font-family: adobe-garamond-pro, serif; font-weight: 600; }

.h1Din,
.h2Din { font-size: 1.875em; line-height: 1.3em; font-family: din-2014, sans-serif; font-weight: 600; }

p + .h1Din,
p + .h2Din { margin-top: 26px; }

h2.lined { padding-bottom: 20px; border-bottom: 1px solid #707070; }

h3, .h3 { font-size: 1.25em; }
h4, .h4 { font-size: 1.125em; }
h5, .h5 { font-size: 1em; }
h6, .h6 { font-size: 1em; margin: 0 0 15px; }

.smlDin { font-family: din-2014, sans-serif; font-size: 0.875em; }

p,
.inner-content ul:not(.medObjs),
.inner-content ol,
.eventview ol,
.av-article ol,
.eventview ul:not(.medObjs),
.av-article ul:not(.medObjs) { font-family: adobe-garamond-pro, serif; font-weight: 400; font-size: 1.375em; margin: 0 0 20px; line-height: 1.5em; }

.av-article > ul li > p,
.eventview > ul li > p { font-size: 1em; }


.ico-inline:before { padding-right: 5px; width: 25px; }

.template--2col .right-content .ico--email:before,
.template--slim .container .ico--email:before { font-size: .85em; }

.leader { font-size: 1.625em; }

.red { color: #da1a35; }
a.red:hover { color: #da1a35; }

.adblock-msg p { font-size: 1.125em; font-weight: normal; text-transform: uppercase; }

blockquote { margin: 40px 0 45px; padding-top: 70px; text-align: center; font-size: 1.75em; position: relative; }
p + blockquote { margin-top: 30px; }

blockquote:before { content: '“'; position: absolute; top: 0; left: 0; width: 100%; text-align: center; font-size: 4.75em; font-weight: 700; line-height: 1; font-family: adobe-garamond-pro, serif; color: #e5e5e5; z-index: -1; }
blockquote p { margin: 0; font-size: 1em; line-height: 1.5em; font-family: din-2014, sans-serif; color: #da1a35; }
blockquote cite { font-size: 1em; font-style: normal; margin-top: 15px; display: block; }
blockquote cite { font-size: 0.75em; font-size: .6em; }

.full blockquote { margin-top: 0; margin-bottom: 15px; margin-left: auto; margin-right: auto; max-width: 1000px; font-size: 1.875em; color: #fff; }
.full blockquote:before { color: #da1a35; z-index: 0; /*font-size: 4.25em;*/ }
.full blockquote p { color: #fff; line-height: 1.4em; }
.full blockquote p:last-of-type { margin-bottom: 30px; }
.full blockquote cite { font-size: .6em; font-weight: 700; }
.full blockquote cite small { display: block; margin-top: 10px; font-family: 'Open Sans', sans-serif; font-weight: 400; }

a,
a:hover { color: #1f1f1f; text-decoration: none; }
a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; }

/* Inner content hover styles */
.inner-content a:not(.ico):not(.btn),
.inner-content a:not(.ico):not(.btn),
.av-article > p > a:not(.ico):not(.btn),
.eventview > p > a:not(.ico):not(.btn) { text-decoration:underline; font-weight:600; }

.inner-content a:hover:not(.ico),
.inner-content a:hover:not(.ico),
.av-article > p > a:hover:not(.ico):not(.btn),
.eventview > p > a:hover:not(.ico):not(.btn) { color:#da1a35; }

/* Disable hover styles for these items*/
.inner-content .ni a:not(.ico):not(.btn):after,
.inner-content .whitePapers-list a:not(.ico):not(.btn):after,
.inner-content .nt-seeAll a:not(.ico):after,
.inner-content .downloadView h2 a:not(.ico):after { content: none; }

.lazyload,
.lazyloading { opacity: 0; }
.lazyloaded { opacity: 1; -webkit-transition: opacity .25s; transition: opacity .25s; }

img { vertical-align: bottom; height: auto; -ms-interpolation-mode: bicubic; }


hr { margin: 40px 0; height: 1px; border: 0; border-top: 1px solid #ddd; }
.template--slim hr { margin: 30px 0; }

.template--slim h1 + hr { margin: 25px 0; }

small { font-size: 0.8em; }

p > small { line-height: 1.35em; display: block; }
p > small a,
p > small a:hover { text-decoration: underline; }

address { margin: 0 0 20px; line-height: 1.5em; font-style: normal; }

sub, sup { line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre { margin: 0; }
pre code { font-size: 1.5em; white-space: pre-wrap; }

figure { margin: 0 0 20px; }
figcaption { padding-top: 10px; color: #777; font-size: 0.8em; }

.floatLeft { float: left; }
.floatRight { float: right; }
.hide { display: none; }
.hideText { text-indent: 100%; white-space: nowrap; overflow: hidden; }
.clr { clear: both; }

.textLeft { text-align: left; }
.textCenter { text-align: center; }
.textRight { text-align: right; }

.highlight { color: #da1a35; }
.marked { color: #1f1f1f; background: #ffd542; }
.meta { color: #666; font-style: italic; font-size: 0.9em; margin-bottom: 10px; }

@media screen and (min-width: 1200px) {
    .eventview .h1Din { font-size: 2em; }
}

@media screen and (max-width: 1200px) {
    h1, .template--2col h1, .template--slim h1 { font-size: 38px; }
    .full blockquote { font-size: 1.75em; }
}

@media screen and (max-width: 1080px) {
    .full blockquote { margin-left: 30px; margin-right: 30px; width: auto; }
}

@media screen and (max-width: 750px) {
    p,
    .inner-content ul:not(.medObjs),
    .inner-content ol,
    .eventview ol,
    .av-article ol,
    .eventview ul:not(.medObjs),
    .av-article ul:not(.medObjs) { font-size: 1.313em; }

    .leader { font-size: 1.563em; }

    blockquote,
    .full blockquote { font-size: 1.688em; padding-top: 65px; margin-left: 15px; margin-right: 15px; }

    h1, .template--2col h1, .template--slim h1 { font-size: 36px; margin-bottom: 20px; }

    h3, .h3,
    h4, .h4,
    h5, .h5 { line-height: 1.25em; }
}

@media screen and (max-width: 600px) {
    h1, .template--2col h1, .template--slim h1 { font-size: 34px; }

    p,
    .inner-content ul:not(.medObjs),
    .inner-content ol,
    .eventview ol,
    .av-article ol,
    .eventview ul:not(.medObjs),
    .av-article ul:not(.medObjs) { font-size: 1.25em; }

    .leader { font-size: 1.5em; }

    blockquote { margin: 35px 0 38px; font-size: 1.5em; padding-top: 56px; }
    .full blockquote { font-size: 1.5em; padding-top: 56px; margin-left: 10px; margin-right: 10px; }

    p + blockquote { margin-top: 25px; }
}

@media screen and (max-width: 480px) {
    h1, .template--2col h1, .template--slim h1 { font-size: 32px; }

    p,
    .inner-content ul:not(.medObjs),
    .inner-content ol,
    .eventview ol,
    .av-article ol,
    .eventview ul:not(.medObjs),
    .av-article ul:not(.medObjs) { font-size: 1.35em; }

    blockquote { font-size: 1.6em; }

    blockquote,
    .full blockquote { padding-top: 50px; }

    .full blockquote { margin: 0 0 10px; }

    .template--slim h1 + hr { margin: 20px 0; }
}

@media screen and (max-width: 380px) {
    h1, .template--2col h1, .template--slim h1 { font-size: 30px; }
    h2, .h2, .h2Din, .h1Din { font-size: 1.75em; }
    h2.lined { padding-bottom: 15px; margin-bottom: 15px; }
    h3, .h3 { font-size: 1.2em; }

    p,
    .inner-content ul:not(.medObjs),
    .inner-content ol,
    .eventview ol,
    .av-article ol,
    .eventview ul:not(.medObjs),
    .av-article ul:not(.medObjs) { font-size: 1.3em; }

    blockquote { margin: 30px 0 35px; font-size: 1.538em; padding-top: 48px; }
    .full blockquote { font-size: 1.438em; padding-top: 48px; margin: 0 0 6px; }

    p + blockquote { margin-top: 20px; }
}

@media screen and (max-width: 380px) {
    h1, .template--2col h1, .template--slim h1 { font-size: 28px; }
}

@media screen and (max-width: 340px) {
    h2, .h2, .h2Din, .h1Din { font-size: 1.6em; }
    h3, .h3 { font-size: 1.1em; }

    blockquote { font-size: 1.438em; }
}

/* = Flex
----------------------------------------------------------------------------------------------------------------- */
.flx { display: -ms-flexbox; display: -webkit-flex; display: flex; }
.flx-inl { display: -ms-inline-flexbox; display: -webkit-inline-flex; display: inline-flex; }
.flx--col { -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; }
.flx--jc { -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
.flx--ac { -webkit-align-content: center; -ms-flex-line-pack: center; align-content: center; }
.flx--ai { -webkit-align-items: center; -ms-flex-align: center; align-items: center; }
.flx--wr { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.flx--noSh { -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; }

/* = Buttons
----------------------------------------------------------------------------------------------------------------- */
.btn { display: inline-block; margin: 0; padding: 11px 18px 9px; line-height: 1.5em; color: #fff; font-family: din-2014, sans-serif; font-size: 11px; font-size: 0.688rem; letter-spacing: 0.069em; font-weight: 700; text-transform: uppercase; outline: none; cursor: pointer; border: none; background: #DA1A35; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; -webkit-transition: background .3s ease, color .3s ease; transition: background .2s ease, color .2s ease; }

.btn--small { padding: 5px 10px 3px; }

.btn--yellow { color: #1f1f1f; background: #ffd542; }
.btn--yellow:hover { color: #1f1f1f; }

.btn--fullCentered { width:100%; text-align: center; }

input.btn { font-size: 11px; font-size: 0.688rem; line-height: 1.5em; }

.btn--form,
input.btn--form { padding: 11px 20px 10px; font-size: 13px; font-size: 0.813rem; }

.btn--med,
input.btn--med { padding: 14px 24px 13px; font-size: 13px; font-size: 0.813rem; }

.btn:hover,
.btn:focus,
.btn:active { color: #fff; background: #2F2F2F; }

.ev-box .btn:hover,
.ev-box .btn:focus,
.ev-box .btn:active { color: #fff; background: #da1a35; }

.hdr-searchBar .btn:hover,
.hdr-searchBar .btn:focus,
.hdr-searchBar .btn:active,
.ftr-subs .btn:hover,
.ftr-subs .btn:focus,
.ftr-subs .btn:active { color: #fff; background: #da1a35; }

.stickyOn .hdr-searchBar .btn:hover,
.stickyOn .hdr-searchBar .btn:focus,
.stickyOn .hdr-searchBar .btn:active { background: #1f1f1f; }

@media screen and (max-width: 480px) {
    .btn--form,
    input.btn--form { padding: 9px 20px 9px; }
}

@media screen and (max-width: 380px) {
    .btn--small { padding: 5px 10px 4px; }
}

/* = Lists
----------------------------------------------------------------------------------------------------------------- */
ul { margin: 0 0 25px; padding-left: 25px; line-height: 1.5em; }
ul li { margin: 0 0 10px; }
ul li ul { margin-top: 20px; margin-left: 30px; list-style-type: circle; }

ol { margin: 0 0 25px; padding-left: 25px; line-height: 1.5em; }
ol li { margin: 0 0 10px; }
ol li ol { margin-top: 20px; margin-left: 30px; list-style-type: lower-latin; }

dl { margin: 0 0 25px; overflow: hidden; line-height: 1.5em; }
dt { color: #111; font-weight: bold; }
dd { margin: 0 0 20px; }

.inline { margin-left: 0; padding: 0; list-style: none; }
.inline li { display: inline; margin: 0 15px 0 0; }

.breadcrumb ul { margin-left: 0; padding: 0; list-style: none; }
.breadcrumb ul li { display: inline; margin: 0 10px 0 0; }

.paging { margin: 25px 0; padding: 15px 0 0; text-align: center; clear: both; float: left; width: 100%; border-top: 1px solid #d4d4d4; }

.nr:last-child .paging { margin-bottom: 5px; }

.paging > ul { margin: 0; padding: 0; list-style: none; }
.paging > ul > li { min-width: 31px; display: inline-block; vertical-align: middle; font-size: 14px; margin: 5px 0; position: relative; }
.paging > ul > li.det { padding-right: 10px; }
.paging > ul > li a { display: inline-block; font-weight: 700; padding: 4px 4px 3px; font-size: 14px; min-width: 33px; text-align: center; }
.paging > ul > li a:hover { background: #FFD542; }
.paging > ul > li a.on { border: 1px solid #707070; }
.paging > ul > li.next a,
.paging > ul > li.prev a,
.paging > ul > li.first a { color: #fff; position: relative; min-width: 31px; }

.paging > ul > li.next a:after { content: '\e809'; color: #da1a35; background-color: #fff; position: absolute; top: 4px; left: 6px; font-size: 22px; vertical-align: middle; }
.paging > ul > li.prev a:after { content: '\e808'; color: #da1a35; background-color: #fff; position: absolute; top: 4px; left: 5px; font-size: 22px; vertical-align: middle; }
.paging > ul > li.first a:after { content: '\f100'; color: #da1a35; background-color: #fff; position: absolute; top: 4px; left: 6px; font-size: 22px; vertical-align: middle; }

.paging > ul > li.next a:hover:after,
.paging > ul > li.prev a:hover:after,
.paging > ul > li.first a:hover:after { background-color: #ffd542; }

.paging > ul > li.last { display: none; }

@media screen and (max-width: 600px) {
    .paging > ul > li a { padding: 4px 2px 2px; min-width: 32px; }

    .nr:last-child .paging { margin-bottom: 0; }
}

@media screen and (max-width: 480px) {
    .paging > ul > li a { min-width: 29px; }
}

@media screen and (max-width: 400px) {
    .paging { margin: 20px 0; padding: 10px 0 0; }
}

/* = Tables
----------------------------------------------------------------------------------------------------------------- */
.tableWrap { overflow: auto; margin: 0 0 30px; }
.tableWrap table { margin: 0; }
table { width: 100%; margin: 0 0 20px; border-spacing: 0; border-collapse: collapse; }
th { padding: 15px 10px; color: #fff; border: 1px solid #333; background: #333; }
tr:nth-child(even) td { background: #f6f6f6; }
td { padding: 10px; line-height: 1.5em; border: 1px solid #e5e5e5; background: #fff; }
.rowItemStandout td { color: #fff; background: #a1c897; }

/* = Screen Messages
----------------------------------------------------------------------------------------------------------------- */
.msg { margin: 0 0 20px; padding: 20px; background: #f5f5f5; }
.msg p { margin-bottom: 0; font-size: 1em; font-family: 'Open Sans', sans-serif; }
.msg ul { padding: 0; padding-left: 20px; margin-bottom: 0; }
.msg ul li { margin-bottom: 5px; }
.msg ul li:last-child { margin-bottom: 0; }
.msg ul:last-child { margin-bottom: 0; }

.msgImp { padding-left: 65px; color: #fff; background: #8ec3d9 url(/_img/icons/important.svg) no-repeat 30px center; }
.msgImp a { color: #fff; font-weight: bold; }
.msgError { padding-left: 65px; color: #fff; background: #e84d54 url(/_img/icons/error.svg) no-repeat 20px center; }
.msgError a { color: #fff; font-weight: bold; }
.msgSuccess { padding-left: 65px; color: #fff; background: #a1c897 url(/_img/icons/success.svg) no-repeat 20px center; }
.msgSuccess h3 { color: #fff; margin: 0 0 10px; }
.msgSuccess a { color: #fff; font-weight: bold; }
.msgAssist { background-color: #fff0bc; }

.nr .msg,
.ev-list .msg { margin: 40px 0; text-align: center; }

/* = Columns
----------------------------------------------------------------------------------------------------------------- */
.cols { margin-bottom: 30px; }
.colsHalf .col { width: 49%; float: left; margin-right: 2%; }
.colsThird .col { width: 32%; float: left; margin-right: 2%; }
.colsFourth .col { width: 22%; float: left; margin-right: 4%; }
.cols .endCol { margin-right: 0; }

@media screen and (max-width: 750px) {
    .colsHalf .col { width: 100%; margin-right: 0; }
    .colsThird .col { width: 100%; margin-right: 0; }
    .colsFourth .col { width: 100%; margin-right: 0; }
}

/* = Tabs
----------------------------------------------------------------------------------------------------------------- */
.tabs { margin: 40px 0; }
.tabs > ul { margin: 0; padding: 0; list-style: none; }
.tabs > ul li { display: inline; margin: 0 20px 0 0; }
.tabs > ul li a { display: inline-block; color: #000; }
.tabs > ul li a:hover { color: #666; }
.tabs > ul li a.on { color: #da1a35; }
.tabs .panel { padding: 20px 0 0; }

/* = Accordions
----------------------------------------------------------------------------------------------------------------- */
.accordion { margin: 40px 0; z-index:1; position:relative;  }
.accordion > h3 { display: block; text-align: left; color: #fff; margin: 0 0 8px; padding: 8px 40px 8px 15px; background: #da1a35; position: relative; }
.accordion > h3:after { content: '\e80f'; position: absolute; top: 11px; right: 15px; -webkit-transition: transform .2s ease; transition: transform .2s ease; }
.accordion > h3.on:after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
.accordion > h3:hover { cursor: pointer; background: #da1a35; }
.accordion > h3.on { margin: 0 0 15px; background: #da1a35; }
.accordion .content { display: none; padding: 5px 15px; margin-bottom: 20px; font-family: din-2014, sans-serif; }
.accordion .content.contentopen { display: block; }

@media screen and (max-width: 400px) {
    .accordion { margin: 35px 0; }
}

@media screen and (max-width: 380px) {
    .accordion > h3 { font-size: 1.1em; padding: 7px 37px 7px 12px; }
    .accordion > h3:after { right: 12px; top: 9px; }
    .accordion .content { padding: 2px 10px; }
}

@media screen and (max-width: 360px) {
    .accordion { margin: 32px 0; }
}

/* = Galleries
----------------------------------------------------------------------------------------------------------------- */
.photoGallery { list-style: none; margin: 0; padding: 0; position: relative; }
.photoGallery li { margin: 0; }
.photoGallery .imgContain { position: relative; width: 100%; padding-top: 56.25%; background: #737373; }
.photoGallery .imgContain img { display: none; width: 100%; position: absolute; left: 0; top: 50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.photoGallery .imgContain .img-loaded { display: block; }
.photoGallery .imgContain:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(/_img/loader_yellow.gif) no-repeat center; }

.csstransforms .photoGallery .imgContain img { top: 50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.photoGallery .caption { bottom: 0; left: 0; right: auto; padding: .4em .75em; font-size: .65em; font-family: 'Open Sans', sans-serif; line-height: 1.2; background: #434244; color: #fff; position: absolute; opacity: 0.9; }
.photoGallery .caption:empty { display: none; }

/* = Inline images (CKeditor)
----------------------------------------------------------------------------------------------------------------- */
.inline-image { margin: 35px 0; }

p > .inline-image { margin: 15px 0; }
p + .inline-image { margin-top: 15px; }
p + .img-caption { margin-top: -25px; margin-bottom: 30px; }

.img-caption { font-size: 0.750em; color: #666; font-family: 'Open Sans', sans-serif; }
.inline-image + .img-caption { margin-top: -25px; margin-bottom: 30px; }

p > .inline-image--left-half,
.inline-image--left-half { float: left; margin: 5px 5% 5% 0; width: 50%; }

p > .inline-image--left-half,
.inline-image--right-half { float: right; margin: 5px 0 5% 5%; width: 50%; }

p > .inline-image--left-third,
.inline-image--left-third { float: left; margin: 5px 4% 4% 0; width: 33.3%; }

p > .inline-image--right-third,
.inline-image--right-third { float: right; margin: 5px 0 4% 4%; width: 33.3%; }

@media screen and (max-width: 440px) {
    .inline-image--left-half,
    .inline-image--right-half,
    .inline-image--left-third,
    .inline-image--right-third,
    p > .inline-image--left-half,
    p > .inline-image--right-half,
    p > .inline-image--left-third,
    p > .inline-image--right-third { float: none; margin: 30px 0; width: 100%; }
}

@media screen and (max-width: 400px) {
    .inline-image { margin: 30px 0; }

    .img-caption { font-size: 0.7em; }

    p > .inline-image { margin: 10px 0; }
    p + .inline-image { margin-top: 10px; }
    p + .img-caption { margin-top: -20px; margin-bottom: 25px; }

    .inline-image + .img-caption { margin-top: -20px; margin-bottom: 25px; }

    .inline-image--left-half,
    .inline-image--right-half,
    .inline-image--left-third,
    .inline-image--right-third,
    p > .inline-image--left-half,
    p > .inline-image--right-half,
    p > .inline-image--left-third,
    p > .inline-image--right-third { margin-bottom: 20px; }

    h3 + p .inline-image--right-third { margin-top: 0; }
}

/* = YouTube Videos (CKeditor)
----------------------------------------------------------------------------------------------------------------- */
.youtube-container { position: relative; margin: 40px 0; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.youtube-container iframe, .youtube-container object, .youtube-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* = Embedded content
----------------------------------------------------------------------------------------------------------------- */
blockquote.twitter-tweet:before { content: none; }
.twitter-tweet { margin: 30px auto; padding: 14px 0 25px; }

.image-gallery { position: relative; }
.image-gallery,
[data-oembed-url] { margin: 35px 0; }
[data-oembed-url] .twitter-tweet { margin: 0 auto; padding: 0; }
[data-oembed-url]:last-child { margin-bottom: 0; }

.image-gallery:first-child { margin-top: 5px; }
.image-gallery:last-child { margin-bottom: 0; }

[data-oembed-url] + .image-gallery,
.image-gallery + [data-oembed-url] { padding-top: 8px; }

@media screen and (max-width: 900px) {
    .twitter-tweet { padding: 10px 0 20px; }
}

@media screen and (max-width: 480px) {
    .image-gallery,
    [data-oembed-url] { margin: 30px 0; }
}

@media screen and (max-width: 380px) {
    .image-gallery,
    [data-oembed-url] { margin: 25px 0; }
}

@media screen and (max-width: 360px) {
    .image-gallery,
    [data-oembed-url] { margin: 22px 0; }
    [data-oembed-url] .instagram-media { max-width: 100% !important; min-width: 0 !important; }
}

/* = Forms
----------------------------------------------------------------------------------------------------------------- */
.webForm div { margin: 0 0 20px; }
.webForm div:last-child { margin-bottom: 5px; }
.webForm div em { display: block; margin-top: 20px; }
.webForm .submitBtn { margin: 20px 0; }
.webForm .submitBtn label,
.webForm .labelhide { display: none; }

label { display: block; padding: 0 0 5px; }
input.text, textarea, select { width: 100%; padding: 8px 14px; margin: 0; font-size: 1em; font-family: 'Open Sans', sans-serif; border: 1px solid #c7c7c7; background-color: #fff; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
input.text:focus, textarea:focus, select:focus { outline: none; border-color: #c7c7c7; }
input.file { margin: 8px 0; }

.webForm .form-halfCols > div { width: 49%; margin: 0 2% 0 0; float: left; }
.webForm .form-halfCols > div:last-child { margin: 0; }

.formSubmit label { display: none; }

/*Cross browser & device select reset*/
.select { position: relative; }
.select:after { content: '\e807'; position: absolute; top: 50%; margin-top: -7px; width: 12px; height: 14px; right: 15px; }
.select select { content: ''; height: 100%; width: 100%; cursor: pointer; outline: none; padding-right: 40px; -moz-appearance: none; -webkit-appearance: none; -webkit-box-shadow: none; box-shadow: none; -webkit-border-radius: 0; border-radius: 0; }
.select select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #000; }
.select select::-ms-expand { display: none; }
.no-csstransforms3d .select select { padding-right: 10px; }
.no-csstransforms3d .select:after { content: none; }

/*Cross browser & device input reset*/
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox { -webkit-appearance: none; border-radius: 0; }
textarea { min-height: 150px; min-width: 100%; max-width: 100%; }

/*Cross browser & device placeholder reset*/
::-webkit-input-placeholder { color: #000; }
::-moz-placeholder { color: #000; }
:-ms-input-placeholder { color: #000; }
:-moz-placeholder { color: #000; }
input:-webkit-autofill,
select:-webkit-autofill,
input:-webkit-autofill:hover,
select:-webkit-autofill:hover input:-webkit-autofill:focus,
select:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill:active { -webkit-animation: autofill 0s forwards; animation: autofill 0s forwards; }

@keyframes autofill {
    100% { background: #fff; color: #1f1f1f; }
}

@-webkit-keyframes autofill {
    100% { background: #fff; color: #1f1f1f; }
}

.formList { display: inline-block; padding: 0; line-height: 1.5em; }
.formList label { }
.formList input { width: auto; margin: 0 10px 0 0; padding: 0; border: 0; }

.checkbox, .check { display: inline-block; padding: 6px 0; }
.checkbox input, .check input { float: left; margin: 0; padding: 0; border: 0; position: relative; }

/*Cross browser & device custom checkbox and radio lists*/
.formList input { opacity: 0; position: absolute; margin: 12px 10px 0 12px; }
.formList label { width: auto; padding: 0 0 0 30px; margin: 6px 0; float: none; display: inline-block; vertical-align: middle; font-size: 0.875em; cursor: pointer; position: relative; }
.formList label:before, .checkbox input:before, .check input:before { content: ''; position: absolute; left: 0; top: 0; background: #fff; border: 1px solid #ddd; display: inline-block; vertical-align: middle; width: 16px; height: 16px; padding: 2px; margin-bottom: 4px; margin-right: 10px; text-align: center; cursor: pointer }
.formListRadio label:before,
.radList label:before { -webkit-border-radius: 16px; border-radius: 16px; }
.formListRadio label.checked:after,
.radList label.checked:after { content: ''; position: absolute; left: 6px; top: 6px; width: 10px; height: 10px; border-radius: 10px; background: #333; }
.formListCheckbox label.checked:after,
.checkList label.checked:after,
.checkbox input.checked:after,
.check input.checked:after { content: ''; position: absolute; left: 8px; top: 4px; width: 4px; height: 10px; border: solid #333; border-width: 0 2px 2px 0; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.questTypeSwitch.cg62 { position: relative; margin-bottom: 25px; }
.questTypeSwitch.cg62 label { padding-left: 32px; }
.questTypeSwitch.cg62 .check { position: absolute; left: 0; top: 0; padding: 0; display: block; }
.questTypeSwitch.cg62 .check input { margin: 5px 0; position: static; }

/* IE9 input fallback */
.no-csstransforms3d .formList { margin-top: 6px; }
.no-csstransforms3d .checkbox, .no-csstransforms3d .check { padding: 10px 0; }
.no-csstransforms3d .formList input { opacity: 1; position: relative; margin: 0 10px 0 0; }
.no-csstransforms3d .formList label { margin: 0 0 5px; }
.no-csstransforms3d .formList label:before,
.no-csstransforms3d .checkbox input:before,
.no-csstransforms3d .formListCheckbox label.checked:after,
.no-csstransforms3d .checkList label.checked:after,
.no-csstransforms3d .checkbox input.checked:after,
.no-csstransforms3d .formListRadio label.checked:after,
.no-csstransforms3d .radList label.checked:after { content: none; }

.labelfullwidth div { clear: left; margin: 0 0 10px; }
.labelfullwidth div .label { width: 100%; padding: 0 0 10px; }
.labelfullwidth label.labelhide { display: none; }
.labelfullwidth input.text, .labelfullwidth textarea, .labelfullwidth select { width: 100%; }
.labelfullwidth .formList { width: 100%; float: left; margin: 0 0 10px; }
.labelfullwidth .formList input { float: left; margin: 3px 5px 0 0; }
.labelfullwidth .formList label { width: auto; float: none; padding: 0; }
.labelfullwidth .formList br { clear: left; }

.pw-reset .webForm { position: relative; }
.pw-reset .webForm .text { padding-right: 90px; }
.pw-reset .webForm .formSubmit { position: absolute; bottom: 0; right: 0; margin: 0; }
.pw-reset .webForm .formSubmit input { min-height: 40px; }

@media screen and (max-width: 750px) {
    .webForm div { margin: 0 0 15px; }
    .webForm div em { margin-top: 5px; margin-left: 0; }
    .select { width: 100%; }
    label { width: 100%; padding-top: 0; padding-bottom: 5px; }
    input.text, textarea, select { width: 100%; }
    input.file { margin-top: 0; margin-bottom: 0; }
    .formList { padding-top: 0; padding-bottom: 0; }
    .checkbox { padding-top: 5px; }
    textarea { min-width: 100%; max-width: 100%; }
}

@media screen and (max-width: 480px) {
    .formList label:before,
    .checkbox input:before,
    .check input:before { width: 14px; height: 14px; }

    .formListCheckbox label.checked:after,
    .checkList label.checked:after,
    .checkbox input.checked:after,
    .check input.checked:after { left: 7px; top: 3px; }

    .formList label { font-size: 0.975em; padding: 0 0 0 27px; margin: 13px 0 0; }

    .select:after { font-size: 1.1em; margin-top: -6px; }

    .pw-reset .webForm .formSubmit input { min-height: 37px; }
}

@media screen and (max-width: 400px) {
    .webForm div { margin: 0 0 10px; }
    .webForm .form-halfCols > div { float: none; width: 100%; margin: 0 0 10px; }
    label { padding-bottom: 2px; }
}

/* = Anchors
----------------------------------------------------------------------------------------------------------------- */
.anchorTarget { position:relative;}
.anchorTarget:before { content: ""; display: block; height: 70px; margin: -70px 0 0;  position:relative; z-index:-1;}

.anchorTo:target:before { content: ""; display: block; height: 70px; margin: -70px 0 0; }

@media screen and (max-width: 1060px) {
    .anchorTo:target:before { height: 110px; margin: -110px 0 0; }
}

@media screen and (max-width: 750px) {
    .anchorTo:target:before { height: 75px; margin: -75px 0 0; }
}

/* = No Javascript
----------------------------------------------------------------------------------------------------------------- */
.no-js .tabs ul { display: none; }
.no-js .tabs .panel { padding: 0; }
.no-js .accordion .content { display: block; }
.no-js header { padding-top: 0; }
.no-js header .nojavascript { padding: 10px 15px; text-align: center; background-image: none; }

/* = Clearing
----------------------------------------------------------------------------------------------------------------- */
.clearFix:after, .container:after, .cols:after, .progress:after, .template:after, .webForm > div:after, .rc-subs:after,
.nr:after, .fp:after, .tp:after, .fi-list .ni:after, .tp-list-a .ni:after, .auth-banner .ni:after, .tp-list-b:after, .ni--ins:after,
.ni--rel:after, .fi-list:after, .form-halfCols:after, .nr .ni--dir:after, .nt:after { content: ""; display: table; clear: both; }