/*Global Styles*/

/* COLORS */
/* gradient: #0489b4 to #ed1b24;
/* dark blue: #005670;
/* blue: #0085ad;
/* red: #ee0000;
/* gray: #979797;
/* light gray: #ececec;
/* white: #fff;
/* black: #222; */

* {
    box-sizing: border-box;
}

body,
input,
select {
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
    margin: 0;
}

.mobile-only {
    display: block;
}

.desktop-only {
    display: none;
}

@media(min-width: 768px) {
    .mobile-only {
        display: none;
    }

    .desktop-only {
        display: block;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.columns {
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    float: left;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
}

hr {
    border: none;
    padding: 10px;
    width: 100%;
}

.small-12 {
    width: 100%;
}

.large-6 {
    border-bottom: 1px dashed #ececec;
    margin-bottom: 20px;
    padding: 0 0 30px;
}

.large-6:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

@media (max-width: 767px) {
    .xsmall-12 {
        padding: 0;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .xsmall-12 {
        padding: 0 15px 0 0;
    }
}

@media only screen and (min-width: 768px) {
    [class*='medium-'] {
        float: left;
    }
    .medium-1 {
        width: 8.33333%;
    }
    .medium-2 {
        width: 16.66667%;
    }
    .medium-3 {
        width: 25%;
    }
    .medium-4 {
        width: 33.33333%;
    }
    .medium-5 {
        width: 41.66667%;
    }
    .medium-6 {
        width: 50%;
    }
    .medium-7 {
        width: 58.33333%;
    }
    .medium-8 {
        width: 66.66667%;
    }
    .medium-9 {
        width: 75%;
    }
    .medium-10 {
        width: 83.33333%;
    }
    .medium-11 {
        padding: 0 15px;
        width: 91.66667%;
    }
    .medium-12 {
        width: 100%;
    }
}

@media only screen and (min-width: 951px) {
    .columns {
        padding-left: 20px;
        padding-right: 20px;
    }
    .columns.img-left {
        padding-left: 0;
    }
    [class*='large-'] {
        float: left;
    }
    .large-1 {
        width: 8.33333%;
    }
    .large-2 {
        width: 16.66667%;
    }
    .large-3 {
        width: 25%;
    }
    .large-4 {
        width: 33.33333%;
    }
    .large-5 {
        width: 41.66667%;
    }
    .large-6 {
        border-bottom: none;
        margin-bottom: 0;
        padding: 0 20px 0;
        width: 50%;
    }
    .large-7 {
        width: 58.33333%;
    }
    .large-8 {
        width: 66.66667%;
    }
    .large-9 {
        width: 75%;
    }
    .large-10 {
        width: 83.33333%;
    }
    .large-11 {
        padding: 0 15px;
        width: 91.66667%;
    }
    .large-12 {
        width: 100%;
    }
    .offset-6 {
        margin-left: 50%;
    }
}

@media only screen and (min-width: 1024px) {
    .columns.img-left {
        padding-left: 0;
    }
    [class*='xlarge-'] {
        float: left;
    }
    .xlarge-1 {
        width: 8.33333%;
    }
    .xlarge-2 {
        width: 16.66667%;
    }
    .xlarge-3 {
        width: 25%;
    }
    .xlarge-4 {
        width: 33.33333%;
    }
    .xlarge-5 {
        width: 41.66667%;
    }
    .xlarge-6 {
        width: 50%;
    }
    .xlarge-7 {
        width: 58.33333%;
    }
    .xlarge-8 {
        width: 66.66667%;
    }
    .xlarge-9 {
        width: 75%;
    }
    .xlarge-10 {
        width: 83.33333%;
    }
    .xlarge-11 {
        padding: 0 15px;
        width: 91.66667%;
    }
    .xlarge-12 {
        width: 100%;
    }
    .offset-6 {
        margin-left: 50%;
    }
    .xlarge-offset-1 {
        margin-left: 12.5%;
    }
}

/*  Typography*/
html,
body {
    font-size: 16px;
}

.h1-xl {
    font-size: 32px;
    line-height: .85;
}

.h1 {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 1rem;
    margin-top: 0;
    max-width: 951px;
}
.h2 {
    font-size: 22px;
}
.h3 {
    font-size: 18px;
}
.h4 {
    font-size: 16px;
}
.h5 {
    font-size: 14px;
}
.h6 {
    font-size: 12px;
}
p,
ul li,
ol li {
    font-size: 14px;
    line-height: 1.35;
    margin: 0 0 20px 0;
}
p.large {
    font-size: 16px;
}
p.small {
    font-size: 14px;
}

ol li ul {
    padding-left: 0;
}

ol li ul li {
    list-style-type: none;
}

@media(min-width: 768px){
    .h1-xl {
        font-size: 52px;
    }
    .h1 {
        font-size: 42px;
        line-height: 1;
        margin-bottom: 2rem;
    }
    .h2 {
        font-size: 30px;
    }
    .h3 {
        font-size: 28px;
    }
    .h4 {
        font-size: 26px;
    }
    .h5 {
        font-size: 20px;
    }
    .h6 {
        font-size: 16px;
    }

    ul li,
    ol li {
        font-size: 18px;
    }

    p.large {
        font-size: 19px;
    }

    p,
    p.small {
        font-size: 16px;
    }
}

@media(min-width: 1248px){
    .h1-xl {
        font-size: 112px;
    }
    .h1 {
        font-size: 55px;
        line-height: 1;
    }
    .h2 {
        font-size: 36px;
    }
    .h3 {
        font-size: 28px;
    }
    .h4 {
        font-size: 26px;
    }
    .h5 {
        font-size: 23px;
    }
    .h6 {
        font-size: 16px;
    }
}

.h1-xl,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: 20px;
    margin-top: 0;
}

.h1-xl {
    line-height: 1;
    font-weight: 700;
}

.no-margin {
    margin: 0;
}

.h1.regular,
.h2.regular,
.h3.regular,
.h4.regular,
.h5.regular,
.h6.regular {
    font-weight: 400;
}

ul li,
ol li {
    margin-bottom: 10px;
}

ul, 
ol {
    padding-left: 25px;
}

/* ********** */
/* * LINKS *  */
/* ********** */
a {
    transition: all 240ms ease-in-out 10ms;
}

.dark-blue-bg a.link {
    color: #fff;
}

.dark-blue-bg a.link:hover {
    color: #bfd5db;
}

.link {
    color: inherit;
}

.bold {
    font-weight: 600;
}

.xtra-bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
}

.center {
    margin: 0 auto;
    text-align: center;
}

.white-text {
    color: #fff;
}

.blue-text {
    color: #007fa9;
}

.red-text {
    color: #ee0000;
}

a.red-text:hover,
a.red-text:focus {
    color: #be0000;
}

.text-uppercase {
    text-transform: uppercase;
}

.location > p:first-of-type {
    margin-bottom: 0;
}

img {
    height: auto;
    width: 100%;
}

.border-top {
    border-top: 1px solid #979797;
    margin-bottom: 30px;
    padding-top: 30px;
}

/* Button Style */
.btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ee0000;
    border-radius: 8px;
    cursor: pointer;
    display: inline-block;
    height: inherit;
    font-family: 'Open Sans', Arial;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 20px;
    padding: 8px 22px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 240ms ease-in-out 10ms;
    vertical-align: middle;
}

/* RED BUTTON white text */
.btn-primary {
    background: #ee0000;
    border-color: #ee0000;
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background: #be0000;
    border-color: #be0000;
    border: 1px solid #be0000;
}

/* **************** */
/*  Header  */
/* **************** */
.fixed-header {
    background-color: #fff;
    height: 170px;
    left: 0;
    padding: 10px 15px;
    position: fixed;
    width: 100%;
    z-index: 10;
}

.fixed-header .container.flex {
    padding: 0;
}

/* NAVIGATION */
.navigation {
    width: 100%;
}

.navigation ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style-type: none;
    margin: 0;
    padding-left: 0;
}



@media(max-width:767px) {
    .navigation li {
        flex: 0 1 0;
        line-height:1;
        padding: 0;
    }

    .navigation li:nth-of-type(2) {
        text-align: center;
    }

    .navigation li:nth-of-type(3) {
        text-align: right;
    }

    .navigation li.btn {
        flex: 0 0 100%;
    }
}

.navigation li a {
    color: #000;
    font-size: 15px;
    text-decoration: none;
}

.navigation li a:hover,
.navigation li a:focus {
    color: #ee0000;
    text-decoration: none;
}

.navigation li a.active {
    color: #ee0000;
    text-decoration: underline;
}

.navigation li a.active:hover {
    color: #ee0000;
}

/* BUTTON */
.navigation li.btn {
    height: 40px;
    margin-bottom: 0;
    margin-top: 16px;
    padding: 11px 22px;
    width: 100%;
}

.navigation li.btn a {
    color: #fff;
    font-size: 16px;
}

/* LOGO */
.logo {
    display: flex;
    height: 42px;
    margin-bottom: 15px;
    margin-left: -8px;
    width: 100%;
}

.logo > a {
    display: block;
    height: 40px;
    width: 105px;
}

.logo .survival-logo {
    height: 35px;
    width: 165px;
}

.main {
    padding-top: 170px;
}

@media(min-width: 768px) {
    .fixed-header {
        height: 120px;
    }

    .main {
        padding-top: 120px;
    }

    .logo {
        height: 66px;
        margin-bottom: 0;
        margin-top: 10px;
        width: 30%;
    }

    .logo > a {
        display: block;
        height: 46px;
        width: 135px;
    }

    .logo .survival-logo {
        height: 55px;
        width: 205px;
    }

    .navigation {
        display: flex;
        width: 70%;
    }

    .navigation ul {
        display: flex;
        justify-content: space-between;
        margin-right: 0;
        margin-top: 0;
        width: 100%;
    }

    .navigation li.btn {
        margin-left: 10px;
        margin-top: 20px;
        width: 100%;
    }
}

@media(min-width: 1024px) {
    .fixed-header {
        height: 85px;
    }
    .logo {
        padding: 5px 11px;
        width: auto;
    }

    .navigation {
        display: flex;
        justify-content: flex-end;
        width: calc(100% - 160px);
    }

    .navigation ul {
        margin-top: 20px;
        width: auto;
    }

    .navigation li {
        padding: 0 20px;
    }

    .navigation li a {
        font-size: 18px;
    }

    .main {
        padding-top: 85px;
    }

    .navigation li.btn {
        margin-top: -9px;
        width: auto;
    }
}

/* **************** */
/*  Hero Banner  */
/* **************** */
.gradient-bg {
    background-image: linear-gradient(120deg,#0489b4 30%, #945e50, #ed1b24);
    color: #fff;
    width: 100%;
}

.gradient-bg hr {
    border-bottom: 1px solid #fff;
    padding: 0;
}
.gradient-bg hr + p {
    margin-top: 20px;
}

.gradient-bg .link a,
.gradient-bg a {
    color: #fff;
}

.gradient-bg a:hover,
.gradient-bg a:focus {
    color: #000;
}

.img-container img {
    padding-bottom: 1rem;
}

@media(min-width:768px) {
    .img-container img {
        padding-bottom: 20px;
    }
}

@media(min-width:1248px) {
    .banner-copy {
        padding-right: 4rem;
    }
}

/* ***************** */
/* Background Colors */
/* ***************** */
.dark-blue-bg {
    background-color: #005670;
    color: #fff;
}

/* ************* */
/* **  Blocks ** */
/* ************* */
.block {
    background-color: #e8e8e8;
    margin: 15px 0;
    padding: 16px;
    width: 100%;
}

.block .link {
    display: inline-block;
    margin-top: 15px;
}

.block .link a {
    color: #222;
}

.block p {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .block-container {
        display: flex;
    }
    .block {
        margin: 15px;
    }
}

@media (min-width: 951px) {
    .block-container {
        display: block;
    }
    .block {
        margin: 0 0 15px;
    }
}


/* **************** */
/* Content Container */
/* **************** */
.container {
    margin: 0 auto;
    max-width: 1280px;
    padding-bottom: 30px;
    padding-top: 15px;
    width: 100%;
}

.section-small-container {
    max-width: 951px;
    padding: 15px;
}

@media(min-width: 550px) {
    .small-container {
        margin: 0 auto;
        max-width: 600px;
        padding-left: 0;
    }
}

@media(min-width: 768px) {
    .container.section-container {
        padding-bottom: 50px;
        padding-top: 50px;
    }

    .section-small-container {
        max-width: 951px;
        padding: 50px 15px;
    }
}

@media(max-width:1023px) {
    .container-block-image {
        height: 350px;
    }
}

@media(min-width: 1024px) {
    .container-block-image img {
        padding-right: 15px;
    }

    .copy-container {
        max-width: 620px;
        padding-left: 15px;
    }
}

/* **************** */
/* Sub Text */
/* **************** */
.sub-text {
    margin-bottom: 30px;
}

/* **************** */
/* Blockquote */
/* **************** */
blockquote {
    font-style: italic;
    font-weight: 600;
    margin: 0;
}

blockquote footer {
    background-color: transparent;
    font-weight: 400;
    padding: 0;
}

blockquote.blockquote-large footer {
    margin: 20px 0 0 0;
}

blockquote.blockquote-small footer {
    margin: 5px 0 0 0;
}

blockquote.blockquote-large,
blockquote.blockquote-large * {
    font-size: 18px;
}

blockquote.blockquote-small,
blockquote.blockquote-small * {
    font-size: 12px;
}

@media(max-width:950px) {
    .blockquote-large {
        padding: 40px 0;
    }
}

@media (min-width: 768px) {
    blockquote.blockquote-large {
        margin: 30px;
    }
    blockquote.blockquote-large,
    blockquote.blockquote-large * {
        font-size: 38px;
    }
    blockquote.blockquote-small,
    blockquote.blockquote-small * {
        font-size: 14px;
    }
}

@media (min-width: 951px) {
    blockquote.blockquote-small {
        float: right;
    }
    blockquote.blockquote-large,
    blockquote.blockquote-large * {
        font-size: 34px;
    }
    blockquote.blockquote-small,
    blockquote.blockquote-small * {
        font-size: 18px;
    }
}

@media(min-width: 1024px) {
    blockquote.blockquote-large {
        margin: 60px 30px;
    }
    blockquote.blockquote-small {
        max-width: 600px;
    }
    blockquote.blockquote-small footer {
        margin: 15px 0 0 0;
    }
}

.background-img {
    background-repeat: no-repeat;
    background-size: cover !important;
    color: #fff;
    display: flex;
    height: auto;
    width: 100%;
}

@media (min-width: 951px) {
    .background-img .blockquote-container {
        align-self: center;
        margin-left: 60%;
        display: flex;
        height: 100%;
    }

    .background-img .blockquote-container blockquote {
        align-self: center;
    }
}


/* ***************** */
/* Block Info Styles */
/* ***************** */
.block-info-container {
    background-color: #ececec;
    margin-bottom: 20px;
    padding: 16px 16px 16px 0;
}

.block-info-number {
    border-right: 1px solid #979797;
    font-size: 30px;
    text-align: center;
    width: 40px;
}

.block-info-copy {
    font-size: 14px;
    padding-left: 15px;
    width: calc(100% - 40px);
}

@media (min-width: 768px) {
    .block-info-container {
        padding: 20px 20px 20px 0;
    }
    .block-info-number {
        font-size: 80px;
        width: 70px;
    }
    .block-info-copy {
        font-size: 18px;
        padding-left: 20px;
        width: calc(100% - 70px);
    }
}

/* ******************* */
/* Misc Section Styles */
/* ******************* */

.border-bottom {
    border-bottom: 1px solid #979797;
    margin-bottom: 20px;
    padding-bottom: 15px;
}

.border-bottom * {
    margin-bottom: 0;
}

.border-bottom:last-of-type {
    margin-bottom: 50px;
}

@media(min-width: 951px) {
    .schedule-container .border-bottom {
        margin-right: 2rem;
    }
}

.flex {
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex.flex-center {
    align-items: center;
}

/* FLEX WITH IMAGE */
.flex.flex-with-image {
    display: block;
    width: 100%
}

.flex.flex-with-image .container-block-image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
}

.communities-row .flex.flex-with-image .container-block-image {
    background-image: url('https://www.redcross.ca/crc/PS/2020Conf/survival2020_instructors_1.jpg');
    background-position: bottom;
}

.take-home-row .flex.flex-with-image .container-block-image {
    background-image: url('https://www.redcross.ca/crc/PS/2020Conf/survival2020_take-home.jpg');
    background-position: bottom;
}

@media (min-width: 1024px) {

    .communities-row .flex.flex-with-image .container-block-image,
    .take-home-row .flex.flex-with-image .container-block-image {
        background-position: center;
    }
}

.flex-three-columns > div {
    margin: 30px 0;
}

.flex-three-columns > div:last-of-type {
    margin: 30px 0 15px;
}

.flex-three-columns p:last-of-type {
    margin-bottom: 0;
}

.flex-three-columns .h5 {
    margin-bottom: 8px;
}

@media (min-width: 951px) {
    .flex-two-columns,
    .flex-three-columns {
        margin: 0 -15px;
    }
    .flex-two-columns > div {
        padding: 0 15px;
        width: 50%;
    }
    .flex-three-columns > div {
        margin: 30px 0 0;
        padding: 0 15px;
        width: 33.33%;
    }
}

@media (min-width: 1024px) {
    .flex.flex-with-image {
        display: flex;
        flex-wrap: nowrap;
        padding-right: 15px;
    }
}

@media (min-width: 1600px) {
    .flex.flex-with-image {
        margin: 0 auto;
    }
}

.copy-section:before {
    background-color: #fff;
    content: "";
    display: inline-block;
    height: 1px;
    margin: 1rem 0 2rem;
    width: 300px;
}

.copy-section:first-of-type:before {
    display: none;
}

/* **************** */
/* Large-3 4 Grid */
/* **************** */

.flex-3-text {
    padding:  15px;
    position: relative;
}

.flex-3-text .h2 {
    margin-bottom: 10px;
}

@media(min-width:951px){
    .flex-container {
        display: flex;
    }
    .flex-3 {
        width: 25%;
    }
    .flex-3:nth-of-type(2),
    .flex-3:nth-of-type(3) {
        border-right: 1px solid rgba(255,255,255,.8);
    }
    .flex-3-text {
        padding:  12px 15px;
        position: relative;
    }
    .flex-3-text::before {
        border-left: 1px solid rgba(255,255,255,.9);
    }
}

@media(min-width:575px) and (max-width:950px) {
    .grid-section {
        display: flex;
        flex-wrap: wrap;
    }

    .grid-section .large-3 {
        width: 50%;
    }
}


.schedule-container {
    margin-top: 1.75rem;
}

@media(min-width: 951px) {
    .two-columns {
        column-count: 2;
        column-gap: 20px;
    }
}

.images-grid-container {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-auto-rows: 200px;
}

.image-grid-container {
    overflow:hidden;
    position: relative;
}

.image-grid-container:nth-of-type(1) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 3;
}

.image-grid-container:nth-of-type(5) {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 3;
    grid-row-end: 4;
}

.image-grid-container:nth-of-type(6) {
    grid-column-start: 3;
    grid-column-end: 5;
    grid-row-start: 3;
    grid-row-end: 4;
}

.image-grid-container .image-grid-text {
    bottom: 10px;
    left: 10px;
    position: absolute;
}

.image-grid-container .image-grid-text * {
    margin-bottom: 0;
}

/* ************* */
/* Sign up Form */
/* ************* */
.sign-up-container {
    position: relative;
    width: 100%;
}

.sign-up-container .h3 {
    margin-bottom: 1rem;
}

.sign-up-container .form-heading {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}

.sign-up-container .btn {
    margin-top: 1rem;
}

@media(min-width: 768px) {
    .sign-up-container {
        margin-top: 2rem;
    }
}

.sign-up-container  .required {
    color: #ee0000;
}

@media(max-width: 767px) {
    .sign-up-container .flex {
        display: block;
    }
}

.section-small-container * {
    margin-bottom: 0;
}

/* Form Inputs */
/*.input-container label {
    display: block;
    width: 100%;
}*/
.input-container {
    margin-bottom: 1rem;
}
.input-container label {
    display: inline-block;
    margin-bottom: 5px;
    width: auto;
}

.input-container input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 2px solid #fff;
    border-radius: 0;
    font-size: 1rem;
    height: 40px;
    margin-bottom: 3px;
    padding: 10px;
    width: 100%;
}

.input-container input:hover {
    border: 2px solid #47d1ff; 
}

@media (min-width: 768px) {
    .emailForm-inner .input-container  {
        width: calc(33.33% - 1rem);
    }
}

/* Checkbox Inputs */
.checkbox-input-container {
    margin-bottom: 5px;
}

.interest-checkbox .EditingFormLabel {
    display: inline-block;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
    width: auto;
}

.checkbox-list-vertical label {
    display: inline-block;
    height: 22px;
    margin-bottom: 13px;
    padding-left: 4px;
}

.emailForm-inner .flex,
.emailForm-inner .interest-checkbox,
.emailForm-inner .updates-checkbox {
    margin-bottom: 1rem;
}

@media (max-width: 767px) {
    .updates-checkbox .checkbox-list-vertical {
        display: flex;
    }

    .updates-checkbox .checkbox-list-vertical input {
        height: 21px;
        width: 21px;
    }
}

/* Privacy Policy */
.sign-up-container p.small-text {
    font-size: 12px;
    margin-top: 20px;
}

.sign-up-container p.small-text a {
    color: #fff;
}

.sign-up-container p.small-text a:hover {
    color: #47D1FF;
}

/* Error */
.error,
.emailForm-inner .EditingFormErrorLabel {
    color: #FFADAD;
    display: block;
    font-size: .825rem;
}

input.error {
    border: 2px solid #ee0000;
    color: #222;
}

.ErrorLabel {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}




/*Custom checkbox*/
/* Base for label styling */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
  left: -9999px;
  position: absolute;
}

[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
  cursor: pointer;
  padding-left: 1.95em;
  position: relative;
}

/* checkbox aspect */
[type="checkbox"]:not(:checked) + label:before,
[type="checkbox"]:checked + label:before {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.1);
  content: '';
  left: 0; top: 0;
  position: absolute;
  width: 1.25em; height: 1.25em;
}

/* checked mark aspect */
[type="checkbox"]:not(:checked) + label:after,
[type="checkbox"]:checked + label:after {
  border: solid #222;
  border-width: 0 2px 2px 0;
  color: #222;
  content: '';
  display: block;
  height: 9px;
  left: 8px;
  position: absolute;
  top: 5px;
  transform: rotate(45deg);
  transition: all .1s;
  width: 3px;
}

/* checked mark aspect changes */
[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
}
[type="checkbox"]:checked + label:after {
  opacity: 1;
}
/* disabled checkbox */
[type="checkbox"]:disabled:not(:checked) + label:before,
[type="checkbox"]:disabled:checked + label:before {
  background-color: #ddd;
  border-color: #bbb;
  box-shadow: none;
}
[type="checkbox"]:disabled:checked + label:after {
  color: #999;
}
[type="checkbox"]:disabled + label {
  color: #aaa;
}
/* accessibility */
[type="checkbox"]:checked:focus + label:before,
[type="checkbox"]:not(:checked):focus + label:before {
  border: 1px solid #47d1ff;
}

/* hover style just for information */
label:hover:before {
  border: 1px solid #47d1ff!important;
}

/* COUNTDOWN TIMER */
.countdown-container ul {
    padding-left: 0;
}

.countdown-container li {
  display: inline-block;
  list-style-type: none;
  padding: 1rem .5rem;
  text-transform: uppercase;
}

.countdown-container li span {
  display: block;
}

@media(min-width:768px) {
    .countdown-container li {
      padding: 1rem;
    }
}

/* Speakers */
.image-stacked {
    margin: 30px 0;
}

@media (min-width:951px) {
    .image-stacked {
        margin: 30px 0 0;
    }
}

.circle {
    border-radius: 50%;
    margin-bottom: 16px;
    max-width: 100px;
    overflow: hidden;
}

/*******************/
/* SCHEDULE STYLES */
/*******************/

.anchor {
    display: block;
    position: relative;
    top: -150px;
    visibility: hidden;
}

.accordion-container {
    margin: 0 auto;
    max-width: 811px;
}

.heading-blue {
    color: #3783AB;
    margin-bottom: 0;
}

.section-speaker a {
    color: #ee0000;
}

.section-speaker a:hover,
.section-speaker a:focus {
    color: #ee0000;
}

.accordion .faq .answer > .section.section-break,
.accordion .faq .answer .section.section-break {
    padding: 10px 30px 30px 20px;
}

.accordion .faq .answer > .section.section-break .break,
.accordion .faq .answer .section.section-break .break {
    background-color: #ececec;
    margin-bottom: 0;
    padding: 15px;
}

.accordion .faq .answer > .section.section-break .break p,
.accordion .faq .answer .section.section-break .break p {
    margin-bottom: 0;
}

/* *************** */
/* Accordion Style */
/* *************** */
.accordion {
  margin-bottom: 20px;
  counter-reset: section;
}

.accordion  > div:first-child .question {
  border: none;
}

.accordion .faq {
    border-top: 1px solid #979797;
    padding: 16px 0 24px;
    position: relative;
    transition: all 240ms ease-in-out 10ms;
}

.accordion .faq .question {
    position: relative;
    padding: 5px 15px 5px 20px;
}

.accordion .faq .question a {
    display: block;
}

.accordion .faq .question a:hover,
.accordion .faq .question a:hover .heading-blue,
.accordion .faq .question a:hover:after,
.accordion .faq.active .question a:hover:after {
  color: #1B496A;
  cursor: pointer;
}

.accordion .faq .question a:hover .h5 {
    color: #000;
}

.accordion .faq .question a:after {
    color: #3783ab;
    content: '\f054';
    font-family: FontAwesome;
    font-size: 15px;
    font-weight: 400;
    height: 18px;
    left: 0;
    position: absolute;
    top: 12px;
    width: 15px;
}

.accordion .faq .answer {
    display: none;
}
.accordion .faq .answer > .section.section-full {
    margin-top: -20px;
}

.accordion .faq .answer > .section.section-half .large-6 {
    margin-top: -30px;
}

.accordion .faq .answer > .section:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
}

.accordion .faq.active .question a:after {
    color: #3783ab;
    content: '\f078';
    height: 20px;
    font-family: FontAwesome;
    font-size: 15px;
    top: 10px;
    width: 18px;
}

.accordion .section {
    border-bottom: 1px solid #979797;
    margin: 20px 0;
}

.accordion .section:last-of-type {
    border-bottom: none;
}

.accordion .section-speaker {
    margin: 20px 0 0;
}

.accordion .section-speaker + .section-description {
    margin-top: 20px;
}

.section-description li {
    font-size: 16px;
}

.accordion .session-title {
    margin: 20px 0 0;
}

.accordion .section-time {
    margin: 0;
}

.accordion .section p:last-of-type {
    margin: 0;
}

.accordion .faq .answer > .section {
    padding: 10px 30px 30px 20px;
}

@media(min-width:1024px) {
    .speaker .row {
        flex-wrap: nowrap;
        margin: 0 -20px;
        width: calc(100% + 40px);
    }
}

@media(min-width:768px) {
    .accordion .faq .answer > .section.section-break,
    .accordion .faq .answer .section.section-break {
        padding: 10px 30px 30px;
    }

    .accordion .faq .question a:after,
    .accordion .faq.active .question a:after {
        font-size: 20px;
        top: 18px;
    }

    .accordion .faq .answer > .section {
        padding: 10px 30px 30px;
    }

    .accordion .faq .question {
        padding: 5px 15px 5px 30px;
    }

}

@media(min-width: 951px) {
    .accordion .faq .question a:after,
    .accordion .faq.active .question a:after {
        left: 5px;
    }

    .accordion .row {
        flex-wrap: nowrap;
        margin: 0 -20px;
        width: calc(100% + 40px);
    }
    .accordion .faq .answer > .section.section-half .large-6 {
        margin-top: 0;
    }
}

/************************************/
/* SPEAKER STYLES + Sponsor Styles */
/************************************/
.speaker-container,
.sponsor-container {
    border-bottom: 1px solid #979797;
    margin-bottom: 10px;
    padding-bottom: 20px;
}

.sponsor-container {
    margin-bottom: 30px;
}

.speaker-container:focus,
.sponsor-container:focus {
    outline: none;
}

.speaker-container:last-of-type {
    border-bottom: none;
}

.speaker-container p:last-of-type,
.sponsor-container p:last-of-type {
    margin: 0 0 10px;
}

.speaker-img {
    margin-bottom: 20px;
    max-height: 150px;
    max-width: 150px;
    padding: 0;
}

.speaker-img img {
    border-radius: 50%;
    max-width: 150px;
    overflow: hidden;
}

.sponsor-img img {
    max-width: 150px;
}

a .sponsor-img img {
    max-width: 200px;
}

.speaker-img.coming-soon {
    background-color: #d8d8d8;
    border-radius: 50%;
    padding: 29px 40px;
    text-align: center;
}

.speaker-img.coming-soon img {
    border-radius: 0;
}

.speaker-bio {
    padding: 0;
}

@media(min-width: 768px) {
    .speaker .speaker-container,
    .sponsors .sponsor-container {
        padding-left: 20px;
        padding-bottom: 30px;
    }
    .speaker-img {
        margin-bottom: 0;
    }
    .speaker-bio {
        padding: 0 20px 0 30px;
    }
}

.speaker-bio .heading-blue {
    margin-bottom: 5px;
}

.speaker-bio a {
    color: #ee0000;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 7px;
    transition: all 240ms ease-in-out 10ms;
}

.speaker-bio a:hover,
.speaker-bio a:focus {
    color: #be0000;
}

.speaker-bio a:last-of-type {
    margin-bottom: 10px;
}

.sponsor-bio a {
    color: #000;
    display: block;
    font-weight: 600;
    margin-bottom: 7px;
    transition: all 240ms ease-in-out 10ms;
}

.sponsor-bio a:hover {
    color: #be0000;
    text-decoration: underline;
}

a .sponsor-bio .link {
    color: #000;
    font-weight: 600;
    text-decoration: underline;
    transition: all 240ms ease-in-out 10ms;
}

a:hover .sponsor-bio .link {
    color: #be0000;
    text-decoration: underline;
}

.flex > a {
    padding: 0 0 20px 0;
    width: 100%;
}

@media(min-width: 475px) {
    .flex > a {
        padding: 15px 0;
        width: 50%;
    }
}


/* UPDATED SPONSOR / March 12 2021 - AD */
.sponsor-container {
    border-bottom: 0;
    margin-top: 20px;
}

.sponsor-img img {
    max-width: 200px
}

.sponsor-img a {
    color: #ee0000;
    font-weight: 600;
    margin: 10px 0 0;
}

.sponsors-container {
    border-bottom: 1px solid #979797;
    margin-bottom: 20px;
}

.sponsors-container .sponsor-container {
    margin-bottom: 0;
}

/* ****** */
/* Footer */
/* ****** */

.footer {
    background-color: #ececec;
    text-align: center;
}

.footer * {
    font-size: 12px;
}

.footer p {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .footer {
        display: flex;
        justify-content: space-between;
        text-align: left;
    }
    .footer * {
        font-size: 14px;
    }
}
