/* profiles
   ============================ */

.profiles .wrapper {
    padding-bottom: 40px;
    padding-top: 40px;
}

/* profile selection */
.profiles .profile-selection {
    position: relative;
}
.profiles .profile-selection .viewport {
    margin: 0 auto;
}
.profiles .profile-selection .slide {
    margin: 0;
    padding: 0 0.01%;
}
.profiles .profile-selection .slide .inner,
.profiles.tabbed-profiles .profile-selection .team-member.inner {
    padding: 0 0.85%;
}
.profiles .profile-selection .slide .inner:focus {
    outline: none;
}
.profiles .profile-selection .slide .inner.active .image,
.profiles.tabbed-profiles .profile-selection .team-member.inner.active .image {
    border-bottom-color: #f78e1e;
    border-top-color: #f78e1e;
}
.profiles .profile-selection .slide .image,
.profiles.tabbed-profiles .profile-selection .team-member .image {
    border-bottom: 4px solid transparent;
    border-top: 4px solid transparent;
    cursor: pointer;
    max-height: 216px;
    overflow: hidden;
    -moz-transition: border-bottom-color 0.3s ease, border-top-color 0.3s ease;
    -ms-transition: border-bottom-color 0.3s ease, border-top-color 0.3s ease;
    -o-transition: border-bottom-color 0.3s ease, border-top-color 0.3s ease;
    -webkit-transition: border-bottom-color 0.3s ease, border-top-color 0.3s ease;
    transition: border-bottom-color 0.3s ease, border-top-color 0.3s ease;
}
.profiles .profile-selection .slide .image img,
.profiles.tabbed-profiles .profile-selection .team-member .image img {
    width: 100%;
}
.profiles .profile-selection .slide header,
.profiles.tabbed-profiles .profile-selection .team-member header {
    padding-top: 10px;
}
.profiles .profile-selection .slide header h5,
.profiles.tabbed-profiles .profile-selection .team-member header h5 {
    color: #21016b;
    margin: 0;
    line-height: 2.1rem;
}
.profiles .profile-selection .slide header h5 + h5,
.profiles.tabbed-profiles .profile-selection .team-member header h5 + h5 {
    color: #6caddf;
}
.profiles .profile-selection .slide .inner:focus header h5 {
    font-style: italic;
}
.profiles .profile-selection .slide .inner:active header h5 {
    font-style: normal;
}
.feature.profiles .profile-selection .step {
    top: 33%;
}

/* tabbed team profiles */
.profiles.tabbed-profiles .section-header .wrapper {
    padding-bottom: 0;
}
.profiles.tabbed-profiles .section-header h2 {
    margin-bottom: 0;
}
.profiles.tabbed-profiles .team-tabs .wrapper {
    padding-top: 30px;
}
.profiles.tabbed-profiles .team-tabs .tabs-select-button {
    display: none;
    width: 100%;
    max-width: none;
    cursor: pointer;
    margin: 20px auto 0;
}
.profiles.tabbed-profiles .team-tabs .tabs-select-button::before {
    content: none;
}
.profiles.tabbed-profiles .team-tabs .tabs-select-button:hover,
.profiles.tabbed-profiles .team-tabs .tabs-select-button:focus {
    color: #21016b;
}
.profiles.tabbed-profiles .team-tabs .tabs-select-button .select-button-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    display: block;
    width: 8px;
    height: 4px;
    margin: auto;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
.profiles.tabbed-profiles .team-tabs .tabs-select-button .select-button-icon::after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #190140;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.profiles.tabbed-profiles .team-tabs .tabs-select-button:hover .select-button-icon,
.profiles.tabbed-profiles .team-tabs .tabs-select-button:focus .select-button-icon,
.profiles.tabbed-profiles .team-tabs .tabs-select-button.active .select-button-icon {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}
.profiles.tabbed-profiles .profile-selection {
    display: table;
    width: 100%;
}
.profiles.tabbed-profiles .profile-selection .wrapper {
    padding-bottom: 35px;
}
.profiles.tabbed-profiles .profile-selection .team-member {
    display: inline-block;
    width: 20%;
    vertical-align: top;
    padding-right: 20px;
    margin-bottom: 20px;
}
.profiles.tabbed-profiles .profile-selection .team-member:nth-child(5n) {
    padding-right: 0;
}
.profiles.tabbed-profiles .profile-selection .team-member header h5 {
    font-family: "Freight Sans W01 Semibold", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 400;
}
.ru .profiles.tabbed-profiles .profile-selection .team-member header h5 {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 600;
}
.profiles.tabbed-profiles .profile-selection .team-member.active header h5,
.profiles.tabbed-profiles .profile-selection .team-member.active header h5:focus,
.profiles .profile-selection .slide .inner.active,
.profiles.tabbed-profiles .profile-selection .team-member:focus header h5 {
    font-style: italic;
}
.profiles.tabbed-profiles .profile-selection .team-member:focus {
    outline: none;
}
.profiles.tabbed-profiles .profile-selection .team-member:active header h5 {
    font-style: normal;
}
.profiles.tabbed-profiles .profile-selection .team-member header h5 + h5 {
    font-family: "Freight Sans W01 Semibold", Arial, "Helvetica Neue", Helvetica, sans-serif;
}
.ru .profiles.tabbed-profiles .profile-selection .team-member header h5 + h5 {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 600;
}
.profiles.tabbed-profiles .teams-list {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.profiles.tabbed-profiles .teams-list li {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    max-width: 0;
    padding-right: 30px;
}
.profiles.tabbed-profiles .teams-list li:last-child {
    padding-right: 0;
}
.profiles.tabbed-profiles .teams-list .team-type {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding-top: 15px;
}
.profiles.tabbed-profiles .teams-list .team-type:focus {
    color: #ffffff;
}
.profiles.tabbed-profiles .teams-list .tabs-select-button {
    display: none;
}
.profiles.tabbed-profiles .profile-selection .team-member .image img {
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}
.profiles.tabbed-profiles .profile-selection .team-member:not(.active):hover .image img {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    -moz-transform: scale3d(1.2, 1.2, 1.2);
    -ms-transform: scale3d(1.2, 1.2, 1.2);
    -o-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2);
}
.profiles.tabbed-profiles .team-group {
    display: none;
}
.profiles.tabbed-profiles .team-group .teams-carousel-container .wrapper {
    padding-top: 0;
}
.profiles.tabbed-profiles .team-group .teams-carousel-container .wrapper .teams-carousel {
    padding-top: 20px;
}

/* profile details */
.profiles .profile-details {
    padding-top: 40px;
    position: relative;
}
.profiles .profile-details .slide {
    padding: 0 70px;
}
.profiles .profile-details .slide .image {
    max-height: 315px;
    max-width: 315px;
    overflow: hidden;
    width: 32%;
}
.profiles .profile-details .slide .image img {
    margin-top: -5%;
    width: 100%;
}
.profiles .profile-details .slide header h3 {
    color: #21016b;
    line-height: 4.4rem;
    margin: 0;
}
.profiles .profile-details .slide header h3 + h3,
.profiles .profile-details .slide header h3 + h3 a {
    color: #6caddf;
}
.profiles .profile-details .slide .details {
    max-width: 685px;
    padding-left: 30px;
    width: 68%;
}
.profiles .profile-details .slide .details .description {
    padding-top: 15px;
}
.profiles .profile-details .slide .details .description p {
    margin-bottom: 14px;
}
.profiles .profile-details .slide .details .description .read-more {
    display: inline-block;
    vertical-align: middle;
}
.profiles .profile-details .slide .details .description .read-more:focus {
    text-decoration: underline;
}
.profiles .profile-details .slide .details .description .excerpt + .detailed {
    display: none;
}
.profiles .profile-details .slide .details .description .excerpt p:last-of-type {
    display: inline;
}

/* key note speakers */
.profiles.key-note-speakers h2 {
    margin-bottom: 28px;
}
.profiles.key-note-speakers .profile-selection .slide {
    margin: 0 -0.85%;
    padding: 0;
}
.profiles.key-note-speakers .profile-selection .slide .inner:focus header h5 {
    font-style: normal;
}
.profiles.key-note-speakers .profile-selection .slide .image {
    cursor: initial;
}
.profiles.key-note-speakers .cta {
    margin-top: 24px;
}

/* key note speakers listing */
.key-note-speakers .profile-selection .slide.listing-container .listing-item.inner {
    display: table;
    width: 100%;
    margin-bottom: 36px;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .listing-col {
    display: table-cell;
    vertical-align: top;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .featured-image {
    width: 184px;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .featured-image .image {
    min-width: 184px;
    max-height: 180px;
    border: none;
    border-right: solid 4px #f78e1e;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description {
    padding-left: 23px;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header {
    padding-top: 0;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header h5 {
    font-family: "Freight Sans W03 Medium", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 2.4rem;
    line-height: 3.4rem;
    margin-bottom: 0;
}
.ru .key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header h5 {
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 500;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header h5 + h5 {
    margin-bottom: 12px;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .read-more {
    display: inline-block;
    margin-left: 5px;
}
.key-note-speakers .profile-selection .slide.listing-container .listing-item .detailed {
    display: none;
}

/* responsive
   ============================ */

@media screen and (max-width: 1024px) {

    /* profile selection */
    .profiles .profile-selection .slide .image {
        max-height: 178px;
    }
    .profiles .profile-selection .slide .inner {
        width: 20%;
    }
    .profiles .profile-selection .slide .inner:nth-child(3n+1) {
        clear: none;
    }

    /* tabbed team profiles */
    .profiles.tabbed-profiles .profile-selection .team-member {
        width: 25%;
    }
    .profiles.tabbed-profiles .teams-list .team-type,
    .profiles.tabbed-profiles .team-tabs .tabs-select-button {
        font-size: 1.8rem;
        line-height: 2.7rem;
        padding: 10px 20px 11px;
    }
}

@media screen and (max-width: 736px) {

    /* profile selection */
    .profiles .wrapper {
        padding-top: 30px;
    }
    .profiles .wrapper .step,
    .profiles .profile-selection {
        display: none;
    }

    /* profile details */
    .profiles .profile-details {
        padding-top: 0;
    }
    .profiles .profile-details h2 {
        margin-bottom: 21px;
    }
    .profiles:not(.tabbed-profiles) .profile-details .slide-container {
        float: none;
        width: 100%;
    }
    .profiles:not(.tabbed-profiles) .profile-details .slide {
        clear: both;
        float: none;
        height: auto;
        margin-bottom: 20px;
        padding: 0;
        width: 100%;
    }
    .profiles .profile-details .slide .image {
        border-top: 4px solid #f78e1e;
        float: none;
        margin: 0 auto 17px;
        max-height: 180px;
        max-width: 180px;
        width: 100%;
    }
    .profiles .profile-details .slide .details {
        padding: 0;
        width: 100%;
    }
    .profiles .profile-details .slide header {
        text-align: center;
    }
    .profiles .profile-details .slide header h3,
    .profiles.tabbed-profiles .profile-selection .team-member header h5 {
        font-size: 2.6rem;
        line-height: 3rem;
    }
    .profiles .profile-details .slide header h3 + h3 {
        font-family: "Freight Sans W01 Semibold", Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-size: 1.8rem;
        line-height: 2.6rem;
    }
    .ru .profiles .profile-details .slide header h3 + h3 {
        font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-weight: 600;
    }
    .profiles .profile-details .slide .details .description .detailed {
        margin-bottom: 31px;
    }
    .profiles .profile-details .slide .details .description .excerpt {
        margin-bottom: 31px;
    }

    /* tabbed team profiles */
    .profiles.tabbed-profiles .profile-selection {
        display: none;
    }
    .profiles.tabbed-profiles .team-tabs {
        margin-bottom: 20px;
        background: #f7f7f7;
    }
    .profiles.tabbed-profiles .team-tabs .wrapper {
        padding: 20px;
    }
    .profiles.tabbed-profiles .team-tabs .tabs-select-button {
        display: block;
        margin-top: 0;
    }
    .profiles.tabbed-profiles .teams-list {
        display: none;
        table-layout: auto;
    }
    .profiles.tabbed-profiles .teams-list li {
        display: inline-block;
        width: 100%;
        max-width: 100%;
        padding-right: 0;
    }
    .profiles.tabbed-profiles .teams-list .team-type {
        max-width: none;
    }
    .profiles.tabbed-profiles .profile-details .slide .image {
        border-top: none;
        float: none;
        margin: 0 auto 17px;
        max-height: 240px;
        max-width: 240px;
        width: 100%;
    }
    .profiles.tabbed-profiles .profile-details .slide .details {
        width: 100%;
        max-width: none;
    }
    .profiles.tabbed-profiles .profile-selection .team-member {
        width: 100%;
    }
    .profiles.tabbed-profiles .profile-details .slide {
        padding: 0;
    }
    .profiles.tabbed-profiles .mod-carousel .step {
        top: 118px;
    }
    .profiles.tabbed-profiles .profile-selection .team-member .image {
        float: none;
        margin: 0 auto 17px;
        max-height: 240px;
        max-width: 240px;
        width: 100%;
    }
    .profiles.tabbed-profiles .profile-selection .team-member header {
        text-align: center;
        padding-top: 0;
    }
    .profiles.tabbed-profiles .profile-selection .team-member header h5 + h5 {
        font-family: "Freight Sans W01 Semibold", Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-size: 1.8rem;
        line-height: 2.6rem;
    }
    .ru .profiles.tabbed-profiles .profile-selection .team-member header h5 + h5 {
        font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-weight: 600;
    }

    /* key note speakers */
    .profiles.key-note-speakers h2 {
        margin-bottom: 22px;
    }
    .profiles.key-note-speakers .profile-selection {
        display: block;
        margin: 0;
    }
    .profiles.key-note-speakers .profile-selection .slide {
        margin: 0;
        padding: 0;
    }
    .profiles.key-note-speakers .profile-selection .slide .inner {
        clear: both;
        margin-bottom: 27px;
        padding: 0;
        text-align: center;
        width: 100%;
    }
    .profiles.key-note-speakers .profile-selection .slide .inner .image {
        border: none;
        margin-bottom: 7px;
        max-height: none;
    }
    .profiles.key-note-speakers .profile-selection .slide .inner .image img {
        border-top: 4px solid #f78e1e;
        width: auto;
    }
    .profiles.key-note-speakers .profile-selection .slide .inner header h5:first-child {
        font-family: "Freight Sans W03 Medium", Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-size: 2.6rem;
        line-height: 3rem;
        margin-bottom: 3px;
    }
    .ru .profiles.key-note-speakers .profile-selection .slide .inner header h5:first-child {
        font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-weight: 500;
    }
    .profiles.key-note-speakers .cta {
        margin-bottom: 8px;
        margin-top: 9px;
    }

    /* key note speakers listing */
    .key-note-speakers .profile-selection .slide.listing-container .listing-item .featured-image .image {
        border-right: none;
        margin-bottom: 0;
    }
    .key-note-speakers .profile-selection .slide.listing-container .listing-item .listing-col {
        display: block;
        width: 100%;
        padding: 0;
    }
    .key-note-speakers .profile-selection .slide.listing-container .listing-item .listing-col .content-container {
        text-align: left;
    }
    .key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header h5:first-child {
        margin-top: 15px;
        margin-bottom: 0;
    }
    .key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header h5 + h5 {
        font-family: "Freight Sans W01 Semibold", Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-size: 1.8rem;
        line-height: 2.6rem;
    }
    .ru .key-note-speakers .profile-selection .slide.listing-container .listing-item .bio-description header h5 + h5 {
        font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        font-weight: 600;
    }
}
