@charset "utf-8";
/* Simple fluid media
   Note: Fluid media requires that you remove the media's height and width attributes from the HTML
   http://www.alistapart.com/articles/fluid-images/ 
*/
img,
object,
embed,
video {
  max-width: 100%;
}
/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
  width: 100%;
}

/*
	Dreamweaver Fluid Grid Properties
	----------------------------------
	dw-num-cols-mobile:		6;
	dw-num-cols-tablet:		10;
	dw-num-cols-desktop:	14;
	dw-gutter-percentage:	25;
	
	Inspiration from "Responsive Web Design" by Ethan Marcotte 
	http://www.alistapart.com/articles/responsive-web-design
	
	and Golden Grid System by Joni Korpi
	http://goldengridsystem.com/
*/

/* Mobile Layout: 480px and below. */

.speaker {
  width: 100%;
  height: 65vh;
  border-radius: 1.5em;
  display: block;
  float: left;
  clear: none;
  cursor: pointer;
  background-color: #00466d;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2.5fr 1fr;
  gap: 1em 1em;
  grid-template-areas:
    "."
    ".";
  overflow: hidden;
  transition: all 0.4s;
  border: 0.5px solid #88cee200;
}

.speaker:hover {
  width: 100%;
  height: 65vh;
  border-radius: 1.5em;
  display: block;
  float: left;
  clear: none;
  cursor: pointer;
  background-color: #00466d;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 2.6fr 0.9fr;
  gap: 1em 1em;
  grid-template-areas:
    "."
    ".";
  overflow: hidden;
  transition: all 0.4s;
  border: 0.5px solid #88cee27c;
}

.speaker-img {
  background-position: center;
  background-size: cover;
  width: 100%;
  width: 100%;
  display: block;
  border-radius: 0 0 2em 2em;
  overflow: hidden;
}

.si-inner {
  width: 100%;
  height: 100%;
  display: block;
  float: left;
  clear: both;
  position: relative;
  background: #004165;
  background: linear-gradient(
    315deg,
    rgba(0, 65, 101, 0) 0%,
    rgba(0, 65, 101, 0) 40%
  );
  transition: all 0.4s;
}

.speaker:hover .speaker-img .si-inner {
  width: 100%;
  height: 100%;
  display: block;
  float: left;
  clear: both;
  position: relative;
  background: #004165;
  background: linear-gradient(
    315deg,
    rgba(0, 65, 101, 0.75) 0%,
    rgba(0, 65, 101, 0) 60%
  );
}

.speaker .speaker-img .si-inner i {
  color: #fff;
  font-size: 3em;
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  transform: rotate(-140deg) scale(100%);
  transition: transform 0.3s ease; /* Smooth transition */
}

.speaker:hover .speaker-img .si-inner i {
  transform: rotate(220deg) scale(100%); /* -140 + 360 = 220deg */
}

.speaker-details {
  width: calc(100% - 4em);
  height: calc(100% - 4em);
  margin: 1em 2em;
  display: block;
  float: left;
  clear: none;
  color: #fff;
}

.speaker-details p {
  color: #ffea96;
}

.speaker-page-top {
  width: 85%;
  height: auto;
  display: block;
  float: left;
  clear: both;
  margin: auto 7.5%;
}

.speaker-pane {
  width: 85%;
  height: auto;
  display: block;
  float: left;
  clear: both;
  margin: 2em 7.5%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  gap: 2em 2em;
  grid-template-areas: ". ";
}

.speaker-page-top h3 {
  color: #004165;
}

.speaker-pane .speaker {
  background-color: #ffffff;
}

.speaker-pane .speaker:hover {
  background-color: #f4f8fa;
}

.speaker-pane .speaker h5 {
  color: #004165;
}

.speaker-pane .speaker p {
  color: #004165;
}

/* Tablet Layout: 481px to 768px. Inherits styles from: Mobile Layout. */

@media only screen and (min-width: 481px) {
  .speaker-pane {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: both;
    margin: 2em 7.5%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 2em 2em;
    grid-template-areas: ". .";
  }
}

/* Desktop Layout: 769px to a max of 1232px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 769px) {
  .speaker-pane {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: both;
    margin: 2em 7.5%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 2em 2em;
    grid-template-areas: ". . ";
  }
}
/* Desktop Layout: 769px to a max of 1080px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 1080px) {
  .speaker {
    width: 100%;
    height: 65vh;
    border-radius: 1.5em;
    display: block;
    float: left;
    clear: none;
    cursor: pointer;
    background-color: #00466d;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 2.5fr 1fr;
    gap: 1em 1em;
    grid-template-areas:
      "."
      ".";
    overflow: hidden;
    transition: all 0.4s;
    border: 0.5px solid #88cee200;
  }

  .speaker:hover {
    width: 100%;
    height: 65vh;
    border-radius: 1.5em;
    display: block;
    float: left;
    clear: none;
    cursor: pointer;
    background-color: #00466d;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 2.6fr 0.9fr;
    gap: 1em 1em;
    grid-template-areas:
      "."
      ".";
    overflow: hidden;
    transition: all 0.4s;
    border: 0.5px solid #88cee27c;
  }

  .speaker-img {
    background-position: center;
    background-size: cover;
    width: 100%;
    width: 100%;
    display: block;
    border-radius: 0 0 2em 2em;
    overflow: hidden;
  }

  .si-inner {
    width: 100%;
    height: 100%;
    display: block;
    float: left;
    clear: both;
    position: relative;
    background: #004165;
    background: linear-gradient(
      315deg,
      rgba(0, 65, 101, 0) 0%,
      rgba(0, 65, 101, 0) 40%
    );
    transition: all 0.4s;
  }

  .speaker:hover .speaker-img .si-inner {
    width: 100%;
    height: 100%;
    display: block;
    float: left;
    clear: both;
    position: relative;
    background: #004165;
    background: linear-gradient(
      315deg,
      rgba(0, 65, 101, 0.75) 0%,
      rgba(0, 65, 101, 0) 60%
    );
  }

  .speaker .speaker-img .si-inner i {
    color: #fff;
    font-size: 3em;
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    transform: rotate(-140deg) scale(100%);
    transition: transform 0.3s ease; /* Smooth transition */
  }

  .speaker:hover .speaker-img .si-inner i {
    transform: rotate(220deg) scale(100%); /* -140 + 360 = 220deg */
  }

  .speaker-details {
    width: calc(100% - 4em);
    height: calc(100% - 4em);
    margin: 1em 2em;
    display: block;
    float: left;
    clear: none;
    color: #fff;
  }

  .speaker-details p {
    color: #ffea96;
  }

  .speaker-page-top {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: both;
    margin: auto 7.5%;
  }

  .speaker-pane {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: both;
    margin: 2em 7.5%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 2em 2em;
    grid-template-areas: ". . .";
  }

  .speaker-page-top h3 {
    color: #004165;
  }

  .speaker-pane .speaker {
    background-color: #ffffff;
  }

  .speaker-pane .speaker:hover {
    background-color: #f4f8fa;
  }

  .speaker-pane .speaker h5 {
    color: #004165;
  }

  .speaker-pane .speaker p {
    color: #004165;
  }
}

/* Desktop Layout:1080px to a max of 1440px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 1440px) {
  .speaker-pane {
    width: 85%;
    height: auto;
    display: block;
    float: left;
    clear: both;
    margin: 2em 7.5%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 2em 2em;
    grid-template-areas: ". . . .";
  }
}

/* Desktop Layout: 1440px to a max of 1920px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 1920px) {
}
/* Desktop Layout: 1920px to a max of 2400px.  Inherits styles from: Mobile Layout and Tablet Layout. */

@media only screen and (min-width: 2400px) {
}
