/* ==========================================================================
   virtual events
   ========================================================================== */
 
 html, body {
    padding: 0;
    margin: 0;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 16px;
    color: #2d2d2d;
}

* {
    box-sizing: border-box;
}

.module_hero .page-hero-text {
    bottom: 30px; 
}

.module_hero .date-time {
    margin-bottom: 1.5em;
    font-size: 18px;
}

.module_hero figcaption h1 {
    width:70%;
    margin-bottom: 1.25em;
}

.module_event_detail h2 {
    font-size: 2.125em;
    font-weight: 400;
    color: #2d2d2d;
}

.module_event_detail p {
    font-size: 1.125em; 
}

.module_event_detail p.lede-blu {
    font-size: 1.625em;
}

.module_event_detail span.flag {
    background-color:#71C5E8;
    color:#fff;
    display: inline-block;
    font-size: 14px;
    padding: .5em;
    text-transform: uppercase;
    margin: 1em 0 2em 0;
    letter-spacing: .84px;
}

.e-hashtag { 
    font: 500 22px/22px 'IBM Plex Sans';
    display: block;
    color:#fff;
    margin-bottom: 15px;
}

.event_link { 
    position: absolute;
    bottom:0; 
    text-align: right;
    max-width: 1200px;
    width: 100%;
}

.event_link a.callout {
     float:left;
}

.event_link a:not(.callout) {
 padding: 0 .5em;
}

.event_link img { 
    width: auto;
    height: 20px;
    position: relative;
}

.column_one {
    margin-right: 50px;
}

.column_two {
    width: 280px;
    padding-bottom: 2em;
}

.column_two p {
    font-size: 1.125em;
    line-height: 28px;
}

.column_two h2 {
    font: normal normal normal 26px/32px 'IBM Plex Sans';
    margin: 1em 0; 
}

.column_two .contact_list li {
    margin: 1em 0;
}

.column_two .card_email a,.column_two .card_phone a, .add_to_calendar a{
    color:#00558C;
    text-decoration: underline;
}

.column_two .card_email a.callout,.column_two .card_phone a.callout {
    text-decoration:none;
    color:#fff;
}

.column_two .card_email a.callout:hover,.column_two .card_phone a.callout:hover {
    color:#00558C;
}

.column_two .card_name, .column_two h3 {
    text-transform: uppercase;
}

.column_two a.callout {
    margin-bottom: 1em; 
}

.column_two p strong { font-weight: 500; }

section.module_event_detail {
    margin-left: calc((100vw - 1220px) / 2);
}

#event-map {
    background: #c0c0c0;
    height: 0;
    overflow: hidden;
    padding-bottom: 80%;
    padding-top: 30px;
    position: relative;
}

div.when, div.where {
    line-height: 28px;
    margin: 1em 0;
}

.column_two span.date, .column_two span.location {
    font-weight: 500;
    display: block;
}

.virtual-events-container {
    margin-top: 2em;
}

.virtual-events-container .virtual-events-tabs {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.96px;
    text-transform: uppercase;
}

.virtual-events-container .virtual-events-tabs a {
    color: #2d2d2d;
    text-decoration: none;
    border-bottom: 0;
    font-weight: 400;
}

.virtual-events-container .virtual-events-tabs > * {
    position: relative;
    padding: 10px 10px 15px 10px;
    cursor: pointer;
}

.virtual-events-container .virtual-events-tabs .active {
    color: #00558C;
}

.virtual-events-container .virtual-events-tabs > *:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 2px solid #00558C;
    transform: scaleX(0);
    transition: transform 250ms ease-in-out;
}

.virtual-events-container .virtual-events-tabs .active:after {
    transform: scaleX(1);
}

.virtual-events-container .download-icon {
    width: 22px;
    height: 20px;
    position: relative;
    display: inline-block;
    background: url('/-/media/Images/HuronConsultingGroup/Icons/download-op.svg') no-repeat;
    margin: -6px 0 0 8px;
}

.virtual-events-container .day-container {
    padding: 25px;
    background: #f4f4f4;
}

.virtual-events-container .session-container {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #e6e6e6;
}

.virtual-events-container .session-container:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.virtual-events-container h2 {
    margin: 0 0 10px 0;
    color: #2D2D2D;
    font: normal 400 26px/32px 'IBM Plex Sans';
}

.virtual-events-container .session-time {
    margin-bottom: 10px;
    font-size: 14px;
    letter-spacing: .84px;
}

.virtual-events-container p {
    margin: 0 0 10px 0;
    padding: 0;
}

.virtual-events-container h3 {
    margin: 0 0 10px 0;
    font-weight: 700;
    font-size: 16px;
}

.virtual-events-container .speaker-wrap.full-speakers {
    display: block;
}

.virtual-events-container .speaker-wrap.full-speakers .speaker-card {
    margin: 20px 0;
}

.virtual-events-container .session-container .full-speakers .speaker-img-wrap img {
    max-width: none;
    min-width: 200px;
}

.virtual-events-container .session-container .speaker-socials {
    position: absolute;
    bottom: 10px;
    right: 20px;
}

.virtual-events-container .session-container .speaker-socials a {
   border-bottom: 0;
   margin-left: 1em;
}

.virtual-events-container .speaker-img-wrap {
    max-width: 200px;
    line-height: 0;
}

.virtual-events-container .speaker-card {
    background: #ffffff;
    border: 1px solid #e6e6e6;
}

.virtual-events-container .session-container .speaker-img-wrap img {
    width: 100%;
    max-width: 200px;
}

.virtual-events-container .speaker-meta-wrap {
    position: relative;
    padding: 20px;
    display: inline-block;
    vertical-align: top;
}

.virtual-events-container .speaker-meta-wrap .speaker-name {
    font-weight: 500;
    font-size: 20px;
    margin-bottom: .5em;
}

.virtual-events-container .speaker-meta-wrap .speaker-title,
.virtual-events-container .speaker-meta-wrap .speaker-company {
    margin-bottom: 10px;
    text-transform: uppercase;
    font-size: 15px;
}

.virtual-events-container .speaker-meta-wrap .speaker-view-bio {
    position: absolute;
    left: 20px;
    bottom: 10px;
    text-decoration: none;
    color: #00558c;
    font-weight: 500;
    border-bottom: 0;
}

.virtual-events-container .speaker-meta-wrap .speaker-view-bio:after {
    content: "\276F";
    display: block;
    position: absolute;
    font-size: 13px;
    top: 3px;
    right: -12px;
}

.flex {
    display: flex;
}

.flex-inline {
    display: inline-flex;
}

.flex-1,
.flex.flex-1 > * {
  flex: 1;
}

.flex > *,
.flex.flex-grow-1 > * {
  flex-grow: 1;
}

.flex.flex-gap-30 > * + * {
    margin-left: 30px;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.inline {
    display: inline;
}

.line-height-0 {
    line-height: 0;
}

.hide {
    display: none !important;
}

ul.events_filtered { 
    list-style-type: none;
    padding:0;
    margin: 2em 0;
}

.events_filtered li {
    background-color:#f4f4f4;
    border-bottom: 2px #00558C solid;
    padding: 1em;
    position: relative;
    min-height: 180px;
}

.events_filtered li h3 {
    font-size: 24px;
    font-weight: 400;
}

.events_filtered li .event_meta {
    position: absolute;
    bottom:0;
    left:0;
    width: 100%;
    padding: 1em;
}

.events_filtered .date {
    font-size: 14px;
    text-transform: uppercase;
}

.events_filtered li span.read {
    border-bottom:0;
    color:#595959;
    font-size: 16px;
    font-weight: 500;
    float: right;
}

.events_filtered li span.read:after {
    background: url('/-/media/Images/HuronConsultingGroup/Icons/arrow-right') no-repeat right;
    content: '';
    display: inline-block;
    width:6px;
    height:10px;
    margin-left: 10px;
}

.events_filtered li a.event-target {
    position: absolute;
    width: 100%;
    height:100%;
    left:0;
    top:0;
}

.events_filtered li span.read.hover {
    color:#00558C;
}

.event-tag {
    color: #595959;
    border: #595959 1px solid;
    background-image: url(/-/media/Images/HuronConsultingGroup/Icons/x);
    border-radius: 2px;
    background-size: 10px 10px;
    background-repeat: no-repeat;
    background-position: 8px center;
    display: inline-block;
    padding: .65em .65em .65em 25px;
    margin: 1.5em 1em 0 0;
    text-transform: uppercase;
    font-size: .875em;
    letter-spacing: 1px;
}
.event_search.form-row {
    margin-bottom: 2em;
}
.event_type h3, .event_search label {
    display: block;
    text-transform: uppercase;
    margin-bottom: 1em;
}

.event_results a.more {
    border-bottom: none;
    font-weight: 400;
    color: #464646;
    display: block;
    text-align: center;
}
.event_results a.more:after {
    margin: 0 auto;
    background: url(/-/media/Images/HuronConsultingGroup/Icons/arrow-down) no-repeat center bottom;
    display: block;
    content: '';
    width: 20px;
    height: 20px;
}

.search-box input[type="submit"].mag {
    cursor: default;
}

@media (max-width: 1200px) {
    section.module_event_detail{
        margin-left: 0;
    }
    .column_one {
        width: calc( 100vw - 400px );
    }
}
@media (max-width: 768px) {

    .events .column_two, .events .column_one {
        width: 100%;
        margin: 0;
        padding: 0 2em 2em 2em;
    }

    .module_hero figcaption h1 {
        width: 100%;
        margin-bottom:0;
    }

    .module_hero .page-hero-text {
        bottom: auto;
    }

    .module_hero .date-time {
        line-height: 28px;
    }

    .page-hero section.event_link {
        position: static;
        text-align: left; 
        margin-bottom: 2.5em;
        padding: 0 2em 2em 2em;
    }

    .page-hero section.event_link a {
        width: auto;
    }

    .event_link a.callout {
        float: none;
        display: table;
        margin: 0 0 2.5em 0;
    }

    .event_link a.e-hashtag {
        padding:0;
    }

    .column_one { 
        width: auto; 
        margin-right: 25px;
    }

    .column_two {
        margin-bottom: 2em;
    }
  
    .virtual-events-container .virtual-events-tabs {
        position: relative;
        margin-top: 40px;
    }
  
    .virtual-events-container .virtual-events-tabs .download-link {
        position: absolute;
        top: -40px;
        right: 0;
    }
  
    .virtual-events-container .session-container .speaker-img-wrap img {
        width: 100%;
        min-width: 150px;
    }

    .virtual-events-container .session-container .speaker-img-wrap {
        max-width: none;
        max-height: 250px;
        overflow: hidden;
    }

    .virtual-events-container .session-container .speaker-socials {
        position: static;
        padding: 1.5em 0;
    }

    .virtual-events-container .session-container .speaker-socials a {
        margin:0; 
        padding-right: 1em;
    }

    .virtual-events-container .speaker-meta-wrap .speaker-view-bio {
        position: static;
        display: block;
        margin-top: 1em;
    }

    .virtual-events-container .speaker-meta-wrap .speaker-view-bio:after {
        position: static;
        display: inline-block;
        margin-left:5px;
    }

    .virtual-events-container .full-speakers .speaker-meta-wrap {
        display: block;
        width: 100%;
    }

    .module_event_detail span.flag {
        margin:0 0 1em 0;
    }

    .virtual-events-container {
        margin-top: 4em; 
    }

    .virtual-events-container .day-container {
        margin: 0 -30px;
    }
  
    .virtual-events-container .flex {
        flex-direction: column;
    }
  
    .virtual-events-container .flex {
        flex-direction: column;
    }
  
    .virtual-events-container .flex > * {
        margin-bottom: 30px;
    }
  
    .virtual-events-container .flex > *:last-child {
        margin-bottom: 0;
    }
  
    .virtual-events-container .flex.cc-margin-bottom-0 > * {
        margin-bottom: 0;
    }
  
    .virtual-events-container .flex-mobile-row {
        flex-direction: row;
    }

    .virtual-events-container .full-speakers .flex-mobile-row {
        flex-direction: column;
    }
  
    .flex.flex-gap-30 > * + * {
        margin-left: 0;
    }
}