@charset "utf-8";
/* --------------------------- General Classes -----------------------------*/
body {
	color: #414042;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	overflow-x: hidden;
	background-image: linear-gradient(135deg, #6b0211, #c9172b 35%);
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.4;
	font-weight: bold;
}
p {
	font-size: 16px;
    line-height: 1.4;
    font-weight: 300;
}
img {
	max-width: 100%;
}
a.text-link {
	color: #ffffff;
	font-size: 18px;
    line-height: 1.8;
	font-style: italic;
}
a.text-link:hover {
	color: #bdbdbd;
}
.light {
	font-weight: 300;
}
.semibold {
	font-weight: 600;
}
.bold {
	font-weight: bold;
}
.weight-regular {
	font-weight: 400;
}
.weight-black {
	font-weight: 900;
}
.center {
	text-align: center;
}
.align-right {
	text-align: right;
}
.underline {
	text-decoration: underline;
}
.italic {
	font-style: italic;
}
.white {
	color: #fff;
}
.red {
	color: #AC051D;
}
.fill-ltgray {
	background-color: #e5e5e5;
}
.fill-red {
	background-color: #A21D2F;
}
.fill-purple {
	background-color: #3d1f37;
}
.fill-orange {
	background-color: #e7804d;
}
.fill-turquoise {
	background-color: #13a28f;
}
.fill-ltblue {
	background-color: #90d2ce;
}
.borderT {
	border-top: 3px solid #fff;
}
.borderTB {
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
}
.borderAll {
	border: 3px solid #fff;
}
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
	background: #ffffff;
	color: #000000;
}
.btn.btn-default {
	background: #ffffff;
	color: #000000;
	font-size: 22px;
    border-radius: 20px;
    padding: 19px 45px;
	font-weight: 600;
	transform: scale(1.0);
	transition: 0.4s transform;
}
.btn.btn-default.turquoise {
	color: #13a28f;
}
.btn.btn-default.purple {
	color: #681f5e;
}
.btn.btn-default:hover {
	transform: scale(0.95);
	transition: 0.4s transform;
}
.inline-buttons .btn.btn-default, .inline-buttons a {
	margin: 0 15px;
}
.inline-buttons .text-link {
	margin: 0 0 20px 0;
}
@media only screen and (max-width: 767px) {
	.inline-buttons {
		text-align: center;
	}
	.inline-buttons .text-link {
		text-align: left;
	}
	.inline-buttons .btn.btn-default, .inline-buttons a img {
		margin: 10px 0;
	}
}
@media only screen and (min-width: 992px) {
	.inline-buttons .text-link {
		margin: 0 40px 0 0;
	}
}
.relative {
	position: relative;
}
.absolute-right {
	position: absolute;
	right: 0;
}
.nomargin {
	margin: 0;
}
.spacer5 {
	padding: 5px 0;
}
.spacer10 {
	padding: 10px 0;
}
.spacer20 {
	padding: 20px 0;
}
.spacer30 {
	padding: 30px 0;
}
.spacer40 {
	padding: 40px 0;
}
.spacer50 {
	padding: 50px 0;
}
.spacer100 {
	padding: 100px 0;
}
.nopadding {
	padding: 0 !important;
}
.nopaddingR {
	padding-right: 0 !important;
}
.nopaddingL {
	padding-left: 0 !important;
}
.paddingTB-exBig {
	padding: 150px 0;
}
.paddingTB {
	padding: 100px 0;
}
.paddingTB-sm {
	padding-top: 50px;
	padding-bottom: 50px;
}
.paddingTB-xsm {
	padding-top: 35px;
	padding-bottom: 35px;
}
.paddingLR-sm {
	padding-left: 15px;
	padding-right: 15px;
}
.paddingB-xsm {
	padding-bottom: 25px;
}
.paddingT {
	padding-top: 100px;
}
.paddingT-exBig {
	padding-top: 150px;
}
.paddingT-xxBig {
	padding-top: 200px;
}
.paddingB-exBig {
	padding-bottom: 150px;
}
.paddingB {
	padding-bottom: 100px;
}
@media only screen and (max-width: 767px) {
	.paddingTB {
		padding: 50px 0;
	}
	.paddingTB-exBig {
		padding: 75px 0;
	}
	.paddingT-exBig {
		padding-top: 75px;
	}
	.paddingT-xxBig {
		padding-top: 100px;
	}
	.nopadding-sm {
		padding: initial;
	}
} 
@media only screen and (min-width: 992px) {
	.col-1-negmarginL {
		margin-left: -8.3333333333333%
	}
	.col-1-negmarginR {
		margin-right: -8.3333333333333%
	}
}


/* --------------------------- Layout -----------------------------*/
.flex-middle {
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.flex-img-middle
{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.flex-right {
	display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.flex-centered {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.flex-end {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
}
@media only screen and (min-width: 1400px) {
	.container-fluid {
		padding: 0 150px;
	}
}
@media only screen and (min-width: 1800px) {
	.container {
		max-width: 1680px;
	}
}
.row {
    margin: auto 0;
}


.mouse-movable {
	position: absolute;
}



/* --------------------------- Top Ribbon -----------------------------*/
#top-ribbon {
	background: #fff;
	padding: 14px 0;
}
#top-ribbon-text {
	font-weight: 500;
	line-height: 1.5;
    font-size: 18px;
    margin-bottom: 0;
}
@media only screen and (min-width:  567px) {
	#top-ribbon-text {
		font-weight: 500;
		line-height: 1;
	}
}
#top-ribbon a.text-link { 
	color: #414042;
	font-weight: 600;
	line-height: 1.5;
    font-size: 18px;
	font-style: normal;
	text-decoration: none;
}
#top-ribbon a.text-link:hover { 
	color: #ac2330;
}
#top-ribbon img { 
	max-height: 28px;
}



/* --------------------------- Menu -----------------------------*/
.navbar {
    top: 0;
    width: 100%;
    padding: 30px 12px 12px;
}
@media only screen and (max-width:  1199px) {
	.navbar {
    	z-index: 30;
	}
}
.navbar > .container {
    align-items: flex-start;
}
.navbar-brand {
	max-width: 60%;
    margin: 10px 0 5px;
}
@media only screen and (min-width: 576px) {
	.navbar-brand {
		max-width: 42%;
	}
}
@media only screen and (min-width: 768px) {
	.navbar-brand {
		max-width: 33%;
	}
}
@media only screen and (min-width: 1200px) {
	.navbar-brand {
		max-width: 25%;
	}
	.navbar-expand-xl .navbar-collapse {
		justify-content: flex-end;
	}
}
@media only screen and (min-width: 1500px) {
	.navbar-brand {
		max-width: 28%;
	}
}
.navbar-collapse {
	background: #fff;
	padding: 0 15px;
}
.navbar-collapse .text-link {
	color: #000;
}
.navbar-collapse .text-link:hover {
	color: #000;
}
@media only screen and (min-width: 1200px) {
	.navbar-collapse {
		background: transparent;
	}
	.navbar-collapse .text-link {
		color: #fff;
	}
}
@media only screen and (min-width: 1500px) {
	.navbar-collapse {
		padding-left: 75px;
	}
}
nav .fa-bars {
	color: #fff;
    font-size: 33px;
}
.navbar-expand-xl .navbar-nav .nav-link {
	font-weight: 400;
}
@media only screen and (min-width: 1200px) {
	.navbar-expand-xl .navbar-nav .nav-link {
		margin-bottom: -20px;
	}
	.nav-link.text-link:hover {
		color: #ffffff;
	}
}
@media only screen and (min-width: 1400px) {
	.navbar-expand-xl .navbar-nav .nav-link {
		padding-right: 1.2rem;
    	padding-left: 1.2rem;
	}
}
.nav-item-border {
	background-color: #ffffff;
	height: 2px;
	width: 0%;
	transition: width 0.3s ease-in-out;
}
.nav-link:hover .nav-item-border {
	background-color: #ffffff;
	height: 2px;
	width: 100%;
	transition: width 0.3s ease-in-out;
}
.navbar a.text-link {
	font-style: normal;
}



/* --------------------------- First Section -----------------------------*/
#header-top {
	background-image: url('../img/top-bkg.png');
	background-position: right;
	background-size: auto 82%;
	background-repeat: no-repeat;
}
#header-top-text {
	padding-top: 50px;
	padding-bottom: 50px;
}
#header-top-text .row {
	height: 100%;
}
#top-title {
	color: #ffffff;
	font-weight: 800;
	line-height: 1;
	font-size: clamp(55px, 7vw, 10rem);
}




/* --------------------------- Background Gradients -----------------------------*/
#blue-gradient {
	background-image: linear-gradient(#ffffff, #ffffff), linear-gradient(135deg, #1b808c, #169f8c 50%);
	background-position: center 10%, bottom;
	background-size: 100% 2px, 100% 90%;
	background-repeat: no-repeat;
}


/* --------------------------- Next section down from the top -----------------------------*/
#container-breaking-topbkg {
	background-color: #ffffff;
	width: 100%;
	height: 100%;
    border-radius: 40px;
	position: absolute;
    right: 0;
    z-index: 0;
}
@media (min-width: 576px) {
	#container-breaking-topbkg {
		background-color: #ffffff;
		background-repeat: no-repeat;
	}
}
@media (max-width: 991px) {
	#container-breaking-topbkg {
	    width: 96%;
		right: 2%;
	}
}
@media (min-width: 992px) {
	#container-breaking-topbkg {
	    left: 5%;
	}
}
.card {
	height: 100%;
	padding: 10%;
    border: none;
    border-radius: 16px;
    color: #ffffff;
	justify-content: center;
}
.card.turquoise {
	background-color: #13a28f;
}
.card.purple {
	background-color: #2b1527;
}
.card.orange {
	background-color: #f58a4d;
}
.card.ltblue {
	background-color: #90d2ce;
}
.card p {
	font-weight: 400;
}




/* --------------------------- Speakers Section & Slider -----------------------------*/
#speakers {
	overflow: hidden;
}
h2.bubble {
	background-color: #ffffff;
    padding: 5px 32px;
    margin: 0;
    border-radius: 80px;
    display: inline-block;
    font-size: 32px;
	position: relative;
	z-index: 1;
}
@media (min-width: 992px) {
	h2.bubble {
		font-size: 42px;
	}
}
h2.bubble.turquoise {
	color: #13a28f;
}
h2.bubble.purple {
	color: #2b1527;
}
.background-border {
	position: absolute;
	height: 2px;
	width: 200%;
	background-color: #fff;
    top: 28px;
    left: 10%;
    z-index: 0;
}
@media (min-width: 1200px) {
	.background-border {
		top: 35px;
	}
}
.speaker-card-container {
	border-radius: 22px;
    overflow: hidden;
	background-color: #ffffff;
	margin: 30px 10px;
	position: relative;
	transform: scale(1);
	z-index: 1;
	transition: transform 0.5s;
}
@media (min-width: 992px) {
	.speaker-card-container {
		margin: 0;
	}
	.speaker-card-parent:first-child .speaker-card-container {
		left: 20%;
		margin-top: 20%;
	}
	.speaker-card-parent:nth-child(2) .speaker-card-container {
		left: 10%;
		margin-top: 50%;
	}
	.speaker-card-parent:nth-child(3) .speaker-card-container {
		margin-top: 10%;
	}
	.speaker-card-parent:nth-child(4) .speaker-card-container {
		right: 10%;
		margin-top: 40%;
	}
	.speaker-card-parent:nth-child(5) .speaker-card-container {
		right: 20%;
		margin-top: 30%;
	}
	.speaker-card-parent:hover {
		transform: scale(1.05);
		z-index: 2;
		transition: transform 0.5s;
	}
}
.speaker-card {
	padding: 4px;
}
.speaker-card-inner {
	border-radius: 22px;
    overflow: hidden;
}
.speaker-card-text {
	padding: 6% 8%;
}
.speaker-card-text h4, .speaker-card-text p {
	color: #ffffff;
	margin: 0;
}
.speaker-card-text.red {
	background: linear-gradient(135deg, #6b0211, #c9172b);
}
.speaker-card-text.purple {
	background: linear-gradient(135deg, #4b2643, #681f5e);
}
.speaker-card-text.orange {
	background: linear-gradient(135deg, #ec604d, #f2854d);
}
.speaker-card-text.turquoise {
	background: linear-gradient(135deg, #1b808c, #169f8c);
}
.speaker-content-hidden {
	max-height: 0;
	opacity: 0;
	transition: max-height 0.7s, opacity 0.5s 0s;
}
.speaker-content-hidden.active {
	max-height: 100%;
	opacity: 1;
	transition: max-height 1s, opacity 0.5s 0.2s;
}
#more-speakers {
	position: relative;
    z-index: 1;
}



/* --------------------------- Schedule Section -----------------------------*/
h2#schedule-bubble.wed {
	color: #f58a4d;
}
h2#schedule-bubble.thurs {
	color: #13a28f;
}
#purple-gradient {
	background-image: linear-gradient(135deg, #4b2643, #681f5e);
    background-position: center 80px;
    background-size: 100%;
    background-repeat: no-repeat;
}
@media (min-width: 768px) {
	#purple-gradient {
		background-position: center 130px;
	}
}
@media (min-width: 1200px) {
	#purple-gradient {
		background-position: center 135px;
    	background-size: 100%;
	}
}
#container-breaking-schedule {
	background-color: #2b1527;
	width: 100%;
	height: 100%;
    border-radius: 40px;
	position: absolute;
    right: 0;
    z-index: 0;
}
#container-breaking-schedule.wed {
	background-color: #e57842;
}
#container-breaking-schedule.thurs {
	background-color: #118975;
}
@media (min-width: 576px) {
	#container-breaking-schedule {
		background-repeat: no-repeat;
	}
}
@media (max-width: 991px) {
	#container-breaking-schedule {
	    width: 96%;
		right: 2%;
	}
}
@media (min-width: 992px) {
	#container-breaking-schedule {
	    right: 5%;
	}
}
#schedule-top-container {
	background-image: linear-gradient(#ffffff 62%, #3d1f37 62%);
	background-repeat: no-repeat;
}
#schedule-top {
	background-image: url('../img/schedule-bkg/bkg.png');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	padding-top: 20%;
}
#schedule {
	overflow: hidden;
}
#schedule .col-12 {
	z-index: 20;
}
#schedule-tabs-container {
	background-image: url('../img/schedule-bkg/dots.png'), url('../img/schedule-bkg/lines.png'), url('../img/schedule-bkg/square.png');
	background-position: left bottom, 96% 97%, right bottom;
	background-repeat: no-repeat;
}
.nav-tabs {
	border: none;
}
.nav-tabs {
	justify-content: center;
}
.nav-tabs .nav-link {
	color: #ffffff;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.2;
	border: none;
    border-radius: 18px;
    padding: 26px 15px;
	margin: 10px 3%;
    min-width: 15%;
}
.nav-tabs .nav-link.orange {
  	background-color: #f58a4d;
}
.nav-tabs .nav-link.purple {
  	background-color: #4b2643;
}
.nav-tabs .nav-link.turquoise {
  	background-color: #13a28f;
}
@media only screen and (min-width:  576px) {
	.nav-tabs .nav-link {
    	margin: 0 3%;
		padding: 26px 15px;
	}
}
@media only screen and (min-width:  992px) {
	.nav-tabs .nav-link {
    	padding: 35px 25px;
	    font-size: 30px;
	}
}
.nav-tabs .nav-link.active {
	background-color: #ffffff;
}
.nav-tabs .nav-link.active.orange {
  	color: #f58a4d;
}
.nav-tabs .nav-link.active.purple {
  	color: #4b2643;
}
.nav-tabs .nav-link.active.turquoise {
	color: #13a28f;
}
.tab-pane {
	padding: 30px 20px;
}
@media (min-width: 768px) {
	.tab-pane {
		padding: 25px 40px;
	}
}
.tab-pane .schedule-details {
	padding: 35px 20px 25px;
}
.tab-pane.purple .schedule-details {
    border-bottom: 4px solid #3d1f37;
}
.tab-pane.orange .schedule-details {
    border-bottom: 4px solid #f68b4e;
}
.tab-pane.turquoise .schedule-details {
    border-bottom: 4px solid #13a28f;
}
@media (min-width: 768px) {
	.tab-pane .schedule-details {
		padding: 35px 50px 25px;
	}
}
.tab-pane .schedule-details:last-child {
    border-bottom: none;
	padding-bottom: 0;
}
.schedule-title {
	font-weight: bold;
	color: #ffffff;
	margin-bottom: 10px;
	font-size: calc(1.375rem + 1vw);
}
@media only screen and (min-width: 1200px) {
	.schedule-title {
		font-size: 2rem;
	}
}
.schedule-time {
	color: #ffffff;
	margin-bottom: 10px;
	font-weight: 600;
}
.schedule-details p {
	font-size: 16px;
	color: #ffffff;
}


/* --------------------------- Footer -----------------------------*/
#home-footer {
	background-image: url("../img/footer-bkg.png");
	background-position: top left;
	background-size: auto 100%;
	background-repeat: no-repeat;
}
@media only screen and (min-width: 768px) {
	#home-footer {
		background-size: 100% 100%;
	}
}



/* --------------------------- Modals --------------------------- */
@media only screen and (min-width: 1200px) {
	.modal-lg {
	    max-width: 1000px;
	}
}
.fa-times {
	font-size: 25px;
	color: #fff;
}
.modal {
	background: rgba(0, 0, 0, 0.68);
}
.modal-content {
	background-color: transparent;
    border: none;
}
.modal-header {
	border: none;
	padding: 16px 16px 0;
}
.modal-content iframe {
	width: 100%;
}
.modal-content iframe {
	height: calc(100vw / 2);
}
@media only screen and (min-width: 576px) {
	.modal-content iframe {
		height: calc(500px / 1.9);
	}
}
@media only screen and (min-width: 992px) {
	.modal-content iframe {
		height: calc(800px / 1.9);
	}
}
@media only screen and (min-width: 1200px) {
	.modal-content iframe {
		height: calc(1000px / 1.9);
	}
}
.modal-content .modal-body {
	padding: 0 10px;
}