/** FONTS **/

@font-face {
  font-family: 'Workday Adelle Sans Regular';
  src: url({{ 'WorkdayAdelleSans-Regular.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Meduim';
  src: url({{ 'WorkdayAdelleSans-Medium.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Bold Italic';
  src: url({{ 'WorkdayAdelleSans-BoldItalic.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Bold';
  src: url({{ 'WorkdayAdelleSans-Bold.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Light';
  src: url({{ 'WorkdayAdelleSans-Light.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Italic';
  src: url({{ 'WorkdayAdelleSans-Italic.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Meduim Italic';
  src: url({{ 'WorkdayAdelleSans-MediumItalic.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Light Italic';
  src: url({{ 'WorkdayAdelleSans-LightItalic.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Heavy';
  src: url({{ 'WorkdayAdelleSans-Heavy.otf' | asset_url }});
}

@font-face {
  font-family: 'Workday Adelle Sans Extra Bold';
  src: url({{ 'WorkdayAdelleSans-Extrabold.otf' | asset_url }});
}



@font-face {
  font-family: 'Montserrat';
  src: url({{ 'Montserrat-VariableFont_wght.ttf' | asset_url }});
}

@font-face {
  font-family: 'Montserrat-Italic';
  src: url({{ 'Montserrat-Italic-VariableFont_wght.ttf' | asset_url }});
}



/***************** SETUP CUSTOM VARIABLES *****************/

/***************** DEFAULTS *****************/
:root {
  --primary-background: #172B54;
  --primary-text-color: #ffffff;
  --primary-button-background-color: #172B54;
  --primary-button-text-color: #ffffff;
  --primary-button-background-color-hover: #172B54;
  --primary-button-text-color-hover: #ffffff;

  --secondary-background: #172B54;
  --secondary-text-color: #ffffff;
  --secondary-button-background-color: #ffffff;
  --secondary-button-text-color: #005CB9;
  --secondary-button-background-color-hover: rgb(240, 241, 243);
  --secondary-button-text-color-hover: #005CB9;

  --section-color: rgb(240, 241, 243);

  --primary-error: #F38B00;
  --primary-form-divider: #40B4E5;

  --font: 'Montserrat', Arial, Helvetica, sans-serif;
  --text-color: #000000;

  --divider-color: #FFC629;
}


/***************** OVERRIDE DEFAULTS *****************/

:root .light {
  --primary-background: #0875E1;
  --primary-text-color: #ffffff;
  --primary-button-background-color: #0875E1;
  --primary-button-text-color: #ffffff;
  --primary-button-background-color-hover: #005CB9;
  --primary-button-text-color-hover: #ffffff;

  --secondary-background: #005CB9;
  --secondary-text-color: #ffffff;
  --secondary-button-background-color: #ffffff;
  --secondary-button-text-color: #0875E1;
  --secondary-button-background-color-hover: rgb(240, 241, 243);
  --secondary-button-text-color-hover: #0875E1;

  --section-color: rgb(240, 241, 243);

  --primary-error: #40B4E5;
  --primary-form-divider: #FFDA61;

  --font: 'Montserrat', Arial, Helvetica, sans-serif;
  --text-color: #000000;

  --divider-color: #FFC629;
}


:root .yellow {
  --primary-background: #FFC629;
  --primary-text-color: #ffffff;

  --primary-button-background-color: #FFC629;
  --primary-button-text-color: #ffffff;

  --primary-button-background-color-hover: #FFDA61;
  --primary-button-text-color-hover: #ffffff;

  --secondary-button-background-color: #ffffff;
  --secondary-button-text-color: #FFDA61;

  --secondary-button-background-color-hover: rgb(240, 241, 243);
  --secondary-button-text-color-hover: #FFDA61;

  --secondary-background: #FFDA61;
  --secondary-text-color: #ffffff;

  --section-color: rgb(240, 241, 243);


  --primary-orange: #40B4E5;
  --primary-yellow: #FFC629;
  --primary-light-blue: #40B4E5;

  --secondary-orange: #FFA126;
  --secondary-yellow: #FFDA61;
  --secondary-light-blue: #99E0FF;

  --font: 'Montserrat', Arial, Helvetica, sans-serif;
  --text-color: #000000;

  --divider-color: #FFDA61;

}




* {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  box-sizing: border-box;
}


/***************** FONT FAMILIES *****************/

strong,
strong *,
b,
b * {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: bold;
}

i,
i * {
  font-family: 'Montserrat-Italic', Arial, Helvetica, sans-serif;
}

i b,
i b *,
i strong,
i strong *,
strong i,
strong i *,
b i,
b i * {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: bold;
}

h1,
h1 *,
h2,
h2 *,
h3,
h3 *,
h4,
h4 *,
h5,
h5 *,
h6,
h6 * {
  font-family: 'Montserrat', Arial, Helvetica, sans-serif;
  font-weight: bold;
}


/*!---------- FORMS ----------*/
input,
button,
select,
textarea {
  font-family: var(--font);
}

input[type="text"] input[type="email"],
button,
textarea,
input[type="password"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.bg-secondary input[type="text"] .bg-secondary input[type="email"],
.bg-secondary textarea,
.bg-secondary select {
  background: #fff;
}

.input-lh {
  line-height: 50px;
}

.attempted-submit .field-error {
  outline: 1px red !important;
}

.input-with-label span {
  font-family: var(--font);
  font-size: 11px;
  text-transform: uppercase;
  color: #292929;
  letter-spacing: 1px;
  font-weight: 700;
  display: block;
  cursor: default;
}

input[type="text"],
input[type="password"],
input[type="email"] {
  background: #f5f5f5;
  border: none;
  width: 100%;
  height: 50px;
  padding-left: 20px;
  font-weight: 500;
  border-radius: 0;
}

.image-bg input[type="text"],
.image-bg input[type="email"],
.image-bg textarea {
  color: #555;
}

.image-bg.bg-light input.transparent,
.image-bg.bg-light button.transparent {
  border-color: #292929;
}

input.transparent,
button.transparent {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff !important;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus {
  outline: 1px solid #ccc;
}

textarea {
  width: 100%;
  border: none;
  background: #f5f5f5;
  border-radius: 0;
  padding: 16px 20px;
}

textarea:focus {
  outline: 1px solid #ccc;
}

::-webkit-input-placeholder {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: #777;
  font-size: 11px;
}

:-moz-placeholder {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: #777;
  font-size: 11px;
}

::-moz-placeholder {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: #777;
  font-size: 11px;
}

:-ms-input-placeholder {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: #777;
  font-size: 11px;
}

input.transparent::-webkit-input-placeholder,
button.transparent::-webkit-input-placeholder {
  color: #fff;
}

input.transparent::-moz-input-placeholder,
button.transparent::-moz-input-placeholder {
  color: #fff;
}

input.transparent:-moz-input-placeholder,
button.transparent:-moz-input-placeholder {
  color: #fff;
}

input.transparent:-ms-input-placeholder,
button.transparent:-ms-input-placeholder {
  color: #fff;
}

.bg-primary input[type="submit"],
.bg-primary button[type="submit"] {
  background: #fff;
  color: #47b475;
}

input[type="submit"]:focus,
button[type="submit"]:focus {
  outline: none;
}

.select-option {
  position: relative;
  cursor: pointer;
  height: 50px;
  overflow: hidden;
  margin-bottom: 24px;
}

.select-option i {
  position: absolute;
  font-size: 18px;
  right: 20px;
  top: 14px;
  z-index: 2;
  pointer-events: none;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  cursor: pointer;
}

.select-option:focus i {
  color: #fff;
}

.select-option select {
  margin-bottom: 0;
}

select {
  min-height: 40px;
  background: #ffffff;
  width: 100%;
  border-radius: 25px;
  border: none;
  outline: none;
  padding-left: 20px;
  position: relative;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
  color: #777;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  cursor: pointer;
}

select:focus {
  background: #eee;
}

select:active,
select:focus,
select:hover {
  outline: none;
  border: none;
}

.checkbox-option,
.radio-option {
  display: inline-block;
  width: 50px;
  height: 25px;
  border-radius: 25px;
  border: 1px solid #47b475;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-bottom: 24px;
}

.checkbox-option .inner,
.radio-option .inner {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0);
  border: 1px solid #47b475;
  position: relative;
  top: 2px;
  left: 2px;
  display: inline-block;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
}

.checkbox-option.checked .inner {
  transform: translate3d(25px, 0, 0);
  -webkit-transform: translate3d(25px, 0, 0);
  -moz-transform: translate3d(25px, 0, 0);
  background: #47b475;
}

.checkbox-option input {
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
}

.radio-option {
  width: 25px;
  height: 25px;
  text-align: left;
}

.radio-option:nth-of-type(n+2) {
  margin-left: 24px;
}

.radio-option input {
  width: 0;
  height: 0;
  opacity: 0;
  overflow: hidden;
}

.radio-option .inner {
  border: none;
  width: 19px;
  height: 19px;
  left: 2px;
  transform: scale(0);
  -webkit-transform: scale(0);
}

.radio-option+span {
  display: inline-block;
  line-height: 25px;
}

.radio-option.checked .inner {
  transform: scale(1);
  -webkit-transform: scale(1);
}

.radio-option.checked .inner {
  background: #47b475;
}


@media all and (min-width: 991px) {

  input.col-md-6,
  button.col-md-6 {
    width: 49%;
    float: left;
  }

  input.col-md-6:first-of-type,
  button.col-md-6:first-of-type {
    margin-right: 1%;
  }

  input.col-md-6:last-of-type,
  button.col-md-6:last-of-type {
    margin-left: 1%;
  }
}

form.thirds input,
form.thirds button {
  width: 32%;
  float: left;
  margin-left: 1%;
  margin-bottom: 16px;
}

form.halves input,
form.halves button {
  width: 46%;
  float: left;
  margin-left: 2.5%;
  margin-bottom: 16px;
}

form.halves p,
form.thirds p,
form.halves span,
form.thirds span {
  clear: both;
}

.form-error,
.form-success {
  background: #58ce38;
  padding: 12px;
  width: 80%;
  color: #fff;
  clear: both;
  display: block;
  max-width: 700px;
  position: relative;
  top: 16px;
  margin: 0 auto;
  word-break: break-word;
}

.form-error {
  background: #ce3838;
}

.form-error a,
.form-success a {
  display: block;
  color: #fff;
}

.attempted-submit .field-error {
  outline: 1px solid #ce3838 !important;
}

form iframe.mail-list-form {
  display: none;
}

.form-loading {
  border: 3px solid #ffffff;
  border-radius: 30px;
  height: 30px;
  left: 50%;
  margin: -15px 0 0 -15px;
  opacity: 0;
  margin: 0px auto;
  top: 50%;
  width: 30px;
  -webkit-animation: pulsate 1s ease-out;
  -webkit-animation-iteration-count: infinite;
  -moz-animation: pulsate 1s ease-out;
  -moz-animation-iteration-count: infinite;
  animation: pulsate 1s ease-out;
  animation-iteration-count: infinite;
  z-index: 99999;
}

@keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}

@-webkit-keyframes pulsate {
  0% {
    transform: scale(0.1);
    opacity: 0.0;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}

button[type="submit"] .form-loading {
  height: 25px;
  width: 25px;
  display: inline-block;
  top: 9px;
  position: relative;
  left: 0;
}

.btn-white .form-loading {
  border: 3px solid #c8c8c8;
}


@media all and (max-width: 767px) {

  form.thirds input,
  form.halves input,
  form.thirds button,
  form.halves button {
    width: 100%;
    margin-bottom: 8px;
    float: left;
    margin-left: 0;
  }
}

/***************** BUTTONS *****************/

.button,
input[type="submit"],
button[type="submit"] {
  background-color: var(--primary-button-background-color);
  color: var(--primary-button-text-color);
  display: inline-block;
  width: max-content;
  border-radius: 20px;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  transition: background-color 1500ms ease-in-out;
  border: 0;
  font-weight: bold;
}

.button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  transition: background-color 1500ms ease-in-out;
  background-color: var(--primary-button-background-color-hover);
  color: var(--primary-button-text-color-hover);
  border: 0;
  font-weight: bold;
}

.secondary-button,
button[type="submit"].secondary-button {
  background-color: var(--secondary-button-background-color);
  color: var(--secondary-button-text-color);
  display: inline-block;
  width: max-content;
  border-radius: 20px;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  transition: background-color 1500ms ease-in-out;
  border: 0;
  font-weight: bold;
}

.secondary-button:hover,
button[type="submit"].secondary-button:hover {
  transition: background-color 1500ms ease-in-out;
  background-color: var(--secondary-button-background-color-hover);
  color: var(--secondary-button-text-color);
  border: 0;
  font-weight: bold;
}


.solo-button-line>a {
  background-color: var(--primary-button-background-color);
  color: var(--primary-button-text-color);
  display: inline-block;
  width: max-content;
  border-radius: 20px;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  transition: background-color 1500ms ease-in-out;
  border: 0;
  text-decoration: none;
  font-weight: bold;
}

.solo-button-line>a * {
  color: var(--primary-button-text-color);
  font-weight: bold;
}

.solo-button-line>a:hover {
  transition: background-color 1500ms ease-in-out;
  background-color: var(--primary-button-background-color-hover);
  color: var(--primary-button-text-color-hover);
  border: 0;
  font-weight: bold;
}

.solo-button-line>a:hover * {
  color: var(--primary-button-text-color-hover);
  font-weight: bold;
}

a.icon svg,
.solo-button-line>a.icon svg {
  font-size: 1.3rem;
  vertical-align: text-bottom;
}

a.icon svg path,
.solo-button-line>a.icon svg path {
  fill: var(--primary-button-text-color-hover);
}

/***************** GENERAL *****************/
.inner {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
}

.section-color {
  background-color: var(--section-color);
}

@media screen and (max-width: 800px) {
  .inner {
    width: 95%;
    margin: 0 auto;
  }
}

/***************** HEADER *****************/

.page-header {
  background-color: #172B54;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
}

.page-header .inner {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  height: 100%;
  flex-grow: 1;
  margin-bottom: auto;
  align-self: stretch;
}

@media screen and (max-width: 800px) {
  .page-header .inner {
    width: 95%;
    margin: 0 auto;
  }
}

/***************** HEADER PAGE NAVIGATION *****************/

.nav-container {
  display: flex;
  flex-direction: row;
  padding: 1rem 0;
}

.nav-bar {
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.nav-bar nav {
  display: flex;
  flex-direction: row;
  width: 100%;
  text-align: right;
}

.nav-bar .nav {
  width: 100%;
  height: 60px;
  flex: 0 0 100%;
  justify-content: flex-end;
  align-content: center;
}

.nav-bar nav ul {
  display: inline-block;
  text-align: right;
  margin: 0;
  padding: 0;
}

.nav-bar nav ul li {
  display: inline-block;
  color: var(--primary-text-color);
  margin-left: 1rem;
  transition: text-decoration 1000ms ease-in-out;
}

.nav-bar nav ul li * {
  color: var(--primary-text-color);
  text-decoration: none;
  font-weight: bold;
}

.nav-bar nav ul li:hover * {
  text-decoration: underline;
  color: var(--primary-text-color);
  transition: text-decoration 1000ms ease-in-out;
}

.nav-bar nav a:hover {
  text-decoration: underline;
}

.mobile-toggle {
  display: none;
}

.mobile-toggle .close {
  display: none;
}

@media screen and (max-width: 800px) {
  .mobile-toggle {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    text-align: right;
  }

  .mobile-toggle>svg {
    width: 30px;
    height: 30px;
    cursor: pointer;
  }

  .mobile-toggle .close {
    display: none;
  }

  .mobile-toggle .close>svg {
    width: 30px;
    height: 30px;
    cursor: pointer;
  }

  .mobile-toggle svg path {
    color: var(--primary-text-color);
    fill: var(--primary-text-color);
  }

  .mobile-toggle svg:hover path {
    color: var(--primary-button-background-color-hover);
    fill: var(--primary-button-background-color-hover);

  }

  .nav-bar nav {
    display: none;
  }

  .nav-bar>div {
    width: 100%;
    display: flex;
    flex-direction: row;
  }

}


.mobile-nav-bar {
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: none;
}

.mobile-nav-bar nav {
  display: flex;
  flex-direction: row;
  width: 100%;
  text-align: right;
}

.mobile-nav-bar .nav {
  width: 100%;
  height: 60px;
  flex: 0 0 100%;
  justify-content: flex-end;
  align-content: center;
}

.mobile-nav-bar nav ul {
  display: inline-block;
  text-align: right;
  margin: 0;
  padding: 0;
}

.mobile-nav-bar nav ul li {
  display: inline-block;
  color: var(--primary-text-color);
  margin-left: 1rem;
  transition: text-decoration 1000ms ease-in-out;
}

.mobile-nav-bar nav ul li * {
  color: var(--primary-text-color);
  text-decoration: none;
  font-weight: bold;
}

.mobile-nav-bar nav ul li:hover * {
  text-decoration: underline;
  color: var(--primary-text-color);
  transition: text-decoration 1000ms ease-in-out;
}

.mobile-nav-bar nav a:hover {
  text-decoration: underline;
}

.mobile-mobile-toggle {
  display: none;
}

.mobile-mobile-toggle .close {
  display: none;
}

@media screen and (max-width: 800px) {
  .mobile-nav-bar .mobile-toggle {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    text-align: right;
  }

  .mobile-nav-bar .mobile-toggle>svg {
    width: 30px;
    height: 30px;
    display: none;
    cursor: pointer;
  }

  .mobile-nav-bar .mobile-toggle .close {
    display: block;
  }

  .mobile-nav-bar .mobile-toggle .close>svg {
    width: 30px;
    height: 30px;
    cursor: pointer;
  }

  .mobile-nav-bar .mobile-toggle svg path {
    color: var(--primary-text-color);
    fill: var(--primary-text-color);
  }

  .mobile-nav-bar .mobile-toggle svg:hover path {
    color: var(--primary-button-background-color-hover);
    fill: var(--primary-button-background-color-hover);

  }

  .mobile-nav-bar {
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--primary-background);
    width: 100vw;
    height: 100%;
    min-height: 100vh;
    z-index: 9999;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 0 2.5%;
  }

  .mobile-nav-bar>div:not(.mobile-anchor-nav) {
    display: flex;
    flex-direction: row;
    width: 100%;
    padding: 1rem 0;
  }


  .mobile-nav-bar nav .nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
    min-height: calc(100vh - 100px);
  }

  .mobile-nav-bar nav .nav ul {
    width: 100%;
  }

  .mobile-nav-bar nav .nav ul li {
    display: block;
    text-align: center;
    margin-left: 0;
    padding-left: 0;
  }
}

/***************** PAGE ANCHOR NAV *****************/
.anchor-nav {
  background-color: var(--section-color);
  padding: 1rem 0;
}

.anchor-nav .inner {
  justify-content: center;
}

.anchor-nav a,
.anchor-nav li {
  display: inline-block;
  text-align: center;
  margin: 0 1rem;
  color: var(--primary-background);
  text-decoration: none;
  font-weight: bold;

}

.anchor-nav a *,
.anchor-nav li * {
  color: var(--primary-background);
  text-decoration: none;
  font-weight: bold;
}


.anchor-nav a:hover,
.anchor-nav a:hover a {
  color: var(--primary-button-background-color-hover);
  transition: color 1000ms ease-in-out;
}

.mobile-anchor-nav {
  display: none;
}

@media screen and (max-width: 800px) {
  .anchor-nav {
    display: none;
  }

  .mobile-anchor-nav .inner {
    height: auto;
  }

  .mobile-anchor-nav,
  .mobile-anchor-nav a {
    display: block;
  }


  .mobile-anchor-nav li,
  .mobile-anchor-nav li *,
  .mobile-anchor-nav a,
  .mobile-anchor-nav a * {
    text-align: center;
    color: var(--primary-text-color);
    font-weight: bold;
    text-decoration: none;
    transition: text-decoration 1000ms ease-in-out;
  }

  .mobile-anchor-nav a:hover,
  .mobile-anchor-nav a:hover * {
    text-decoration: underline;
    color: var(--primary-text-color) !important;
    transition: text-decoration 1000ms ease-in-out;
  }
}


/***************** TAB NAVIGATION *****************/

.nav-tabs {
  height: auto;
  justify-content: flex-start;
  margin-left: 0;
  padding-left: 0;
}

.nav-tabs * {
  color: var(--text-color);
}

.nav-tabs .nav-link {
  transition: background-color 500ms ease-in-out;
}

.nav-tabs .nav-link:hover {
  background-color: var(--primary-button-background-color-hover);
  transition: background-color 500ms ease-in-out;
  color: var(--primary-button-text-color-hover);
}

.nav-tabs .nav-link:hover * {
  color: var(--primary-button-text-color-hover);
}

.nav-tabs .nav-link.active {
  background-color: var(--primary-button-background-color-hover);
  transition: background-color 500ms ease-in-out;
}

.nav-tabs .nav-link.active * {
  color: var(--primary-button-text-color-hover);
}



/***************** HEADER LOGO *****************/

.logo-container {
  position: relative;
  width: 100%;
  max-width: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.logo-container a {
  display: block;
  width: 100%;
  max-width: 100px;
  vertical-align: center;
  line-height: 1;
}

.logo {
  width: 100%;
  max-width: 90px;
  display: block;
}

.logo.logo-light {
  display: block;

  top: 0;
  left: 0;
}

.logo.logo-dark {
  display: none;
  top: 0;
  left: 0;
}


/***************** EVENT DETAILS *****************/

header section {
  display: flex;
  flex-direction: row;
  padding: 2rem 0;
  height: 100%;
  width: 100%;
  margin-bottom: auto;
  align-self: stretch;
  flex-grow: 1;
  margin-bottom: auto;
  align-self: stretch;
  padding-bottom: 3rem;
  position: relative;
}

header section * {
  color: var(--primary-text-color);
}

header section .details {
  width: 50%;
  flex: 0 0 50%;
  position: relative;
}

header section .event-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 60%;
  flex: 0 0 60%;
}

header section .event-details a,
header section .event-details button {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 1rem;
}

header section .event-details form {
  display: inline-block;
}

header section .event-details .intro {
  width: 80%;
}

header section .event-details select {
  width: 0;
  height: 0;
  border: 0;
  padding: 0;
  visibility: 0;
  display: none;
}

header section .event-banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40%;
  flex: 0 0 40%;

}

header section .event-banner img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

header section .date-holder {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

header section .venue-holder,
header section .intro {
  margin-top: 1rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 600px) {
  header section {
    flex-direction: column;
  }

  header section .event-details {
    width: 100%;
    flex: 0 0 100%;
    z-index: 1;
    text-align: center;
    order: 2;

  }

  header section .event-details a {
    display: block;
    margin: 0.5rem auto;
  }

  header section .event-banner {
    position: relative;
    width: 100%;
    flex: 0 0 100%;
    height: 90%;
    order: 1;
    margin-bottom: 2rem;
  }

  header section .event-banner img {
    width: 90%;
    height: auto;

  }

  header section .event-details .intro {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

/***************** INVITATION SECTIONS *****************/

section#invitation {
  padding: 3rem 0;
}


section#invitation .inner {
  display: flex;
  flex-direction: row;
  align-content: center;
}

section#invitation .inner .col-sm-12 {
  padding-left: 0;
  padding-right: 0;
}

section#invitation .image-holder {
  width: 50%;
  flex: 0 0 50%;
  padding: 2rem;
}

section#invitation .image-holder img {
  width: 90%;
  height: auto;
  max-width: 100%;
}

section#invitation .right-align .image-holder img {
  margin-left: 10%;
}

section#invitation .content {
  width: 100%;
  flex: 0 0 100%;
  padding: 2rem;
}

section#invitation .content a {
  background-color: var(--primary-button-background-color);
  color: var(--primary-button-text-color);
  display: inline-block;
  width: max-content;
  border-radius: 20px;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  text-decoration: none;
  transition: background-color 1500ms ease-in-out;
}

section#invitation .content a:hover {
  transition: background-color 1500ms ease-in-out;
  background-color: var(--primary-button-background-color-hover);
  color: var(--primary-button-text-color-hover);
}

section#invitation .full-width {
  width: 100%;
  flex: 0 0 100%;
}

@media screen and (max-width: 800px) {
  section#invitation .inner {
    flex-direction: column;
  }

  section#invitation .image-holder {
    width: 100%;
    flex: 0 0 100%;
  }

  section#invitation .image-holder img {
    width: 90%;
    height: auto;
    max-width: 400px;
    margin: 0 auto;
    display: block;
  }

  section#invitation .right-align .image-holder img {
    margin-left: auto;
    margin-right: auto;
  }

  section#invitation .right-align .image-holder {
    order: 1;
  }

  section#invitation .right-align .content {
    order: 2;
  }

  section#invitation .content {
    width: 100%;
    flex: 0 0 100%;
    padding: 2rem;
  }
}

@media screen and (max-width: 800px) {
  section#invitation .content {
    padding: 2rem 1rem;
  }
}

/***************** CUSTOM SECTIONS *****************/

.custom-section {
  padding: 3rem 0;
}

.custom-section .inner {
  display: flex;
  flex-direction: row;
  align-content: center;
}


.custom-section .image-holder {
  width: 50%;
  flex: 0 0 50%;
  padding: 2rem;
}

.custom-section .image-holder img {
  width: 90%;
  height: auto;
  max-width: 100%;
}

.custom-section .right-align .image-holder img {
  margin-left: 10%;
}

.custom-section .content {
  width: 50%;
  flex: 0 0 50%;
  padding: 2rem;
}

.custom-section .content a {
  background-color: var(--primary-button-background-color);
  color: var(--primary-button-text-color);
  display: inline-block;
  width: max-content;
  border-radius: 20px;
  font-size: 1rem;
  padding: 0.5rem 1rem;
  text-decoration: none;
  transition: background-color 1500ms ease-in-out;
}

.custom-section .content a:hover {
  transition: background-color 1500ms ease-in-out;
  background-color: var(--primary-button-background-color-hover);
  color: var(--primary-button-text-color-hover);
}

.custom-section .full-width {
  width: 100%;
  flex: 0 0 100%;
}

@media screen and (max-width: 800px) {
  .custom-section .inner {
    flex-direction: column;
  }

  .custom-section .image-holder {
    width: 100%;
    flex: 0 0 100%;
  }

  .custom-section .image-holder img {
    width: 90%;
    height: auto;
    max-width: 400px;
    margin: 0 auto;
    display: block;
  }

  .custom-section .right-align .image-holder img {
    margin-left: auto;
    margin-right: auto;
  }

  .custom-section .right-align .image-holder {
    order: 1;
  }

  .custom-section .right-align .content {
    order: 2;
  }

  .custom-section .content {
    width: 100%;
    flex: 0 0 100%;
    padding: 2rem;
  }
}

@media screen and (max-width: 800px) {
  .custom-section .content {
    padding: 2rem 1rem;
  }
}

/***************** HIGHLIGHTS SECTIONS *****************/

.highlights {
  padding: 4rem 0;
  background-color: var(--section-color);
}

.highlights .inner {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}


.highlight-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  text-align: center;
}

.highlight-grid {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.highlight-item {
  width: 33.33333%;
  flex: 0 0 33.33333%;
  min-width: 300px;
  padding: 2rem;
}

.highlight-item h3 {
  text-align: left;
  font-size: 1.2rem;
  font-weight: bold;
}

.highlight-item .image-holder {
  width: 100%;
  height: auto;
  margin: 0 auto 2rem auto;
}

.highlight-item .image-holder img {
  object-fit: cover;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 600px) {
  .highlight-item {
    min-width: 400px;
    padding: 2rem 0;
  }
}

@media screen and (max-width: 500px) {
  .highlight-item {
    min-width: 350px;
  }
}

/***************** SPONSORS *****************/
#sponsorspartners {
  padding-bottom: 0;
}

#sponsorspartners .content {
  padding-bottom: 0;
}

.sponsors {
  padding: 2rem 0;
  padding-top: 0;

}

.sponsors .slides {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.sponsors .slides li {
  width: 20%;
  min-width: 150px;
  padding: 0.5rem 1rem;
  list-style: none;
}

.sponsors .slides li a {
  display: block;
  width: 100%;
  padding: 0;
}

.sponsors .slides li img {
  width: 100%;
  height: auto;
}

/***************** REGISTER SECTION *****************/
.register {
  padding: 3rem 0;
  background-color: var(--section-color);
}

.register .inner {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  min-height: 400px;
}


.register .inner .image-holder {
  width: 50%;
  flex: 0 0 50%;
  padding: 2rem;
}

.register .inner .image-holder img {
  width: 90%;
  max-width: 100%;
  height: auto;
}


.register-heading {
  margin-bottom: 1rem;
  text-align: center;
  margin-bottom: 2rem;
}

.register form {
  margin-bottom: 0;
}

.register .ticket {
  width: calc(100% - 1rem);
  margin-right: 1rem;
  border-bottom: solid 1px var(--primary-background);
  padding: 1rem;

}

.register .ticket:first-of-type {
  border-top: solid 1px var(--primary-background);
}

.ticket-details {
  display: flex;
  flex-direction: row;
  width: 100%;
  flex: 0 0 100%;
}

.ticket-details .name {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ticket-details .name h5 {
  margin-top: 0.5rem;
}

.ticket-details .price {
  margin-bottom: 1rem;
}

.ticket-details .price p {
  margin-bottom: 0;
  padding-bottom: 0;
}

.ticket-details .price .amount {
  font-weight: bold;
}

.ticket-details .price .suffix {
  font-weight: normal;
  font-size: 0.8rem;
  text-transform: lowercase;
}

.ticket-details .description {
  margin-bottom: 0;
  font-size: 0.8rem !important;
}

.ticket-details .selector {
  width: 20%;
  padding: 0 0.5rem;
  text-align: center;
}

.ticket-details .selector.hidden select {
  height: 0;
  width: 0;
  padding: 0;
  border: 0;
  visibility: hidden;
}

.ticket-details .selector select {
  width: 100%;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  cursor: pointer;
  border: solid 1px var(--primary-background);
  border-radius: 20px;
  min-height: 42px;
}

.ticket-details .selector a {
  width: 100%;
  text-decoration: none;
}

.ticket-details .selector select:hover {
  border: solid 1px var(--primary-background);
}

.ticket-details .action {
  width: 20%;
  padding: 0 0.5rem;
}



.ticket-action {
  margin-top: 2rem;
  display: flex;
  flex-direction: row;
  margin-right: 1rem;
  padding-right: 1rem;
}

.ticket-action .name {
  width: 80%;
}

.ticket-action .action {
  width: 20%;
}

.ticket-action .action button {
  width: calc(100% - 2rem);
}

.register-tickets .holder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

}

.register-tickets .holder .button {
  margin-bottom: 1rem;
  text-decoration: none;
  text-transform: uppercase;

}

.register-tickets .holder p {
  margin-bottom: 2rem
}



@media screen and (max-width: 800px) {
  .register .inner {
    flex-direction: column;
  }

  .register .inner .image-holder {
    width: 100%;
    flex: 0 0 100%;
    order: 1;
    margin-bottom: 2rem;
  }

  .register .inner .register-tickets {
    order: 2;
    width: 100%;
    flex: 0 0 100%;
  }

  .register .inner .image-holder img {
    width: 90%;
    height: auto;
    max-width: 400px;
    margin: 0 auto;
    display: block;
  }

}

@media screen and (max-width: 500px) {

  .register .ticket {
    width: 100%;
  }

  .register .inner .register-tickets .ticket-details {
    width: 100%;
    flex-direction: column;
  }

  .register .inner .register-tickets .ticket-details .name {
    width: 100%;
  }

  .register .inner .register-tickets .ticket-details .selector {
    width: 100%;
    padding: 0;
    padding-top: 1rem;
  }

  .register .inner .register-tickets .ticket-action {
    width: 100%;
    flex-direction: column;
    margin-right: 0;
    justify-content: center;
    align-items: center;
  }

  .register .inner .register-tickets .ticket-action .action {
    width: 100%;
    text-align: center;
  }
}


/***************** SPEAKERS *****************/

.speakers {
  padding: 3rem 0;
}

.speaker-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  flex: 0 0 100%;
  justify-content: center;
}

.speaker-item {
  width: 33.3333%;
  flex: 0 0 33.3333%;
  min-width: calc(200px + 4rem);
  padding: 1rem 2rem;
  text-align: center;
  margin-bottom: 2rem;
}

.speaker-item .image-holder {
  width: 200px;
  height: 200px;
  margin: 0 auto;
  border-radius: 100px;
  overflow: hidden;
}

.speaker-item .image-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.speaker-details .name {
  font-size: 1.3rem;
  font-weight: bold;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.speaker-item .modal-button {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.speaker-modal .speaker-item {
  width: 100%;
  flex: 0 0 100%;
}

.speaker-modal .modal-dialog {
  width: 80%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.speaker-modal .modal-header {
  justify-content: flex-end;
  margin-right: 0;
  margin-left: 0;
  background-color: var(--primary-background);
  padding: 0.5rem;
}


.speaker-modal .modal-header button {
  display: block;
  margin-left: 0;
  margin-right: 0;
  padding: 0.5rem 0.8rem;
  font-size: 0.7rem;
}

@media screen and (max-width: 800px) {
  .speaker-grid {
    justify-content: center;
  }
}


@media screen and (max-width: 600px) {
  .speaker-grid {
    justify-content: center;
  }

  .speaker-item {
    min-width: calc(150px + 4rem);
    padding: 1rem;
  }

  .speaker-item .image-holder {
    width: 150px;
    height: 150px;
    margin: 0 auto;
    border-radius: 100px;
    overflow: hidden;
  }

}


/***************** SPEAKER PAGE *****************/
.speaker-page .speakers {
  padding: 0;
}

.speaker-featured {
  background-color: var(--section-color);
  padding: 3rem 0;
}

.speaker-featured .speaker-item {
  width: 50%;
  flex: 0 0 50%;
}

.speaker-featured .speaker-item .speaker-details .position {
  margin-bottom: 2rem;
}

.speaker-featured .speaker-item .speaker-information {
  text-align: left;
}

.speaker-list {
  padding: 3rem 0;
}


@media screen and (max-width: 500px) {
  .speaker-featured .speaker-item {
    width: 90%;
    flex: 0 0 90%;

  }

}

/***************** EXPERIENCE - FAQs *****************/

.experience {
  padding: 3rem 0;
}

.experience .intro {
  margin-bottom: 2rem;
}

.experience .intro .inner {
  flex-direction: column;
}

.experience .experience-accordian {
  width: 100%;
}

.experience .accordian-item {
  width: 100%;
  border-bottom: solid 1px var(--section-color);
  padding: 1rem;
}

.experience .accordian-item .title {
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
}

.experience .accordian-item .title .header,
.experience .accordian-item .title .header * {
  font-weight: bold;
  font-size: 1.2rem;
}

.experience .accordian-item .title .icon {
  width: 30px;
  margin-right: 1rem;
}

.experience .accordian-item .title .icon svg,
.experience .accordian-item .title .icon svg path {
  fill: var(--primary-background);
  transition: fill 500ms ease-in-out;
}

.experience .accordian-item .title:hover .icon svg,
.experience .accordian-item .title:hover .icon svg path {
  fill: var(--primary-button-background-color-hover);
  transition: fill 500ms ease-in-out;
}

.experience .accordian-item .title .icon .up {
  display: none;
}

.experience .accordian-item .title .icon .up svg,
.experience .accordian-item .title .icon .up svg path {
  fill: var(--primary-button-background-color-hover);
  transition: fill 500ms ease-in-out;
}

.experience .accordian-item .content {
  padding-left: calc(30px + 1rem);
  display: none;
}

.experience .signoff {
  padding-top: 6rem;
  padding-bottom: 3rem;
}

.experience .signoff .inner {
  flex-direction: column;
}

.experience .signoff .inner .content a {}

.faqs-page .experience {
  padding-top: 6rem;
}

/***************** AGENDA *****************/
.page-agenda {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

#agenda .row {
  margin-right: 0;
  margin-left: 0;
}

.agenda-grid {
  display: block;
  padding: 0;
}

.agenda-row {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.tab-pane .agenda-row {
  padding-left: 1rem;
  padding-right: 1rem;
}

.agenda-row:nth-child(even) {
  background-color: var(--section-color);
}

.agenda-row-grid {
  display: flex;
  flex-direction: row;
  width: 100%;
  flex-wrap: wrap;
}

@media screen and (max-width: 600px) {
  .agenda-row-grid {
    flex-direction: column;
  }
}

.agenda-item {
  width: 100%;
  padding: 1.5rem;
  padding-left: 0;
}

.agenda-item.track {
  order: 0;
  width: 100%;
}

.agenda-item.track0 {
  order: 0;

}

.agenda-item.track1 {
  order: 1;

}

.agenda-item.track2 {
  order: 2;
}


.agenda-item.track3 {
  order: 3;
}

.agenda-item.track4 {
  order: 4;
}

.agenda-item.track5 {
  order: 5;
}


.agenda-item.track6 {
  order: 6;
}


.numTracks1,
.trackWidth1 {
  width: 100%;
}

.numTracks2,
.trackWidth2 {
  width: 50%;
}

.numTracks3,
.trackWidth3 {
  width: 33.333%;
}

.numTracks4,
.trackWidth4 {
  width: 25%;
}

.numTracks5,
.trackWidth5 {
  width: 20%;
}

.numTracks6,
.trackWidth6 {
  width: 16.666%;
}

@media screen and (max-width: 600px) {

  .numTracks1,
  .numTracks2,
  .numTracks3,
  .numTracks4,
  .numTracks5,
  .numTracks6 {
    width: 100%;
  }

  .trackWidth1,
  .trackWidth2,
  .trackWidth3,
  .trackWidth4,
  .trackWidth5,
  .trackWidth6 {
    width: 100%;
  }
}

.agenda-item .title * {
  font-weight: bold;
  font-size: 1rem;
}

.agenda-item .title {
  margin-bottom: 1rem;
}

.agenda-item .speaker-holder {
  margin-bottom: 1rem;
}

.agenda-item .speaker-holder .label {
  font-weight: bold;
  display: block;
}

.agenda-item .speaker-holder a {
  display: block;
  text-decoration: none;
}

.agenda-item .speaker-holder a * {
  font-size: 0.9rem;
  color: var(--text-color);
  transition: color 500ms ease-in-out;
}

.agenda-item .speaker-holder a .name {
  font-weight: bold;
}

.agenda-item .speaker-holder a:hover * {
  color: var(--primary-button-background-color-hover);
  transition: color 500ms ease-in-out;
}

/***************** FOOTER *****************/
.footer {
  padding: 2rem 0;
}

.footer .inner {
  flex-direction: column;
}

.footer .footer-row {
  width: 100%;
  display: flex;
  flex-direction: row;
  padding: 1rem 0;
}

.footer .logo-holder {
  width: 100px;
}

.footer .socials {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.footer .socials .social-list {
  display: inline-block;
  padding: 0;
  margin: 0;
}

.footer .socials .social-list li {
  list-style: none;
  display: inline-block;
  padding: 0;
  margin: 0;
  margin-left: 1rem;
}

.footer .socials .social-list li a svg {
  transition: fill 1000ms ease-in-out;
}

.footer .socials .social-list li a:hover svg {
  transition: fill 1000ms ease-in-out;
  fill: var(--primary-orange);
}

.footer .footer-row.signoff {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
}

.footer .divider {
  height: 1px;
  border-top: solid 1px var(--section-color);

}

.footer .footer-menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-decoration: row;
}

.footer .footer-menu ul li {
  display: inline-block;
  list-style: none;
  margin: 0 0.5rem;
}

.footer .footer-menu ul li * {
  font-size: 0.8rem;
  color: var(--text-color);
  text-decoration: none;
}

.footer .footer-menu ul li a {
  transition: color 500ms ease-in-out;
}

.footer .footer-menu ul li a:hover {
  text-decoration: underline;
  transition: color 500ms ease-in-out;
  color: var(--primary-button-background-color-hover);
}

@media screen and (max-width: 600px) {
  .footer .footer-row {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .footer .socials {
    margin-top: 1rem;
    justify-content: center;
    align-items: center;
  }

  .footer .footer-menu ul {
    flex-direction: column;
  }

  .footer .footer-menu ul li {
    display: block;
    text-align: center;
  }
}

/***************** CUSTOM PAGE *****************/
.page-content {
  margin: 3rem 0;
}

.page-byline {
  background-color: var(--section-color);
  padding: 2rem 0;
}



/***************** REGISTER PAGE *****************/
.registration-header {
  min-height: 60px;
  height: calc(60px + 2rem);
  padding: 0;
  background-color: #ffffff;
}

#registerForm {
  background-color: var(--primary-background);
  color: var(--primary-text-color);
  min-height: 100vh;
  display: flex;
  flex-direction: row;
  padding: 6rem 0;
}

#registerForm *:not(select, input, textarea, option) {
  color: var(--primary-text-color);
}

#registerForm * {
  font-family: var(--font);
}

#registerForm label * {
  font-weight: normal;
}

#registerForm .left {
  width: 50%;
  flex: 0 0 50%;
  padding-right: 3rem;
}

#registerForm .left img {
  width: 90%;
  max-width: 100%;
  margin: 1rem auto;
  border-radius: 4px;
}

#registerForm .right {
  width: 50%;
  flex: 0 0 50%;
  padding-left: 3rem;
}

#registerForm .row,
#registerForm .row>* {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

#registerForm .form-group {
  margin-bottom: 1rem;
}

#registerForm div[class^='field-group-'],
#registerForm div[class*='field-group-'] {
  margin-bottom: 1rem;
}

#registerForm input+small {
  display: none;
}

#registerForm select {
  border-radius: 0;
}

#registerForm div[class^='col'],
#registerForm div[class*=' col'],
#registerForm label,
#registerForm select,
#registerForm input,
#registerForm textarea {
  width: 100%;
}

#registerForm .single-registration h2 {
  margin-bottom: 2rem;
}

#registerForm .single-registration form>.panel .panel-heading {
  display: none;
}

#registerForm #order-contact {
  margin-bottom: 4rem;
}

#registerForm #order-price #order-total {
  margin-bottom: 3rem;

}

#registerForm #order-price #order-total * {
  font-weight: bold;
  font-size: 150%;

}

#registerForm .panel-heading .left {
  width: 100%;
}

#registerForm .panel-footer .text-muted,
#registerForm .text-muted {
  display: block;
  color: var(--primary-text-color) !important;
  width: 100%;
  text-align: right;
  order: 1;
}

#registerForm .panel-footer {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-bottom: 40px;

}

#registerForm .panel-footer .action-pay {
  width: 100%;
  padding-left: 0;
}

#registerForm .panel-footer .action-pay input {
  margin-top: 0 !important;
  margin-bottom: 4rem !important;
}

#registerForm .panel-footer a {
  display: block;
  width: 100%;
  text-align: center;
  margin: 1rem 0;
  text-decoration: none;
  font-size: 0.9rem;
  order: 3;

  position: absolute;
  bottom: -30px;
}

#registerForm .panel-footer a.previous-page {
  bottom: 0;
}

#registerForm .panel-footer .show-other-option {
  display: none;
}

#registerForm .panel-footer input[type=submit] {
  display: block;
  padding: 1rem 2rem;
  width: 100%;
  margin: 2rem auto;
  background-color: var(--secondary-button-background-color);
  color: var(--secondary-button-text-color);
  order: 2;
}

#registerForm #order-details {
  width: 100%;
  margin-bottom: 2rem;
  border-bottom: solid 1px var(--primary-form-divider);
  padding: 1rem 0;
}

#registerForm #order-details table {
  width: 100%;
}

#registerForm #order-details table tr td:nth-child(2) {
  display: none;
}

#registerForm #order-details table,
#registerForm #order-details table * {
  font-size: 1rem !important;
}

#registerForm #order-details table .right {
  padding: 0;
  text-align: left;
  width: 100%;
  display: block;
}

#registerForm #order-details table .right * {
  font-size: 0.9rem !important;
  text-decoration: none;
}

#registerForm label {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 0.5rem;
  font-weight: bold;
  text-transform: uppercase;

}

#registerForm label * {
  font-weight: bold;
  text-transform: uppercase;
}

#registerForm label:has(input[type=checkbox]),
#registerForm label:has(input[type=radio]) {
  margin-bottom: 1rem;
  text-transform: initial;
}

#registerForm input[type=checkbox],
#registerForm input[type=radio] {
  width: 30px;
  height: 30px;
  margin-right: 1rem;
  flex-shrink: 0;
}

#registerForm div[class^='field-group'] br,
#registerForm div[class*='field-group'] br,
#registerForm div[class^='field-group'] *:not(p) br,
#registerForm div[class*='field-group'] *:not(p) br {
  display: none;
}

#registerForm .question-description {
  font-size: 0.9rem;
  font-style: italic;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

#registerForm .progress {
  margin-bottom: 2rem;
}

#registerForm h1,
#registerForm h1 * {
  font-size: 2rem;
}

#registerForm h2,
#registerForm h2 * {
  font-size: 1.8rem;
}

#registerForm h3,
#registerForm h3 * {
  font-size: 1.6rem;
}

#registerForm h4,
#registerForm h4 * {
  font-size: 1.4rem;
}

#registerForm h5,
#registerForm h5 * {
  font-size: 1.2rem;
}

#registerForm h6,
#registerForm h6 * {
  font-size: 1.1rem;
}

#registerForm h1,
#registerForm h2,
#registerForm h3,
#registerForm h4,
#registerForm h5,
#registerForm h6 {
  margin-bottom: 2rem;
}

.field-group-38940+br+br,
.field-group-38940+br {
  display: none;
}


#review-order .attendee_responses #summary_questions {
  padding-left: 0;
  margin-top: 1rem;
}

#review-order .attendee_responses #summary_questions li {
  list-style: none;
}

#review-order .attendee_responses #summary_questions li[id*="summary_question_title"] {
  margin-top: 2rem;
}

@media screen and (max-width: 500px) {
  #registerForm {
    padding: 2rem 1rem;
  }

  #registerForm .inner {
    flex-direction: column;
  }


  #registerForm .inner .left {
    width: 100%;
    padding-right: 0;
    flex: 1;
  }


  #registerForm .inner .right {
    width: 100%;
    padding-left: 0;
    flex: 1;
    margin-top: 2rem;
  }
}

/***************** ERROR *****************/

#errorExplanation {
  background-color: var(--primary-error);
  padding: 1rem 2rem;
  font-size: 1rem;
  margin-bottom: 2rem;
}

#errorExplanation h2 {
  font-size: 1.2rem;
  font-family: var(--font);
}


/***************** TOOLTIPS *****************/

.tooltip {
  font-weight: 600;
  font-size: 13px;
}

.tooltip-inner {
  border-radius: 0;
  padding: 9px 24px 12px 24px;
}


/***************** ALERTS *****************/

.alert {
  margin-bottom: 24px;
  background: none;
  border-radius: 0;
  font-weight: 600;
  padding: 12px 16px;
}

.alert .close {
  opacity: 1;
  font-size: 24px;
  top: -2px;
  right: -4px;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}

.alert .close span {
  font-weight: 400;
}

.alert-warning {
  border: 1px solid #d88519;
  color: #d88519;
}

.alert-success {
  border: 1px solid #60b963;
  color: #60b963;
}

.alert-danger {
  border: 1px solid #c64444;
  color: #c64444;
}


/***************** LISTING PAGE *****************/
.listing-page .inner {
  flex-direction: column;
}

.listing-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}

.listing-col {
  width: calc(25% - 1rem);
  flex: 0 0 25%;
  margin: 0.5rem;
  min-width: calc(300px - 1rem);
}

.listing-col article {
  border: solid 1px var(--section-color);
  padding: 1rem;

}

.listing-col article .image {
  width: 100%;
  max-width: 400px;
  height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.listing-col article .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}

.listing-col article .listing-event-details h3 {
  font-size: 1.3rem;
}

.listing-col article .listing-event-details h4 {
  font-size: 1rem;
}

/***************** GENERAL *****************/
.no-padding-bottom {
  padding-bottom: 0 !important;
}

.no-padding-top {
  padding-top: 0 !important;
}

.no-padding-left {
  padding-left: 0 !important;
}

.no-padding-right {
  padding-right: 0 !important;
}

a,
a * {
  transition: color 500ms ease-in-out;
}

a:hover,
a:hover * {
  transition: color 500ms ease-in-out;
  color: var(--primary-button-background-color-hover);
}

.row {
  margin-right: initial;
  margin-left: initial;
}

@media screen and (max-width: 800px) {

  .mobile-anchor-nav li,
  .mobile-anchor-nav li *,
  .mobile-anchor-nav a,
  .mobile-anchor-nav a * {
    text-align: center;
    color: var(--primary-text-color);
    font-weight: bold;
    text-decoration: none;
  }

  .mobile-anchor-nav a:hover,
  .mobile-anchor-nav a:hover * {
    text-decoration: underline;
    color: var(--primary-text-color) !important;
  }
}
