/**
 * This is the main CSS file for the layout, which will contain most of your site's shared CSS.
 */

/***** KEY *****

.blockName
.blockName-elementName (for a subcomponent of a block)
.blockName_modifierName (for a variation of a block)

Font stacks:
futura-pt, arial, sans-serif; (Book 400, Medium 500, Demi 600, Heavy/Bold 700)
roboto-slab, arial, sans-serif; (300, 400)

Colors:
light purple #8882be
medium purple #464177
dark purple #2F2D41 282351
yellow #FFCC00
gray #4A4956

Sizing:
Default is 21px
Use (#/21)rem to allow automatic resizing, with up to 4 decimal places

*/


/***** HELPERS *****/
/* For clearfix, use the .group class */
.container:after,
.group:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.nobr {
    white-space: nowrap;
}

img, object, embed {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
}

.noMargin.noMargin {
    margin: 0;
}

.noPad.noPad {
    padding: 0;
}

.clickable {
    cursor: pointer;
}

.invisible {
    visibility: hidden;
    position: absolute;
    z-index: -99;
}

body .hide {
    display: none;
}

.center {
    text-align: center;
}

.animate {
    -webkit-transition: all .3s;
    transition: all .3s;
}

/* Helper classes for setting bottom margins */
.mb0 {
    margin-bottom: 0;
}
.mb1 {
    margin-bottom: .5rem;
}
.mb2 {
    margin-bottom: 1rem;
}
.mb3 {
    margin-bottom: 1.5rem;
}
.mb4 {
    margin-bottom: 2rem;
}
.mb5 {
    margin-bottom: 2.5rem;
}
.mb6 {
    margin-bottom: 3rem;
}

strong {
    font-weight: 600; /* Demi */
}


/* Wrap tables and other elements with this to make it possible to enable horizontal scroll when the screen size is too small to contain the element fully */
.scrollWrapper {
    overflow: auto;
    position: relative;
    margin-bottom: 2em;
}
.scrollWrapper > table {
    margin: 0 !important;
}


/***** BLOCKS *****/

html {
    /**
     * We set the font size here since rems are relative to the html tag's font size.
     * Adjusting this percentage will scale every element on the page specified in rems or ems proportionally
     */
    font-size: 131.25%; /* 1rem is equivalent to 21px at this percentage - Divide any pixel value by 21px to get the equivalent value in rems */
}
@media (max-width: 1350px) {
    html {
        font-size: 120%;
    }
}
@media (max-width: 1250px) {
    html {
        font-size: 110%;
    }
}
@media (max-width: 800px) {
    html {
        font-size: 100%;
    }
}


@media (min-width: 1600px) {
    html {
        font-size: 140%;
    }
}
@media (min-width: 1800px) {
    html {
        font-size: 150%;
    }
}
@media (min-width: 2000px) {
    html {
        font-size: 160%;
    }
}
body {
    position: relative;
    background-color: #5c5780; /*3c3954*/

    font-family: futura-pt, arial, sans-serif;
    font-weight: 400; /* Book */
    line-height: 1.25;
    color: #4A4956;

    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust: 100%; /* responsive */
}

.mobileOverflowFix {
    overflow-x: hidden;
}

.bgGradient {
    position: absolute;
    top:0; right:0; bottom:0; left:0;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    /*background-attachment: fixed;*/
}
@media (max-width: 1024px) {
    .bgGradient {
        background-position: 100% 0;
    }
}
.bgGradient_1 {
    background-image: linear-gradient(167deg, rgb(21 14 72 / 52%) 0%, rgb(100 97 147 / 0%) 40%);
}
.bgGradient_2 {
    background-image: linear-gradient(258deg, rgb(68 62 117 / 90%) 1%, rgb(100 97 147 / 0%) 50%);
    /*background-image: linear-gradient(258deg, rgb(21 14 72 / 90%) 1%, rgb(100 97 147 / 0%) 50%);*/
}
.bgGradient_3 {
    background-image: linear-gradient(230deg, rgb(21 14 72 / 70%), rgb(100 97 147 / 70%) 80%);
}
.bgGradient_4 {
    background-image: linear-gradient(90deg, rgb(100 97 147 / 50%) 0%, rgb(100 97 147 / 0%) 15%);
}

.spiral {
    position: absolute;
    transform-origin: center;
    max-width: none;
    width: 100rem;
    height: 100rem;
    right: -43.2rem;
    top: -38.7rem;
    animation: rotate 450s linear infinite;
    /* mix-blend-mode: color-dodge; */
    opacity: .4; /* originally .6 */
}
.template_Home .spiral {
    animation: none;
    width: 220rem;
    height: 50rem;
    right: -120.2rem; /* -113 */
    top: -12.7rem;
}
@media (max-width: 1024px) {
    .spiral.spiral {
        /*opacity: 0.4;*/
        right: -33.5rem;
        top: -31rem;
        width: 70rem;
        height: 70rem;
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

.videoBanner {
    position: absolute;
    object-fit: cover;
}

.bgImg {
    -webkit-filter: blur(3px);
    filter: blur(3px);
    position: absolute;
    top:0; right:0; bottom:0; left:0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: -4px; /* Make sure the edges of the image don't appear blurred */

    display: none; /* Fade in image with JS after page loads */
}
@supports (-ms-ime-align: auto) { /* Target Microsoft Edge */
    .bgImg {
        filter: none;
    }
}

.bgBlur {
    background-image: url('images/blur.jpg');
    background-size: cover;
    background-attachment: fixed;
}

/*.bgTwist {
    background-image: url('images/twist.png');
    background-position: left bottom;
    background-repeat: no-repeat;
}
    @media (max-width: 600px) {
        .bgTwist {
            background-size: 54rem;
        }
    }*/

.bgHex {
    background-image: url('images/dot-hexagons.png');
    background-position: center;
    background-repeat: no-repeat;
}
@media (max-width: 600px) {
    .bgHex {
        background-size: 36rem;
    }
}

.bgSpiral {
    background-image: url('images/spiral-circles.png');
    background-position: center -5em;
    background-repeat: no-repeat;
    background-size: 80%;
}
@media (max-width: 700px) {
    .bgSpiral {
        background-size: 55rem;
        background-position: -7em -1em;
    }
}

.bgDna {
    background-image: url('images/prometrika-brand-spiral.svg');
    background-position: calc(50% + 15%) top;
    background-size: 300rem;
    background-repeat: no-repeat;
    background-blend-mode: difference;
}
.bgDnaPseudo {
    position: relative;
}
.bgDnaPseudo::before {
    content: "";
    background-image: url('images/prometrika-brand-spiral.svg');
    background-position: calc(50% + 15%) bottom;
    background-size: 325rem;
    background-repeat: no-repeat;
    background-blend-mode: difference;
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    opacity: 0.1;
}

.bgSpiralCircle {
    background-image: url('images/prometrika-brand-spiral.svg');
    background-position: center;
    background-size: 82rem;
    background-repeat: no-repeat;
    background-blend-mode: difference;
}

.bgDarkCircle {
    background-image: radial-gradient(circle, #8882be, #8882be 66%, transparent 66%); /* #464177 */
    height: 5em;
    width: 5em;
}

/* Sets site's overall max width before it becomes centered in the page with purple margins */
.pageContainer {
    min-width: 320px; /* No smaller than iPhone SE */
    margin: 0 auto;
    position: relative;
    box-shadow: 0 0 10px rgba(0,0,0,.15);
}
@media (min-width: 2150px) { /* Wait until margins would be a reasonable size to start showing them */
    .pageContainer {
        max-width: 2000px;
    }
}

/* Sets site's primary content container width/margins */
.container {
    /*max-width: 76.1905rem;*/
    margin: 0 3.5rem;
    position: relative;
}
/* Ignore nested containers */
.container .container {
    width: auto;
    min-width: initial;
    max-width: initial;
    margin: initial;
}
.container_sidebar {
    margin-left: 2.5rem;
    margin-right: 1.5rem;
}
@media (max-width: 1024px) {
    .container_sidebar {
        margin-left: 2rem;
    }
}
@media (min-width: 1024px) and (max-width: 1250px) {
    .container {
        margin: 0 3rem;
    }
}
@media (max-width: 900px) {
    .container {
        margin: 0 2.5rem;
    }
}
@media (max-width: 500px) {
    .container {
        margin: 0 2rem;
    }
}
@media (max-width: 400px) {
    .container {
        margin: 0 1.5rem;
    }
}
@media (max-width: 350px) {
    .container {
        margin: 0 1.25rem;
    }
    .container_sidebar {
        margin: 0 1.25rem;
    }
}

.link {
    color: #8882be;
    transition: all .3s;
}
.link:hover, .link:focus {
    text-decoration: underline;
    color: #464177;
    transition: all .3s;
}
.dark .link {
    color: #fff;
}

.richTxt a {
    color: #d02690; /* 7262ff */
    /*text-decoration: underline;*/
    transition: all .3s;
}
.richTxt a:hover, .richTxt a:focus {
    text-decoration: underline;
    color: #000;
}
.dark .richTxt a {
    color: #e844ab;
}
.dark .richTxt a:hover, .dark .richTxt a:focus {
    color: #fff;
}


/*** Headings ***/

.heading1 {
    font-size: 2.38em;
    letter-spacing: .125rem;
    line-height: 1;
    text-shadow: 0 2px 2px rgba(0,0,0,0.36);
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

.heading2 {
    font-size: 2em;
    letter-spacing: .0595rem;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

.heading3,
.richTxt h5 {
    margin-bottom: 1rem;
    font-family: futura-pt, arial, sans-serif;
    font-weight: 700;
    color: #464177;
    letter-spacing: .0990rem;
    text-transform: uppercase;
    font-size: .8em;
}
.heading3 i {
    margin-right: .25em;
}
.dark .heading3,
.dark .richTxt h5 {
    color: #fff;
}
.heading3.heading3_yellow,
.richTxt h5.heading3_yellow {
    color: #FFCC00;
}
.richTxt h5.heading3_yellow {
    color: #e8b901;
}
.heading3.heading3_ltPurple,
.richTxt h5.heading3_ltPurple {
    color: #8882BE;
}
.richTxt h5 {
    font-size: .9em;
}
@media (max-width: 800px) {
    .heading3 {
        font-size: .85em;
    }
}

.heading4,
.richTxt h4 {
    font-family: roboto-slab, arial, sans-serif;
    font-size: .88em;
    color: #312F48;
}
.richTxt h4 {
    margin-bottom: .5em;
    font-size: 1.1em;
}
.dark .heading8,
.dark .richTxt h4 {
    color: #E4B702;
}


.heading5,
.richTxt h2 {
    font-size: 1.33em;
    color: #464177;
    margin-bottom: 1.5rem;
    letter-spacing: .1081rem;
    text-transform: uppercase;
    font-weight: 400;
}
.dark .heading5,
.dark .richTxt h2 {
    color: #fff;
}
.richTxt h2, .heading5_bold {
    font-weight: 500;
    letter-spacing: 0.0333rem;
    font-size: 2em;
}
.heading5 strong {
    font-weight: 700;
}

.heading6 {
    font-size: .7em;
    line-height: 1.5;
    font-weight: 700;
    color: #8882BE;
    letter-spacing: .1071rem;
    text-transform: uppercase;
    margin-bottom: .4rem;
}


.heading7,
.richTxt h3 {
    font-weight: 700;
    font-size: 1rem;
    color: #2e2d40; /*E4B702*/
    margin-bottom: 1rem;
}
.dark .richTxt h3 {
    color: #E4B702;
}
.richTxt h3 {
    font-size: 1.15em;
}

.heading8 {
    font-family: roboto-slab, arial, sans-serif;
    font-size: 0.8095rem;
    color: #423C72;
    margin-bottom: .5rem;
}


/* Use the richText class to wrap content entered in rich text (wysiwyg) editor fields. */
.richTxt {}
/**
 * Increase the spacing between the end of a paragraph and the start of a new heading
 */
.richTxt p + h2, .richTxt p + a + h2,
.richTxt p + h3, .richTxt p + a + h3,
.richTxt p + h4, .richTxt p + a + h4 {
    margin-top: 2rem;
}
/* Remove bottom margin from the last element in a richTxt container */
.richTxt > *:last-child {
    margin-bottom: 0;
}
.richTxt p {
    line-height: 1.5;
    margin-bottom: 1.25em;
}
.richTxt ol, .richTxt ul {
    margin-bottom: 2rem;
    padding-left: 2rem;
}
.richTxt ol ol, .richTxt ul ul {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.richTxt ul {
    font-weight: 700;
    font-size: 0.8571rem;
    color: #464177;
    list-style-position: outside;
}
.richTxt ul > li {}
.richTxt ul > li:before {
    content: "•";
    margin-left: -2.5rem;
    color: #FFCC00;
    font-size: 1.8rem;
    line-height: 1.1rem;
    display: block;
    float: left;
}
.richTxt ol {
    list-style: decimal;
}
.richTxt li {
    margin-bottom: .5rem;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

.plainList ol, .plainList ul {
    margin-bottom: 1.25em;
    padding-left: 1rem;
}
.plainList ol ol, .plainList ul ul {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.plainList ul {
    font-weight: 300;
    font-size: 1rem;
    color: #4A4956;
    list-style-position: outside;
}
.plainList ul > li {}
.plainList ul > li:before {
    content: "•";
    margin-left: -1.5rem;
    color: #FFCC00;
    font-size: 1.8rem;
    line-height: 1.3rem;
    display: block;
    float: left;
}
.plainList ol {
    list-style: decimal;
}
.plainList li {
    margin-bottom: .25rem;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}
.enlarger {
    font-size: 1.15rem !important;
}
.enlarger li {
    margin-bottom: 1rem;
}
.enlarger ul > li:before {
    line-height: 1.5rem;
}

.dark .richTxt ul,
.dark .richTxt ol {
    color: #FFF;
}
.dark .richTxt h2 {
    color: #FFF;
}
.dark .richTxt h4 {
    color: #000;
}
.light .richTxt ul,
.light .richTxt ol {
    color: #000;
}
.light .richTxt h2 {
    color: #000;
}
.light .richTxt h4 {
    color: #000;
}

/* Don't apply anchor color inside of headings */
.richTxt h1 a,
.richTxt h2 a,
.richTxt h3 a,
.richTxt h4 a,
.richTxt h5 a {
    color: inherit !important;
    text-decoration: inherit !important;
}
.list2, .richTxt .list2 {
    color: #4a4956;
    font-weight: 100;
    font-size: 1rem;
}
.list2 > li, .richTxt .list2 > li {
    margin-bottom: 1rem;
}

.small,
.richTxt figcaption {
    font-size: 0.7619rem;
    font-weight: 500;
    color: #47435D;
    line-height: 1.1905rem;
}
.dark .small {
    color: #fff;
}

.big {
    font-family: roboto-slab, arial, sans-serif;
    color: #464177;
}
.dark .big {
    color: #fff;
}

hr {
    margin: 2rem 0;
    border-top: 1px solid #999;
}

.link2 {
    text-transform: uppercase;
    letter-spacing: .0886rem;
    font-size: .71em;
    font-weight: 600;
    color: #312F48;
    transition: all .3s;
    outline: none;
}
.link2 i {
    color: #655F94;
    transition: all .3s;
}
.link2:hover, .link2:focus {
    color: #FFCC00;
    transition: all .3s;
}
.link2:hover i, .link2:focus i {
    color: #fff;
    transition: all .3s;
}

.table,
.richTxt table {
    margin-bottom: 1.5rem;
    border: none;
    width: 100% !important;
}
.table tr,
.richTxt tr {
    /*background-color: #EEEDF4;*/
    background-color: #F8F8FB;
    border: none;
}
.table tr:nth-child(even),
.richTxt tr:nth-child(even) {
    /*background-color: #E5E4EF;*/
    background-color: #DCDAEA;
}
.table th,
.table td,
.richTxt th,
.richTxt td {
    padding: .5rem .75rem;
    vertical-align: middle;
    text-align: center;
}
.table td,
.richTxt td {
    border-right: 1px solid #B2AFD0;
    border-left: 1px solid #B2AFD0;
}
.table td:first-child,
.richTxt td:first-child {
    border-left: 0;
}
.table td:last-child,
.richTxt td:last-child {
    border-right: 0;
}
.table th,
.richTxt th {
    color: #FFF;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
}
.table th:nth-child(odd),
.richTxt th:nth-child(odd) {
    background-color: #464177;
    border-color: #464177;
}
.table th:nth-child(even),
.richTxt th:nth-child(even) {
    background-color: #746DA5;
    border-color: #746DA5;
}
.table td,
.richTxt td {
    font-size: 0.8571rem;
    color: #464646;
}

.columns2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    column-gap: 2.5rem;

    margin-bottom: 2rem;
}
@media (max-width: 750px) {
    .columns2 {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1;

        margin-bottom: 0;
    }
}

/* These classes are mainly for use in CKEditor. CKEditor can only apply one class at a time, so all subclasses must include the base class's styles */
.align, .align_left, .align_right, .align_center {
    max-width: 100%;
    margin-bottom: 1.5em;
}
.align_left, .align_right {
    max-width: 40%;
}
.align_left {
    float: left;
    margin-right: 2em;
    margin-left: 0;
}
.align_right {
    float: right;
    margin-left: 2em;
    margin-right: 0;
}
.align_right figcaption {
    text-align: right;
}
.align_center {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
@media (max-width:800px) {
    .align_left > figcaption,
    .align_right > figcaption,
    .align_center > figcaption {
        font-size: .75em;
    }
}
@media (max-width: 600px) {
    .align_left, .align_right, .align_center {
        float: none;
        max-width: 100%;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .align_left > figcaption,
    .align_right > figcaption {
        text-align: center;
    }
}

.roundedCorners {
    border-radius: 10px !important;
}
.roundedCorners-small {
    border-radius: 5px !important;
}
.roundedCorners-large {
    border-radius: 20px !important;
}
.roundedCorners .bgImg {
    border-radius: 10px !important;
}
.roundedCorners-small .bgImg {
    border-radius: 5px !important;
}
.roundedCorners-large .bgImg {
    border-radius: 20px !important;
}

.MarkupPagerNav {
    text-align: center;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    padding: .5rem 0;
}
.MarkupPagerNav li {
    display: inline-block;
}
.MarkupPagerNav a {
    color: #6B649A;
    font-weight: 700;
    padding: .3810rem .3810rem;
    font-size: 1.095rem;
    text-align: center;
    cursor: pointer;
    background-color: transparent;
    vertical-align: middle;
    transition: all .3s;
    margin: 0 .0952rem;

    display: flex;
    justify-content: center;
    align-items: center;

    min-width: 1.95rem;
    height: 1.95rem;

    -webkit-border-radius: 2em;
    -moz-border-radius: 2em;
    border-radius: 2em;
}
.MarkupPagerNav .MarkupPagerNavOn a,
.MarkupPagerNav a:focus,
.MarkupPagerNav a:hover {
    background: #6B649A;
    color: #FFF;
    transition: all .3s;
}
.MarkupPagerNav li.MarkupPagerNavSeparator {
    font-size: .75rem;
    font-weight: 700;
    padding: 6px 4px;
    align-self: flex-end;
}
.MarkupPagerNavPrevious {
    margin-right: 2rem;
    flex-grow: 0;
    flex-shrink: 0;
}
.MarkupPagerNavPrevious i {
    margin-right: 0.476rem;
}
.MarkupPagerNavNext {
    margin-left: 2rem;
    flex-grow: 0;
    flex-shrink: 0;;
}
.MarkupPagerNavNext i {
    margin-left: 0.476rem;
}
.MarkupPagerNavPrevious a,
.MarkupPagerNavNext a {
    background: none;
    color: #413C75;
    font-weight: 600;
    font-size: 0.857rem;
    letter-spacing: .108rem;
    text-transform: uppercase;
    display: inline;
    transition: none;

    height: auto;
    width: auto;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}
.MarkupPagerNavPrevious a:hover,
.MarkupPagerNavNext a:hover,
.MarkupPagerNavPrevious a:focus,
.MarkupPagerNavNext a:focus {
    color: #FFCC00;
    background: none;
    transition: none;
}
.MarkupPagerNavPrevious i,
.MarkupPagerNavNext i {
    font-size: 1.5rem;
    color: #413C75;
    vertical-align: middle;
}
.MarkupPagerNavPrevious a:hover i,
.MarkupPagerNavNext a:hover i,
.MarkupPagerNavPrevious a:focus i,
.MarkupPagerNavNext a:focus i {
    color: #FFCC00;
    background: none;
}
@media (max-width:950px) {
    .MarkupPagerNavPrevious {
        margin-right: 1.5rem;
    }
    .MarkupPagerNavNext {
        margin-left: 1.5rem;
    }
}
@media (max-width:600px) {
    .MarkupPagerNavPrevious,
    .MarkupPagerNavNext {
        margin-left: 0;
        margin-right: 0;
    }
    .MarkupPagerNavLabel {
        display: none;
    }
}


.breadcrumb {
    margin: 0 0 .2em;
    padding: 0;
    font-size: 0.75rem;
}
.breadcrumb-item {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
}
.breadcrumb-item:after {
    content: " / ";
}
.breadcrumb-item a:hover, .breadcrumb-item a:focus {
    color: #FFCC00;
    text-decoration: underline;
}


/*** Forms ***/

/* Placeholder text */
.placeholder {
    color: #CFCFCF;
}
::-webkit-input-placeholder {
    color: #CFCFCF;
}
:-moz-placeholder {
    color: #CFCFCF;
}
::-moz-placeholder {
    color: #CFCFCF;
}
::-ms-input-placeholder {
    color: #CFCFCF;
}

.notice {
    color: #fff;
    background-color: #555;
    margin: 0 0 1rem 0;
    padding: 1rem;
    font-weight: 500;
    text-align: left;
}
.notice i {
    margin-right: .5rem;
}
.notice_error {
    background-color: #d2476d;
}

.notice_success {
    background-color: #84D05E;
}

.field {
    margin-bottom: 1rem;
}
.field-label {
    display: block;
    margin-bottom: .3rem;
    font-weight: 700;
    font-size: 0.65rem;
    color: #4A4956;
    letter-spacing: .0886rem;
    text-transform: uppercase;
}
.field-input {
    width: 100%;
    max-width: 100%;
}
.field-required {
    color: #d2476d;
    font-weight: 600;
}
.field-notes {
    font-size: .87em;
    font-style: italic;
    color: #5A5A5A;
    margin-top: .2rem;
}
.field-description {
    color: #777;
    font-size: .9rem;
}
.field-error {
    display: block;
    font-size: .75em;
    font-weight: 500;
    width: 100%;
    padding: .35rem;
    color: #fff;
    background-color: #d2476d;
    margin-top: .2rem;
}
.dark .field-label, .dark .field-notes, .dark .field-description {
    color: #fff;
}

.txtBox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    border: 2px solid #C3C3C3;
    padding: .75rem;
    max-width: 100%;
    background-color: #fff;
    border-radius: 0;
    color: #666;
    font-family: futura-pt, arial, sans-serif;
    outline: none;
}
.txtBox:hover, .txtBox:focus {
    border-color: #FFCC00;
}
.field_error .txtBox {
    border-color: #d2476d;
}

.txtBox_select {
    background-image: url(images/arrow-down.png);
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 2rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
@media (-webkit-min-device-pixel-ratio: 1.5),
(min-resolution: 144dpi) {
    .txtBox_select {
        background-image: url(images/arrow-down@2x.png);
        background-size: 20px 7px;
    }
}

.txtBox_error {}

/* for use on textareas */
.txtBox_multi {
    vertical-align: top;
    height: initial;
}

.btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    display: inline-block;
    vertical-align: middle;
    position: relative;
    margin: 0 2px 1rem;
    padding: .7rem 2rem;
    background-color: transparent;

    color: #fff;
    text-align: center;
    border: 2px solid #fff;
    font-size: .75em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .095rem;
    transition: all .3s;
    min-width: 14rem;
    font-family: futura-pt, arial, sans-serif;
    text-shadow: none;

    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}
.richTxt .btn, .richTxt .btn:hover, .richTxt .btn:focus {
    text-decoration: none;
}
.btn i {
    margin-left: -1em;
}
.btn:hover, .btn:focus {
    background-color: #fff;
    color: #2F2D41;
    transition: all .3s;
    text-shadow: none;
}
.btn_small {
    padding: .381rem 1.9048rem;
}
.btn_solid {
    background-color: #FFF;
    color: #2F2D41;
}
.btn_solid:hover, .btn_solid:focus {
    background-color: transparent;
    color: #FFF;
}
.btn_purple,
.richTxt .btn {
    color: #282351;
    border-color: #282351;
}
.btn_purple:hover,
.btn_purple:focus,
.richTxt .btn:hover,
.richTxt .btn:focus {
    background-color: #655F94;
    border-color: #655F94;
    color: #FFCC00;
}
.btn_purple.btn_solid,
.richTxt .btn.btn_solid {
    background-color: #282351;
    color: #FFCC00;
}
.btn_purple.btn_solid:hover,
.btn_purple.btn_solid:focus,
.richTxt .btn.btn_solid:hover,
.richTxt .btn.btn_solid:focus {
    background-color: #FFCC00;
    border-color: #FFCC00;
    color: #282351;
}
.btn_yellow,
.dark .richTxt .btn {
    color: #FFCC00;
    border-color: #FFCC00;
}
.btn_yellow:hover,
.btn_yellow:focus,
.dark .richTxt .btn:hover,
.dark .richTxt .btn:focus {
    background-color: #FFF;
    border-color: #FFF;
    color: #655F94;
}
.btn_yellow.btn_solid,
.dark .richTxt .btn.btn_solid {
    background-color: #FFCC00;
    color: #2F2D41;
}
.btn_yellow.btn_solid:hover,
.btn_yellow.btn_solid:focus,
.dark .richTxt .btn.btn_solid:hover,
.dark .richTxt .btn.btn_solid:focus {
    background-color: #655F94;
    border-color: #655F94;
    color: #FFCC00;
}

.btn_lightPurple,
.richTxt .btn.btn_lightPurple {
    background-color: #756DA6;
    border-color: #756DA6;
    color: #FFFFFF;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    padding: .5rem 1rem;
}
.btn_withImages {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
}
.btn_withImages > img {
    margin-right: 0.5rem;
    width: 36px;
}
@media (max-width: 400px) {
    .btn_withImages > img{
        width: 28px;
    }
}

.btn_smallTxt {
    line-height: 1;
    text-align: left;
    text-wrap: balance;
}

.btn_rounded {
    border-radius: 1000px;
}

.richTxt .yellow_btn {
    background-color: #FFCC00 !important;
    border-color: #FFCC00 !important;

}

.richTxt .yellow_btn > a {
    color: #464176 !important;
}

.richTxt .yellow_btn:hover,
.richTxt .yellow_btn:focus {
    background-color: #FFF !important;
    border-color: #FFF !important;
    color: #655F94 !important;
}

.grid-btns {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.5rem;
    row-gap: 0.5rem;
}
.grid-btns > * {
    margin-bottom: 0 !important;
    flex-grow: 1;
    min-width: 17rem;
    max-width: 17rem;
}

@media (max-width: 512px) {
    .grid-btns {
        flex-direction: column;
        align-items: center;
    }
}

.dataTable {
    width: 100%;
    margin-bottom: 1rem;
}
.dataTable td {
    border: 1px solid #ccc;
    padding: .5em;
}
.dataTable th {
    background-color: #555;
    padding: .5em;
    color: #fff;
    font-size: .8em;
    font-weight: bold;
    border: 1px solid #555;
}

.header {
    color: #fff;
    position: relative;
}
.template_Home .header {
    background-color: #8D87C4;
}
.header-top {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 0 ;
    z-index: 20;
}
.header-bottom {
    position: relative;
    z-index: 10;
}
.header-featuredContent {
    z-index: 1;
    position: relative;
    min-height: 7rem;
}
.header-phase {
    position: relative;
    height: 5.25rem;
    margin-bottom: 2.25rem;
}
.header-follow {
}
.header-logo {
    margin-left: -1rem;
}
.header-bottom {
    position: relative;
}
.header-hexBullets {
    display: none;
    margin-bottom: .25em;
}
.header-content {
    margin-left: 1.5em;
    padding-bottom: 1em;
    max-width: 36em;
}
.header-introMobile {
    display: none;
}
.header-content p {
    text-shadow: /*0 2px 15px rgba(33,30,68,1), */0 2px 1px rgba(0,0,0,0.44);
    font-family: roboto-slab, arial, sans-serif;
    font-weight: 400;
    line-height: 1.35;
}
.header-bgs {
    position: absolute;
    z-index: 0;
    top:0; right:0; bottom:0; left:0;
    overflow: hidden;
    background-color: #686397; /* #8D87C4 */
}

.header_angled {
    z-index: 0;
    /*min-height: 21.5rem;*/
    padding-bottom: 4rem;
}
.template_Home .header_angled {
    min-height: 29.5rem;
}
.template_BasicPage .header_angled .header-featuredContent {
    min-height: 0;
}
.template_BasicPage .header_angled {
    min-height: 0;
}
.header_angled .header-bgs {
    -webkit-clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 4.5vw),
            0 100%
    );
    clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 4.5vw),
            0 100%
    );
}

@media (max-width: 1400px) {
    .header-content {
        margin-left: 0;
    }
}
@media (max-width: 1120px) {
    .template_Home .header-bottom {
        font-size: .95em;
    }
}
@media (max-width: 900px) {
    .header-logo {
        margin-left: 0;
    }
}
@media (max-width: 800px) {
    .header-phase {
        height: 19.75rem;
        margin-bottom: 2.25rem;
        margin-right: -2rem;
    }
}
@media (max-width: 740px) {
    .header .heading1 {
        font-size: 1.75rem;
    }
    .header-intro {
        display: none;
    }
    .header-introMobile {
        display: block
    }
    .header-hexBullets {
        display: block;
    }
}
@media (max-width: 670px) {
    .header-content {
        margin-right: 17em;
    }
    .header > .container {
        min-height: 0;
    }
}
@media (min-width: 571px) and (max-width: 625px) {
    .header-content {
        margin-right: 13em;
    }
    .header-intro {
        padding-top: 1em;
        margin-right: -13em; /* Counteract the margin-right on .header-content */
    }
}
@media (max-width: 570px) {
    .header .heading1 {
        font-size: 2rem;
    }
    .header-content {
        margin-right: 0;
    }
    .header-top {
        margin-bottom: .5rem;
    }
}
@media (max-width: 400px) {
    .header .heading1 {
        font-size: 1.7rem;
    }
}

.logo {
    position: relative;
    transition: all .3s;
}
.logo-icon {
    position: absolute;
    top:.2rem; right:-1rem;
    opacity: 0;
    transition: opacity .5s;
    font-size: .9em;
}
.logo:hover, .logo:focus {
    transform: scale(1.075);
    transition: all .3s;
}
.logo:hover .logo-icon, .logo:focus .logo-icon {
    opacity: 1;
    transition: opacity .5s;
}

.follow {
    color: #fff;
    display: flex;
    align-items: center;
}
.follow-label {
    font-size: .5714em;
    letter-spacing: .2048rem;
    text-transform: uppercase;
    margin-right: 1.15rem;
    color: rgba(255,255,255,.68);
}
.follow-icons {
    font-size: 1.75em;
    text-shadow: 0 2px 0 rgba(0,0,0,.18);
}
.follow-icons > li {
    display: inline-block;
    margin: 0 .85rem;
}
.follow-icons a i {
    transition: all .3s;
}
.follow .fa-linkedin-in {
    color: #008AD2;
}
.follow .fa-twitter {
    color: #38A1F3;
}
.follow .fa-x-twitter {
    opacity: .65;
}
.follow a:hover i.fa-x-twitter, .follow a:focus i.fa-x-twitter {
    opacity: 1;
}
.follow .fa-facebook-f {
    color: #5D8AE9;
}
.follow-icons a:hover i, .follow-icons a:focus i {
    transform: scale(1.25);
    transition: all .3s;
    color: #fff;
}
@media (max-width: 1023px) {
    .follow {
        display: none;
    }
}


.pageMeta {
    margin-bottom: 1.5rem;
    border-bottom: none;
    text-shadow: 0 1px 0 rgba(0,0,0,0.12);
}
.pageMeta-title {
    font-weight: 700;
    font-size: 1.52rem;
    margin-bottom: .5rem;
    text-transform: none;
}
.pageMeta-attr {
    font-size: .66em;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.1157rem;
    margin-bottom: .5rem;
}
.pageMeta-attr > span {
    display: inline-block;
    margin-right: .5rem;
}
.pageMeta-tags {
    display: none;
}
@media (max-width: 800px) {
    .pageMeta-tags {
        display: block;
    }
}

.main {
    min-height: 19rem;
}
.layout_modal .main {
    min-height: 0;
}

.footer {
    position: relative;
    z-index: 0;
}
.footer-top {
    position: relative;
    color: #fff;
    padding: 1.25rem 0;
    border-top: .381rem solid #817BAD;
    background-color: #5a558b;
}
.footer-bg {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background-size: cover;
    background-position: bottom;
    opacity: .15;
}
.webp .footer-bg {
    background-image: url('images/original-spiral-xl.webp');
}
.no-webp .footer-bg {
    background-image: url('images/original-spiral-xl.png');
}
.footer-top > .container {
    display: flex;
    justify-content: space-between;
}
.footer-siteMap {
    flex-grow: 1;
}
.footer-contact {
    flex-grow: 1;
    flex-shrink: 0;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-left: 1.5rem;
}
.footer-address {
    font-size: .8095em;
    line-height: 1.4;
}
.footer-address i {
    display: block;
    font-size: 2em;
    padding: .25em;
}
.footer-phone {
    display: block;
    font-size: 1.5714em;
    margin: .25em 0;
}

.footer-bottom {
    border-top: .381rem solid #FFCC00;
    padding: .75rem 0;
    background-color: rgba(255,255,255,.6);
}
.footer-bottom .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer-affiliates {
    flex-grow: 1;
}
.footer-copyright {
    font-size: .5714em;
    margin: 0 1rem;
    color: #9B9B9B;
    flex-grow: 0;
}
.footer-logo {
    flex-grow: 0;
    order: 2;
}
.footer-logo img {
    width: 5.4762rem;
}
@media (max-width: 725px) {
    .footer-bottom .container {
        display: block;
        text-align: center;
    }
    .footer-logo img {
        width: 7rem;
        margin: 1em 0;
    }
}
@media (max-width: 540px) {
    .footer-top > .container {
        display: block;
    }
    .footer-contact {
        text-align: left;
        margin-left: 0;
    }
    .footer-top .designer {
        display: none;
    }
    /* Need to make a gray version of this
    .footer-bottom .designer {
        display: inline-block;
        margin: 0 auto;
    }*/
    .footer-address {
        position: relative;
        padding-left: 3em;
    }
    .footer-address i {
        position: absolute;
        left:0; top:0;
    }
    .footer-phone {
        margin: .5em 0;
    }
    .footer-affiliates {
        font-size: .86em;
    }
}

.siteMap {
    margin-bottom: 0;
    font-size: .7619em;
    line-height: 1.05;
}
.siteMap a {
    transition: all .1s;
}
.siteMap a:hover, .siteMap a:focus {
    color: #FFCC00;
    transition: all .1s;
}
.siteMap-lvl1 {
    text-transform: uppercase;
    font-weight: 600;

    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
}
.siteMap-lvl1 li {
    -webkit-column-break-inside: avoid;
    column-break-inside: avoid;
    page-break-inside: avoid;
}
.siteMap-lvl2 {
    font-weight: 400;
    text-transform: none;
    padding-left: .5em;
    padding-top: .75em;
}
.siteMap .level1 {
    margin-bottom: 1em;
}
.siteMap .level2 {
    margin-bottom: .5em;
}
@media (max-width: 900px) {
    .siteMap-lvl1 {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;

        margin-bottom: 1rem;
    }
    .siteMap-lvl2 {
        display: none;
    }
}


.designer {
    display: inline-block;
    margin-bottom: 0;
    padding-top: 1rem;
}
.designer a {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    opacity: .7;
}
.designer a:hover, .designer a:focus {
    text-decoration: none;
    opacity: 1;
}
.designer-label {
    border-right: 1px solid #fff;
    padding-top: .2381rem;
    padding-right: .5714rem;
    display: inline-block;
    height: .9524rem;
    vertical-align: middle;
    line-height: 1;
    font-size: .5em;
}
.designer-logo {
    display: inline-block;
    vertical-align: middle;
    width: 2.3810rem;
    padding-left: .2857rem;
}

.affiliates {}
.affiliates-logo {
    height: 1.8095em;
}
.affiliates-item {
    display: inline-block;
    margin: .14em .05em;
}

.tags {}
.tags-item {
    display: inline-block;
    position: relative;
    background: #312F48;
    box-sizing: border-box;
    -webkit-clip-path: polygon(calc(100% - 8px) 0, 100% 7px, 100% 100%, 0 100%, 0 0);
    clip-path: polygon(calc(100% - 8px) 0, 100% 7px, 100% 100%, 0 100%, 0 0);
    padding: 1px;
    margin-right: 5px;
    margin-bottom: 5px;
}
.tags-link {
    background: #FFF;
    /*border: 1px solid #312F48;*/
    -webkit-clip-path: polygon(calc(100% - 8px) 0, 100% 7px, 100% 100%, 0 100%, 0 0);
    clip-path: polygon(calc(100% - 8px) 0, 100% 7px, 100% 100%, 0 100%, 0 0);
    display: block;
    padding: .2rem .65rem;
    font-weight: 500;
    font-size: 0.667rem;
    color: #312F48;
    text-transform: uppercase;
    transition: all .5s;
}
.tags-item:hover, .tags-item:focus {
    background: #FFCC00;
}
.tags-item:hover .tags-link, .tags-item:focus .tags-link {
    background: #FFCC00;
    color: #312F48;
    transition: all .3s;
}
.tags-active {
    background: #FFCC00;
}
.tags-active > .tags-link {
    background: #FFCC00; /* Show active links in yellow */
    color: #312F48;
}
.dark .tags-item {
    background: transparent;
}

.section {
    padding: 2.25rem 0;
}
.section_dark {
    background-color: #2F2D41;
    min-height: 4.5rem;
    color: #fff;
}
.section_dark .richTxt {
    color: #FFF;
}
.section_purple {
    background-color: #8D87C4;
    color: #fff;
}
.section_img {
    position: relative;
}
.section_img .bgImg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: 100%;
    background-size: cover;
    background-position: center;
    opacity: .15;
    overflow-x: hidden;
}
.section_card{
    min-height: 4.5rem;
    margin-top: 1rem;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}
.section_top{
    border-radius: 30px 30px 0px 0px;
}
.section_bottom{
    border-radius: 0px 0px 30px 30px;
    margin-bottom: 1rem;
}

.dark {
    color: #fff;
}
.clear {
    filter: unset !important;
}
.yellowLines h2 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.yellowLines h2::before,
.yellowLines h2::after {
    content: '';
    display: block;
    height: 4px;
    background-color: #FFCC01;
    min-width: 4rem;
    width: 10%;
}

.yellowLines h2::before {
    margin-right: 2rem;
}

.yellowLines h2::after {
    margin-left: 2rem;
}

.centerContent {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.videoContainer {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}
.videoContainer iframe,
.videoContainer object,
.videoContainer embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.scoop {
    display: flex;
}
.scoop-rightFill, .scoop-leftFill {
    background-color: #2F2D41;
}
.scoop-leftFill {
    flex-grow: 1;
}
.scoop-rightFill {
    flex-basis: 3.5rem;
}
.scoop-main {
    flex-grow: 0;
    position: relative;
    flex-basis: 6.8571em;
    width: 6.8571em;
    height: 3.1429em;
}
.scoop-icon {
    position: absolute;
    top:0; right:0; bottom:0; left:0;
    margin: -1.1905em auto;
    width: 2.8571em;
}
.scoop-circleContainer {
    position: absolute;
    top:0; right:0; bottom:0; left:0;
    overflow: hidden;
}
.scoop-circle {
    position: absolute;
    top: -6.1905em;
    width: 6.8571em;
    height: 6.8571em;
    border-radius: 50%;
    border: 2.381em solid #2F2D41;
    margin: 0 -2.381em;
    background-color: transparent;
    box-sizing: content-box;
}

.hexBullets {
    margin-bottom: 1.5rem;
    margin-left: .5rem;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    color: #FFCC00;
    letter-spacing: 0.35px;
    line-height: .875rem;
    text-shadow: 0 1px 1px rgba(0,0,0,0.36);
}
.hexBullets-item {
    /*height: .875rem;*/
    padding-left: 3.25rem;
    position: relative;

    margin: .5rem 0;
}
.hexBullets-hex {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 1.3125rem;
    height: .875rem;
    background-color: #fff;
}
.hexBullets-hex:before,
.hexBullets-hex:after {
    content: "";
    position: absolute;
    width: 0;
    border-left: .6563rem solid transparent;
    border-right: .6563rem solid transparent;
}
.hexBullets-hex:before {
    top: -.375rem;
    border-bottom: .375rem solid #fff;
    transition: all .3s;
}
.hexBullets-hex:after {
    bottom: -.375rem;
    border-top: .375rem solid #fff;
    transition: all .3s;
}
.hexBullets-item:nth-child(even) .hexBullets-hex {
    left: .7rem;
}
.hexBullets-item:nth-child(3n+2) .hexBullets-hex {
    background-color: rgba(255, 255, 255, .8);
}
.hexBullets-item:nth-child(3n+2) .hexBullets-hex:before, .hexBullets-item:nth-child(3n+2) .hexBullets-hex:after {
    border-top-color: rgba(255, 255, 255, .8);
    border-bottom-color: rgba(255, 255, 255, .8);
}
.hexBullets-item:nth-child(3n+3) .hexBullets-hex {
    background-color: rgba(255, 255, 255, .6);
}
.hexBullets-item:nth-child(3n+3) .hexBullets-hex:before, .hexBullets-item:nth-child(3n+3) .hexBullets-hex:after {
    border-top-color: rgba(255, 255, 255, .6);
    border-bottom-color: rgba(255, 255, 255, .6);
}

.featuredContent {
    display: flex;
    align-items: stretch;
}
.featuredContent-main {
    flex-basis: 70%;
    flex-grow: 0;
    flex-shrink: 0;
    position: relative;
}
.featuredContent-img {
    background-position: center;
    background-size: cover;
    min-height: 19rem;

    border-bottom: .381rem solid #FFCC00;
    margin-bottom: -.381rem;
    background-color: #fff;
}
.featuredContent-map {
    position: absolute;
    top:0; right:0; bottom:0; left:0;
    height: 100% !important;
    width: 100% !important;
}
.featuredContent-video {
    margin-left: 3.5rem;
    /*margin-bottom: -4rem;*/
    height: 22rem;
}
.featuredContent-overlap {
    z-index: 1;
    position: relative;
}
.featuredContent-intro {
    color: #fff;
    padding-bottom: 2rem;
    margin-right: 0;
}
.featuredContent-introSpacer {
    height: 2rem; /* This spacer element allows us to still have some overlap when featuredContent-intro and featuredContent-main are the same height */
}
@media (max-width: 1200px) {
    .featuredContent-video {
        margin-left: 3rem;
    }
}
@media (max-width: 1024px) {
    .featuredContent-img {
        min-height: 18rem;
    }
}
@media (max-width: 900px) {
    .featuredContent-video {
        margin-left: 2.5rem;
    }
}
@media (max-width: 850px) {
    .featuredContent-img {
        min-height: 16rem;
    }
}
@media (max-width: 800px) {
    .featuredContent {
        display: block;
        margin-right: 2rem;
    }
    .featuredContent-sidebar {
        display: none;
    }
    .featuredContent-video {
        margin-bottom: 1.5rem;
        height: 25rem;
    }
}
@media (max-width: 650px) {
    .featuredContent-video {
        height: 20rem;
    }
}
@media (max-width: 500px) {
    .featuredContent-img {
        min-height: 12rem;
    }
    .featuredContent-video {
        margin-left: 2rem;
        height: 15rem;
    }
}
@media (max-width: 400px) {
    .featuredContent {
        display: block;
        margin-right: 1.5rem;
    }
    .featuredContent-img {
        min-height: 10rem;
    }
    .featuredContent-video {
        margin-left: 1.5rem;
    }
}
@media (max-width: 350px) {
    .featuredContent-video {
        margin-left: 1.25rem;
    }
}

.bodyContent {
    display: flex;
    padding-top : 2.5rem;
    padding-bottom: 2.25rem;
}
.bodyContent-main {
    flex-basis: 70%;
    flex-shrink: 0;
    z-index: 1;
}
.bodyContent-sidebar {
    flex-basis: 30%;
    flex-shrink: 0;
    z-index: 1;
    min-width: 0; /* Make sure that content wraps instead of overflows */
}
/* For body blocks, we don't want to remove the bottom padding on mobile like we do for the main body */
.ui_BlockSidebar .bodyContent {
    padding-bottom: 2.25rem;
}
@media (max-width: 800px) {
    .bodyContent {
        display: block;
        padding-bottom: 0;
    }
    .bodyContent-main {
        margin-bottom: 2rem;
    }
    /*.bodyContent-sidebar {*/
    /*    margin-bottom: 2rem;*/
    /*}*/
}

.quickLinks {}
.quickLinks li {
    display: inline-block;
    font-size: .6190em;
    text-transform: uppercase;
    letter-spacing: .0419rem;
}
.quickLinks a {
    font-weight: 500;
    margin: 0 .25rem;
}

.featuredSidebar {
    margin-bottom: 1rem;
}
.featuredSidebar_mobile {
    display: none;
    padding-top: 2rem;
    margin-bottom: 2rem;
    border-top: 1px solid #ccc;
}
@media (max-width: 800px) {
    .featuredSidebar_mobile {
        display: block;
        margin-top: -1px;
    }
    .featuredSidebar .tags {
        display: none;
    }
}

.thumb {
    position: relative;
    background-size: cover;
    background-position: center;
}
.thumb-overlay {
    position: absolute;
    background-color: rgba(0,0,0,.22);
    top:0; right:0; bottom:0; left:0;
    color: #FFF;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.thumb-month {
    font-weight: 500;
    font-size: 1.15em;
    line-height: 1;
    letter-spacing: 5px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.50);
    text-transform: uppercase;
}
.thumb-date {
    line-height: 1;
    font-size: 2.7em;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.50);
}

.TextformatterVideoEmbed {
    margin-bottom: 1.25rem;
}

.noResults {
    margin-top: 2rem;
    margin-bottom: 2rem;
    font-size: 1.5em;
    color: #ccc;
    text-align: center;
}

.ui-margin-small{
    margin: 1rem;
}
.ui-margin-small-top{
    margin-top: 1rem;
}
.ui-margin-small-right{
    margin-right: 1rem;
}
.ui-margin-small-bottom{
    margin-bottom: 1rem;
}
.ui-margin-small-left{
    margin-left: 1rem;
}
.ui-margin-large{
    margin: 4rem;
}
.ui-margin-large-top{
    margin-top: 4rem;
}
.ui-margin-large-right{
    margin-right: 4rem;
}
.ui-margin-large-bottom{
    margin-bottom: 4rem;
}
.ui-margin-large-left{
    margin-left: 4rem;
}
.ui-margin-{
    margin: 2rem;
}
.ui-margin--top{
    margin-top: 2rem;
}
.ui-margin--right{
    margin-right: 2rem;
}
.ui-margin--bottom{
    margin-bottom: 2rem;
}
.ui-margin--left{
    margin-left: 2rem;
}


/* Utility Classes for Tailwind-like functionality */
.flex { display: flex; }
.space-x-3 > * + * { margin-left: 0.75rem; }
.space-x-4 > * + * { margin-left: 1rem; }
.space-x-6 > * + * { margin-left: 1.5rem; }

.w-5 { width: 1.25rem; }
.h-5 { height: 1.25rem; }
.w-6 { width: 1.5rem; }
.h-6 { height: 1.5rem; }
.w-7 { width: 1.75rem; }
.h-7 { height: 1.75rem; }
.w-8 { width: 2rem; }
.h-8 { height: 2rem; }

/* Responsive height classes */
.h-16 { height: 4rem; }
.h-20 { height: 5rem; }
.h-24 { height: 6rem; }
.h-28 { height: 7rem; }

/* Responsive width and height classes for small screens */
.sm\:h-20 { height: 5rem; }
.sm\:w-6 { width: 1.5rem; }
.sm\:h-6 { height: 1.5rem; }

/* Responsive width and height classes for medium screens */
.md\:h-24 { height: 6rem; }
.md\:w-7 { width: 1.75rem; }
.md\:h-7 { height: 1.75rem; }

/* Responsive width and height classes for large screens */
.lg\:h-28 { height: 7rem; }

.object-contain { object-fit: contain; }
.transition-all { transition: all 0.3s; }
.duration-300 { transition-duration: 300ms; }
.touch-manipulation { touch-action: manipulation; }

/* Margin utilities */
.ml-auto { margin-left: auto; }

/* Flex utilities */
.flex-shrink-0 { flex-shrink: 0; }
.items-center { align-items: center; }

/* Filter utilities */
.filter {
    filter: var(--tw-brightness, brightness(1))
    var(--tw-contrast, contrast(1))
    var(--tw-grayscale, grayscale(0))
    var(--tw-hue-rotate, hue-rotate(0deg))
    var(--tw-invert, invert(0))
    var(--tw-saturate, saturate(1))
    var(--tw-sepia, sepia(0));
}

.brightness-0 { --tw-brightness: brightness(0); }
.invert { --tw-invert: invert(1); }
.sepia { --tw-sepia: sepia(1); }
.saturate-100 { --tw-saturate: saturate(1); }
.hue-rotate-225deg { --tw-hue-rotate: hue-rotate(225deg); }
.brightness-95 { --tw-brightness: brightness(0.95); }
.contrast-95 { --tw-contrast: contrast(0.95); }

/* Hover scale effect */
.hover\:scale-110:hover {
    transform: scale(1.1);
}

/* Desktop Social Icons */
.desktop-social-icons {
    display: none;
    flex-shrink: 0;
    align-items: center;
    height: 64px;
    margin-left: auto;
    gap: 12px;
}

/* Hidden utility class */
.hidden {
    display: none;
}

/* Group hover effects - exact match to React */
.group:hover .group-hover\:brightness-100 {
    --tw-brightness: brightness(1) !important;
    --tw-invert: invert(0) !important;
}

.group:hover .group-hover\:invert-0 {
    --tw-brightness: brightness(1) !important;
    --tw-invert: invert(0) !important;
}

/*New banner changes*/
@media (min-width: 1280px) {
    .logo-img {
        width: 320px;
        height: 192px;
    }
}
.header-top {
    padding-top: 2rem;
}
.social-container {
    gap: 12px;
}
.non-banner-container .logo-container {
    margin-left: 3.42rem;
    margin-right: 2rem;
}
.non-banner-container .social-container {
    margin-top: 8px;
}

/* Responsive Design */
@media (min-width: 640px) {
    /* Small screen responsive classes */
    .sm\:h-20 { height: 5rem; }
    .sm\:w-6 { width: 1.5rem; }
    .sm\:h-6 { height: 1.5rem; }
    .sm\:space-x-4 > * + * { margin-left: 1rem; }
    .sm\:h-16 {
        height: 4rem;
    }
    .sm\:w-24 {
        width: 6rem;
    }
}

@media (min-width: 768px) {
    /* Medium screen responsive classes */
    .md\:h-24 { height: 6rem; }
    .md\:w-7 { width: 1.75rem; }
    .md\:h-7 { height: 1.75rem; }
    .md\:space-x-6 > * + * { margin-left: 1.5rem; }
    .md\:h-20 {
        height: 5rem;
    }
    .md\:w-32 {
        width: 8rem;
    }

    /* Medium responsive spacing for social icons */
    .space-x-6 > * + * { margin-left: 1.5rem; }

    /* Medium responsive icon sizes */
    .md\:w-7 { width: 1.75rem; }
    .md\:h-7 { height: 1.75rem; }
}

@media (min-width: 1024px) {
    .lg\:right-12 {
        right: 3rem
    }

    .lg\:ml-\[140px\] {
        margin-left: 140px
    }

    .lg\:flex {
        display: flex
    }

    .lg\:hidden {
        display: none
    }

    .lg\:h-28 {
        height: 7rem
    }

    .lg\:h-44 {
        height: 11rem
    }

    .lg\:w-72 {
        width: 18rem
    }

    .lg\:max-w-\[900px\] {
        max-width: 900px
    }

    .lg\:p-12 {
        padding: 3rem
    }

    .lg\:pr-12 {
        padding-right: 3rem
    }

    .lg\:text-5xl {
        font-size: 3em;
        line-height: 1
    }
    /* Large screen responsive classes */
    .lg\:h-28 { height: 7rem; }
    .lg\:flex { display: flex !important; }

    .desktop-social-icons {
        display: flex;
    }

    /* Show hidden elements on lg breakpoint */
    .lg\:flex {
        display: flex !important;
    }

    /* Responsive spacing for social icons */
    .space-x-3 > * + * { margin-left: 0.75rem; }
    .space-x-4 > * + * { margin-left: 1rem; }

    .desktop-social-icons {
        height: 112px;
        gap: 24px;
    }

    .social-icon {
        width: 28px;
        height: 28px;
    }
}

@media (min-width: 1280px) {
    .xl\:h-48 {
        height: 12rem
    }

    .xl\:w-80 {
        width: 20rem
    }

    .xl\:text-6xl {
        font-size: 3.75em;
        line-height: 1
    }
    .xl\:w-80 {
        width: 20rem;
    }
    .main-heading {
        font-size: 60px; /* text-4xl */
    }
}