/*
version: 2.0.0
 */

/* ===========================
   New BEM classes (v2)
   =========================== */

.session-speakers__list {
   display: flex;
   flex-wrap: wrap;
   gap: 15px;
}

.session-speakers__item {
   display: flex;
   flex-direction: column;
   flex: 1 1 100%;
   padding: 10px;
   box-sizing: border-box;
}

/* List direction: speakers side-by-side */
.session-speakers-dir-row .session-speakers__item {
   flex: 0 1 auto;
}

/* Item layout: image beside text */
.session-speakers-layout-row .session-speakers__item {
   flex-direction: row;
}

.session-speakers-layout-row .session-speakers__image {
   margin: 0;
   flex-shrink: 0;
}

.session-speakers-layout-row .session-speakers__image--circle,
.session-speakers-layout-row .session-speakers__image--square {
   width: auto;
   height: auto;
   max-width: 100%;
   max-height: 100%;
}

.session-speakers-layout-row .session-speakers__image--circle img,
.session-speakers-layout-row .session-speakers__image--square img {
   position: static;
   width: 100%;
   height: auto;
   min-height: 0;
}

.session-speakers-layout-row .session-speakers__info {
   margin-top: 0;
   width: auto;
   flex: 1;
   min-width: 0;
}

.session-speakers--cols-2 .session-speakers__item { flex-basis: calc(50% - 15px); }
.session-speakers--cols-3 .session-speakers__item { flex-basis: calc(33.333% - 15px); }
.session-speakers--cols-4 .session-speakers__item { flex-basis: calc(25% - 15px); }

.session-speakers__image {
   text-align: center;
   margin: auto;
}

.session-speakers__image img {
   display: block;
}

.session-speakers__image--circle {
   overflow: hidden;
   border-radius: 50%;
   max-height: 150px;
   max-width: 150px;
   height: 150px;
   width: 150px;
   position: relative;
   margin: auto;
}

.session-speakers__image--circle img {
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   min-height: 150px;
}

.session-speakers__image--square {
   max-height: 150px;
   max-width: 150px;
   height: 150px;
   width: 150px;
   overflow: hidden;
   position: relative;
   margin: auto;
}

.session-speakers__image--square img {
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   min-height: 150px;
}

.session-speakers__info {
   width: 100%;
   text-align: center;
}

.session-speakers__info p {
   font-family: sans-serif;
   margin-bottom: 5px;
}

.session-speakers__name {
   font-size: 1.25rem;
}

.session-speakers__name a:hover {
   text-decoration: underline;
}

.session-speakers__company,
.session-speakers__title {
   color: #707070;
   font-size: 1rem;
}

.session-speakers__title {
   font-style: italic;
}

.session-speakers__heading {
   color: #6C6C6C;
   font-size: 1.625rem;
   font-weight: 400;
   line-height: 1.2em;
   margin: 10px 0;
   border-top: 1px solid #eaeaea;
   padding-top: 10px;
}

.session-speakers__term {
   display: inline-block;
}

/* ===========================
   Legacy classes (backward compat)
   =========================== */

.speakers.elementor-row {
   flex-wrap: wrap;
}

.speaker__image--circle {
   overflow: hidden;
   border-radius: 150px;
   max-height: 150px;
   max-width: 150px;
   text-align: center;
   margin: auto;
   height: 150px;
   position: relative;
   width: 150px;
}

.speaker__image--circle img {
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   min-height: 150px;
}

.single-speaker .speaker__image {
   overflow: hidden;
   border-radius: 250px;
   max-height: 250px;
   max-width: 250px;
   text-align: center;
   height: 250px;
   position: relative;
   width: 250px;
}

.single-speaker .speaker__image img {
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   min-height: 250px;
}

.speaker__image img {
   display: block;
}

.speaker__info {
   margin-top: 15px;
   width: 100%;
   text-align: center;
}

.speaker__info p {
   font-family: sans-serif;
   margin-bottom: 5px;
}

.speaker__info--name {
   font-size: 1.25rem;
}

.speaker__info--name a:hover{
   text-decoration: underline;
}

.speaker__info--company, .speaker__info--title {
   color: #707070;
   font-size: 1.75rem;
   font-size: 1rem;
}

.speaker__info--title {
   font-style: italic;
}

.speaker.elementor-column {
   padding-bottom: 25px;
   padding-left: 10px;
   padding-right: 10px;
   padding-top: 10px;
}


/* For widget in Single Session */

.speaker__image--square {
   max-height: 150px;
   max-width: 150px;
   height: 150px;
   width: 150px;
   margin: 0;
   margin-top: 3px;
   overflow: hidden;
   position: relative;
   margin: auto;
   background-image: var(--wpr-bg-33a9e961-5f92-4651-9b8c-6a6bf1c426bb);
   background-position: center;
   background-size: cover;
}

.speaker__image--square img {
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   min-height: 150px;
}

.single-session .speaker__image--circle {
   border-radius: 75px;
   max-height: 75px;
   max-width: 75px;
   height: 75px;
   width: 75px;
   margin: 0;
   margin-top: 3px;
   background-image: var(--wpr-bg-54b36a66-6a7f-4a13-80d9-74c31049c947);
   background-position: center;
   background-size: cover;
}

.single-session .speaker__image--circle img {
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   min-height: 75px;
}

.single-session .speaker__info {
   width: 65%;
   margin-top: 0;
   padding-left: 15px;
   text-align: left;
}

.single-session .speaker__info--name {
   font-size: 1.1rem;
   line-height: 1.25rem;
   margin-bottom: 5px;
}

.single-session .speaker__info--company, .single-session .speaker__info--title {
   font-size: .8rem;
   line-height: 1rem;
}

.single-speaker .speaker__info {
   margin: 0;
}

.single-speaker .speaker__info--sessions {
   display: block;
}

.single-speaker .speaker__info--session-details {
   width: 100%;
   margin-bottom: 10px;
}

.single-speaker .speaker__info--session-name h6 a:hover {
   text-decoration: underline;
}

.single-speaker .speaker__info--session-date, .single-speaker .speaker__info--session-time {
   font-size: .9rem;
}

.single-speaker .speaker__info--company label, .single-speaker .speaker__info--title label, .single-speaker .speaker__info--job-title label {
   font-size: 1rem;
   line-height: 1.25rem;
   color: #707070;
   text-align: left;
   vertical-align: top;
}

.single-speaker .speaker__info--name h4 {
   font-size: 2rem;
   margin-bottom: 0;
}

.single-speaker .speaker__info--session-name h6 {
   font-size: 1.125rem;
}

.speaker__info--session-date i, .speaker__info--session-time i {
   color: #888;
   padding-right: 8px;
}

.single-speaker .elementor-widget-theme-post-content p span, .single-speaker .elementor-widget-theme-post-content p {
   font-size: 1rem!important;
   color: #444;
   line-height: 1.75rem;
}

.speaker.elementor-element.elementor-column.elementor-col {
   width: 100%;
}

.single-speaker .speaker__info--session.elementor-element {
   width: 100%;
   background: #eaeaea;
   padding: 12px 20px;
   border-radius: 3px;
   margin-bottom: 30px;
}

.single-speaker .speaker__info--sessions.elementor-row {
   display: flex;
   flex-wrap: wrap;
}

.speakers.elementor-row .speaker {
    padding-left: 0;
}

h2.single__session-speakers-heading.elementor-heading-title, h2.single__session-topics-heading.elementor-heading-title {
    color: #6C6C6C;
    font-size: 1.625rem;
    font-weight: 400;
    line-height: 1.2em;
    margin: 10px 0;
    border-top: 1px solid #eaeaea;
    padding-top: 10px;
}

.single-session .elementor-section .elementor-widget-session-speakers-widget .elementor-container {
   display: block;
}

@media screen and (min-width: 768px) {
   .single-speaker .speaker__info--session.elementor-element {
      width: 25%;
      margin-right: 5%;
   }
}
