@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-family: "Lexend", sans-serif;
}

html,
body {
  font-family: "Lexend", sans-serif;
  font-size: 16px;
  color: rgb(80.36875, 80.36875, 80.36875);
}

body p {
  margin-bottom: 1rem;
  line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  line-height: 1.15;
  margin-bottom: 1rem;
  color: #019934;
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: 42px;
}

h3 {
  font-size: 36px;
}

h4 {
  font-size: 30px;
}

h5 {
  font-size: 24px;
}

h6 {
  font-size: 18px;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a:link, a:visited {
  color: purple;
}
a:focus, a:hover {
  color: #010101;
}

.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

section {
  min-height: 60vh;
  position: relative;
  overflow: hidden;
}
section [class*=-inner] {
  position: relative;
  z-index: 1;
}

.floating-blob {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  will-change: transform;
}

.form-message {
  font-size: 0.9rem;
}
.form-message:empty {
  display: none;
}
.form-message.success {
  color: #019934;
}
.form-message.error {
  color: #c0392b;
}
.form-message:not(:empty) {
  margin-bottom: 1rem;
}

.mpesa-payment-prompt {
  background: #fefefe;
  border: 0.0625rem solid rgb(196.625, 196.625, 196.625);
  border-radius: 0.5rem;
  padding: 0.9rem 1.1rem;
  margin-bottom: 1rem;
  font-size: 0.95rem;
  line-height: 1.5;
}

.mpesa-payment-prompt[hidden] {
  display: none;
}

#registration_details_fields {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

#registration_details_fields[disabled] {
  opacity: 0.5;
}

#mpesa_ref_input {
  text-transform: uppercase;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mpesa-status {
  font-size: 0.9rem;
}
.mpesa-status:empty {
  display: none;
}
.mpesa-status:not(:empty) {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.3rem;
}
.mpesa-status.pending {
  background-color: rgba(1, 153, 52, 0.1);
  color: #019934;
}
.mpesa-status.success {
  background-color: rgba(1, 153, 52, 0.15);
  color: #019934;
}
.mpesa-status.error {
  background-color: rgba(1, 1, 1, 0.1);
  color: #c0392b;
}

.input-wrapper.has-error input,
.input-wrapper.has-error textarea {
  border: solid 0.0625rem #c0392b !important;
}

img {
  max-width: 100%;
}

:has(> img) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.container {
  margin: 0 auto;
  width: 83.75%;
  max-width: 1200px;
}
.container__wide {
  width: 93.75%;
  max-width: 100%;
}

section {
  position: relative;
  z-index: 1;
}

.section-header {
  text-align: center;
  margin-bottom: 3rem;
}
.section-header .section-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2rem;
  color: purple;
}
.section-header .section-title::before {
  content: "";
  position: absolute;
  border-left: solid 3px #019934;
  border-top: solid 3px #019934;
  left: -0.75rem;
  top: -0.5rem;
  width: 2rem;
  height: 2rem;
}
.section-header .section-title::after {
  content: "";
  position: absolute;
  border-right: solid 3px #019934;
  border-bottom: solid 3px #019934;
  right: -0.75rem;
  bottom: -0.5rem;
  width: 2rem;
  height: 2rem;
}
.section-header .section-desc {
  font-size: 0.85rem;
  color: rgb(115.75, 115.75, 115.75);
}

#header-wrapper {
  background-color: rgba(1, 153, 52, 0.1);
  -webkit-transition: background 0.5s ease-in-out;
  transition: background 0.5s ease-in-out;
  position: fixed;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 0;
  z-index: 999;
}
#header-wrapper.scrolled {
  background-color: #019934;
}
#header-wrapper .navbar-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 40rem) {
  #header-wrapper .navbar-wrapper {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
#header-wrapper .navbar-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 1rem 0;
}
#header-wrapper .navbar-wrapper .logo-wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 251px;
          flex: 0 0 251px;
}
#header-wrapper .navbar-wrapper .logo-wrapper .text-logo {
  margin-bottom: 0;
  color: #fefefe;
  font-size: 1.25rem;
  text-transform: uppercase;
  line-height: 1;
}
#header-wrapper .navbar-wrapper .nav-toggler {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 2rem;
          flex: 0 0 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.0625rem;
}
@media screen and (min-width: 40rem) {
  #header-wrapper .navbar-wrapper .nav-toggler {
    display: none;
    visibility: hidden;
  }
}
#header-wrapper .navbar-wrapper .nav-toggler {
  cursor: pointer;
}
#header-wrapper .navbar-wrapper .nav-toggler .bar {
  display: inline-block;
  width: 100%;
  height: 0.25rem;
  background-color: #fefefe;
  margin-bottom: 0.3rem;
  border-radius: 0.125rem;
  -webkit-transition: opacity 0.2s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.2s ease-in-out, -webkit-transform 0.4s ease-in-out;
  transition: opacity 0.2s ease-in-out, transform 0.4s ease-in-out;
  transition: opacity 0.2s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}
#header-wrapper .navbar-wrapper .nav-toggler.active .bar:nth-child(1) {
  -webkit-transform: translateY(9px) rotate(45deg);
          transform: translateY(9px) rotate(45deg);
}
#header-wrapper .navbar-wrapper .nav-toggler.active .bar:nth-child(2) {
  opacity: 0;
}
#header-wrapper .navbar-wrapper .nav-toggler.active .bar:nth-child(3) {
  -webkit-transform: translateY(-9px) rotate(-45deg);
          transform: translateY(-9px) rotate(-45deg);
}
#header-wrapper .navbar-wrapper #main-nav {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%;
  height: 0;
  -webkit-transition: height 0.5s ease-in-out;
  transition: height 0.5s ease-in-out;
}
@media screen and (min-width: 40rem) {
  #header-wrapper .navbar-wrapper #main-nav {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 60%;
            flex: 1 0 60%;
    height: 100%;
  }
}
#header-wrapper .navbar-wrapper #main-nav {
  overflow: hidden;
}
#header-wrapper .navbar-wrapper #main-nav.active {
  height: 100%;
}
#header-wrapper .navbar-wrapper #main-nav #navbar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0.75rem;
}
@media screen and (min-width: 40rem) {
  #header-wrapper .navbar-wrapper #main-nav #navbar-nav {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
  }
}
@media screen and (max-width: 40rem) {
  #header-wrapper .navbar-wrapper #main-nav #navbar-nav {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    padding: 1rem;
    background-color: #019934;
    gap: 0;
  }
}
#header-wrapper .navbar-wrapper #main-nav #navbar-nav.small-screen {
  margin-top: 1rem;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
#header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item .nav-link {
  display: block;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: #fefefe;
}
#header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item.active .nav-link, #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item:hover .nav-link, #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item:focus .nav-link {
  color: purple;
}
#header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item.active .nav-link.active, #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item:hover .nav-link.active, #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item:focus .nav-link.active {
  color: purple;
}
@media screen and (max-width: 40rem) {
  #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item {
    width: 100%;
  }
  #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item .nav-link {
    padding: 0.75rem 0;
  }
  #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item:not(:last-child) .nav-link {
    border-top: solid 0.0625rem rgba(255, 255, 255, 0.2);
  }
  #header-wrapper .navbar-wrapper #main-nav #navbar-nav .menu-item:not(:first-child) .nav-link {
    border-bottom: solid 0.0625rem rgba(0, 0, 0, 0.2);
  }
}

#hero {
  height: 100vh;
  width: 100%;
  background-color: rgba(1, 1, 1, 0.45);
  background-size: cover;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
}
#hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10rem;
  width: 100%;
  background-image: url(assets/images/white_bottom_wave_02.png);
}
#hero .hero-inner .hero-banner .hero-banner-text {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#hero .hero-inner .hero-banner .hero-banner-text .hero-title {
  font-weight: 800;
  font-size: 4.5rem;
  color: #fefefe;
}
#hero .hero-inner .hero-banner .hero-banner-text .tagline-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  margin: 1rem 0 2rem;
}
#hero .hero-inner .hero-banner .hero-banner-text .tagline-wrapper .tagline-item {
  display: inline-block;
  font-size: 1.35rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.125rem;
  color: #fefefe;
}
#hero .hero-inner .hero-banner .hero-banner-text .tagline-wrapper .tagline-item:not(:last-child)::after {
  content: "";
  display: inline-block;
  background-color: #fefefe;
  margin-left: 1.75rem;
  border-radius: 50%;
  height: 1rem;
  width: 1rem;
}
#hero .hero-inner .hero-banner .hero-banner-text .hero-btn {
  padding: 1rem 1.5rem;
  border-radius: 0.3rem;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.1rem;
  border: solid 0.1rem #fefefe;
  color: #fefefe;
  position: relative;
}
#hero .hero-inner .hero-banner .hero-banner-text .hero-btn::after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  width: 0%;
  height: 100%;
  border-color: #019934;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(0.5032467532, 76.9967532468, 26.1688311688)), to(#019934));
  background-image: linear-gradient(0deg, rgb(0.5032467532, 76.9967532468, 26.1688311688), #019934);
  -webkit-transition: width 0.6s ease-in-out;
  transition: width 0.6s ease-in-out;
  -webkit-transform-origin: right;
          transform-origin: right;
  z-index: -1;
}
#hero .hero-inner .hero-banner .hero-banner-text .hero-btn:hover, #hero .hero-inner .hero-banner .hero-banner-text .hero-btn:focus {
  border-color: #019934;
}
#hero .hero-inner .hero-banner .hero-banner-text .hero-btn:hover::after, #hero .hero-inner .hero-banner .hero-banner-text .hero-btn:focus::after {
  width: 100%;
  left: 0;
  right: auto;
}

#about {
  padding: 7rem 0;
  background-image: radial-gradient(white, white);
}

#packages {
  padding: 7rem 0;
  background-color: rgb(209.375, 209.375, 209.375);
}
#packages .packages-inner {
  margin: 0 auto;
}
#packages .packages-inner .package-tabs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-bottom: 3rem;
}
#packages .packages-inner .package-tabs .package-tab-link {
  display: inline-block;
  padding: 0.75rem 1.75rem;
  border-radius: 0.3rem;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  border: solid 0.0625rem #019934;
  font-size: 0.85rem;
  color: #019934;
}
#packages .packages-inner .package-tabs .package-tab-link.active, #packages .packages-inner .package-tabs .package-tab-link:hover {
  background-color: #019934;
  color: #fefefe;
}
#packages .packages-inner .package-options .package-option {
  display: none;
}
#packages .packages-inner .package-options .package-option.active {
  display: block;
}
#packages .packages-inner .package-options .package-option .package-option-title {
  text-align: center;
  font-size: 1.65rem;
  text-transform: uppercase;
  color: #010101;
  margin: 2.5rem auto;
}
#packages .packages-inner .package-options .package-option.individual .package-list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  grid-auto-rows: auto;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#packages .packages-inner .package-options .package-option.individual .package-list .package {
  padding: 1.5rem 1.5rem;
  -webkit-box-shadow: 0 1px 1rem rgb(186.425, 186.425, 186.425);
          box-shadow: 0 1px 1rem rgb(186.425, 186.425, 186.425);
  border-radius: 0.5rem;
  background-color: rgb(247.625, 247.625, 247.625);
}
#packages .packages-inner .package-options .package-option.individual .package-list .package .package-title {
  font-size: 1.35rem;
  font-weight: 800;
  border-bottom: solid 0.0625rem rgb(186.425, 186.425, 186.425);
  padding-bottom: 0.75rem;
  margin-bottom: 0;
}
#packages .packages-inner .package-options .package-option.individual .package-list .package .package-title span {
  display: block;
  padding-top: 0.5rem;
  font-size: 1rem;
  color: #010101;
}
#packages .packages-inner .package-options .package-option.individual .package-list .package ul li {
  margin-left: 1.25rem;
  font-size: 0.9rem;
  padding: 0.5rem 0;
}
#packages .packages-inner .package-options .package-option.individual .package-list .package ul li:not(:last-child) {
  border-bottom: solid 0.0625rem rgb(164.75, 164.75, 164.75);
}
#packages .packages-inner .package-options .package-option.individual .package-list .package ul li::before {
  content: "\f058";
  font-family: "Font Awesome 7 Free";
  margin-right: 0.5rem;
  margin-left: -1.25rem;
}
#packages .packages-inner .package-options .package-option.individual .package-list .package .package-select-btn {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.65rem 1.5rem;
  border-radius: 0.3rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05rem;
  border: solid 0.0625rem #019934;
  background-color: #019934;
  color: #fefefe;
  cursor: pointer;
}
#packages .packages-inner .package-options .package-option.individual .package-list .package .package-select-btn:hover {
  opacity: 0.85;
}
#packages .packages-inner .package-options .package-option.corporate .package-list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  grid-auto-rows: auto;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package {
  padding: 1.5rem 1.5rem;
  -webkit-box-shadow: 0 1px 1rem rgb(186.425, 186.425, 186.425);
          box-shadow: 0 1px 1rem rgb(186.425, 186.425, 186.425);
  border-radius: 0.5rem;
  background-color: rgb(247.625, 247.625, 247.625);
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package .package-title {
  font-size: 1.35rem;
  font-weight: 800;
  border-bottom: solid 0.0625rem rgb(186.425, 186.425, 186.425);
  padding-bottom: 0.75rem;
  margin-bottom: 0;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package .package-title span {
  display: block;
  font-size: 1rem;
  padding-top: 0.5rem;
  color: #010101;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package ul li {
  margin-left: 1.25rem;
  font-size: 0.9rem;
  padding: 0.5rem 0;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package ul li:not(:last-child) {
  border-bottom: solid 0.0625rem rgb(164.75, 164.75, 164.75);
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package ul li:not(:last-child) a {
  display: block;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package ul li::before {
  content: "\f058";
  font-family: "Font Awesome 7 Free";
  margin-right: 0.5rem;
  margin-left: -1.25rem;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package .package-select-btn {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.65rem 1.5rem;
  border-radius: 0.3rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05rem;
  border: solid 0.0625rem #019934;
  background-color: #019934;
  color: #fefefe;
  cursor: pointer;
}
#packages .packages-inner .package-options .package-option.corporate .package-list .package .package-select-btn:hover {
  opacity: 0.85;
}

#register {
  padding: 8rem 0;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(234.875, 234.875, 234.875)), color-stop(rgb(247.625, 247.625, 247.625)), to(#fefefe));
  background-image: linear-gradient(0deg, rgb(234.875, 234.875, 234.875), rgb(247.625, 247.625, 247.625), #fefefe);
}
#register .register-inner {
  text-align: center;
}
@media screen and (min-width: 62rem) {
  #register .register-inner {
    max-width: 50%;
    margin: 0 auto;
  }
}
#register .register-inner .registration-form-wrapper .ticket-resend-wrapper .ticket-resend-details summary {
  padding: 1rem 0;
  cursor: pointer;
  color: #019934;
}
#register .register-inner .registration-form-wrapper #registration_form .input-wrapper:not(:last-child),
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper:not(:last-child) {
  margin-bottom: 1rem;
}
#register .register-inner .registration-form-wrapper #registration_form .input-wrapper input:not([type=submit]),
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper input:not([type=submit]) {
  padding: 0.75rem 1rem;
  border: solid 0.0625rem rgb(196.625, 196.625, 196.625);
  -webkit-box-shadow: 0 0.0625rem 1rem rgb(196.625, 196.625, 196.625);
          box-shadow: 0 0.0625rem 1rem rgb(196.625, 196.625, 196.625);
  background-color: #fefefe;
  border-radius: 0.3rem;
  line-height: 1.8;
  font-size: 0.85rem;
  width: 100%;
}
#register .register-inner .registration-form-wrapper #registration_form .input-wrapper input:not([type=submit]):focus-visible, #register .register-inner .registration-form-wrapper #registration_form .input-wrapper input:not([type=submit]):focus-within,
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper input:not([type=submit]):focus-visible,
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper input:not([type=submit]):focus-within {
  border-color: purple;
  -webkit-box-shadow: 0 0.0625rem 1rem rgb(13.25, 0, 13.25);
          box-shadow: 0 0.0625rem 1rem rgb(13.25, 0, 13.25);
  outline: none;
}
#register .register-inner .registration-form-wrapper #registration_form .input-wrapper .register-btn,
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper .register-btn {
  position: relative;
  padding: 1rem 1.5rem;
  border-radius: 0.3rem;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#4d004d), to(rgb(153.5, 0, 153.5)));
  background-image: linear-gradient(0deg, #4d004d, rgb(153.5, 0, 153.5));
  border: solid 0.0625rem purple;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  cursor: pointer;
  color: #fefefe;
  overflow: hidden;
  z-index: 1;
}
#register .register-inner .registration-form-wrapper #registration_form .input-wrapper .register-btn::after,
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper .register-btn::after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  width: 0%;
  height: 100%;
  border-color: #019934;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(0.5032467532, 76.9967532468, 26.1688311688)), to(#019934));
  background-image: linear-gradient(0deg, rgb(0.5032467532, 76.9967532468, 26.1688311688), #019934);
  -webkit-transition: width 0.6s ease-in-out;
  transition: width 0.6s ease-in-out;
  -webkit-transform-origin: right;
          transform-origin: right;
  z-index: -1;
}
#register .register-inner .registration-form-wrapper #registration_form .input-wrapper .register-btn:hover::after, #register .register-inner .registration-form-wrapper #registration_form .input-wrapper .register-btn:focus::after,
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper .register-btn:hover::after,
#register .register-inner .registration-form-wrapper .ticket-resend-form .input-wrapper .register-btn:focus::after {
  width: 100%;
  left: 0;
  right: auto;
}

#panelists {
  padding: 8rem 0;
}
#panelists .panelists-inner .panelists-wrapper {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  grid-auto-rows: auto;
  gap: 2rem;
}
#panelists .panelists-inner .panelists-wrapper .panelist {
  -webkit-box-shadow: 0 0.0625rem 1rem rgb(186.425, 186.425, 186.425);
          box-shadow: 0 0.0625rem 1rem rgb(186.425, 186.425, 186.425);
  background-color: #fefefe;
  border-radius: 0.3rem;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-image {
  background-color: #010101;
  overflow: hidden;
  height: 400px;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  width: 100%;
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-image img:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail {
  padding: 1.5rem;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail .panelist-name {
  font-size: 1.35rem;
  margin-bottom: 0;
  line-height: 1.6;
  color: purple;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail .panelist-title {
  font-size: 0.85rem;
  text-transform: uppercase;
  font-weight: normal;
  letter-spacing: 0.1rem;
  line-height: 1.45;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail .panelist-bio {
  font-size: 0.9rem;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail .load-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-transform: uppercase;
  color: #019934;
  font-size: 0.85rem;
  letter-spacing: 0.05rem;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail .load-more-icon {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
#panelists .panelists-inner .panelists-wrapper .panelist .panelist-detail .load-more[aria-expanded=true] .load-more-icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#cta {
  padding: 13rem 0;
  background-color: rgba(1, 1, 1, 0.7);
  background-blend-mode: overlay;
  background-repeat: no-repeat;
  background-origin: border-box;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  position: relative;
}
#cta::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10rem;
  width: 100%;
  background-image: url(assets/images/white_bottom_wave_02.png);
}
#cta .cta-inner {
  text-align: center;
}
#cta .cta-inner .cta-title {
  font-size: 3.5rem;
}
#cta .cta-inner p {
  color: #fefefe;
}
#cta .cta-inner .cta-btn {
  display: inline-block;
  border-radius: 0.3rem;
  border: solid 0.0625rem #fefefe;
  padding: 1rem 1.25rem;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-size: 0.8rem;
  color: #fefefe;
  position: relative;
}
#cta .cta-inner .cta-btn::after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  width: 0%;
  height: 100%;
  border-color: #019934;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(0.5032467532, 76.9967532468, 26.1688311688)), to(#019934));
  background-image: linear-gradient(0deg, rgb(0.5032467532, 76.9967532468, 26.1688311688), #019934);
  -webkit-transition: width 0.6s ease-in-out;
  transition: width 0.6s ease-in-out;
  -webkit-transform-origin: right;
          transform-origin: right;
  z-index: -1;
}
#cta .cta-inner .cta-btn:hover, #cta .cta-inner .cta-btn:focus {
  border-color: #019934;
}
#cta .cta-inner .cta-btn:hover::after, #cta .cta-inner .cta-btn:focus::after {
  width: 100%;
  left: 0;
  right: auto;
}

#partners {
  padding: 8rem 0;
}
#partners .partner-logos {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  -ms-grid-rows: minmax(150px, 1fr);
  grid-template-rows: minmax(150px, 1fr);
  grid-gap: 1rem;
  grid-auto-flow: dense;
}
#partners .partner-logos .partner-logo {
  border-radius: 0.3rem;
  -webkit-box-shadow: 0 1px 1rem rgb(185.7875, 185.7875, 185.7875);
          box-shadow: 0 1px 1rem rgb(185.7875, 185.7875, 185.7875);
}
#partners .partner-logos .partner-logo .logo {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

#contact {
  padding: 8rem 0;
  position: relative;
  background-image: radial-gradient(rgb(234.875, 234.875, 234.875), rgb(247.625, 247.625, 247.625), rgb(250.175, 250.175, 250.175), rgb(252.725, 252.725, 252.725), #fefefe);
}
#contact .contact-inner {
  text-align: center;
}
@media screen and (min-width: 62rem) {
  #contact .contact-inner {
    max-width: 50%;
    margin: 0 auto;
  }
}
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper:not(:last-child) {
  margin-bottom: 1rem;
}
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper input:not([id*=contact_submit]),
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper textarea {
  padding: 0.75rem 1rem;
  border: solid 0.0625rem rgb(196.625, 196.625, 196.625);
  -webkit-box-shadow: 0 0.0625rem 1rem rgb(196.625, 196.625, 196.625);
          box-shadow: 0 0.0625rem 1rem rgb(196.625, 196.625, 196.625);
  background-color: #fefefe;
  border-radius: 0.3rem;
  line-height: 1.8;
  font-size: 0.85rem;
  width: 100%;
}
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper input:not([id*=contact_submit]):focus-visible, #contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper input:not([id*=contact_submit]):focus-within,
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper textarea:focus-visible,
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper textarea:focus-within {
  border-color: purple;
  -webkit-box-shadow: 0 0.0625rem 1rem rgb(13.25, 0, 13.25);
          box-shadow: 0 0.0625rem 1rem rgb(13.25, 0, 13.25);
  outline: none;
}
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper #contact_submit {
  padding: 1rem 1.5rem;
  border-radius: 0.3rem;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#4d004d), to(rgb(153.5, 0, 153.5)));
  background-image: linear-gradient(0deg, #4d004d, rgb(153.5, 0, 153.5));
  border: solid 0.0625rem #b300b3;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  cursor: pointer;
  color: #fefefe;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper #contact_submit::after {
  content: "";
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  width: 0%;
  height: 100%;
  border-color: #019934;
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(0.5032467532, 76.9967532468, 26.1688311688)), to(#019934));
  background-image: linear-gradient(0deg, rgb(0.5032467532, 76.9967532468, 26.1688311688), #019934);
  -webkit-transition: width 0.6s ease-in-out;
  transition: width 0.6s ease-in-out;
  -webkit-transform-origin: right;
          transform-origin: right;
  z-index: -1;
}
#contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper #contact_submit:hover::after, #contact .contact-inner .contact-wrapper .contact-form #contactForm .input-wrapper #contact_submit:focus::after {
  width: 100%;
  left: 0;
  right: auto;
}

#footer-wrapper {
  padding: 13rem 0;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#010101), to(purple));
  background-image: linear-gradient(to top, #010101, purple);
  position: relative;
}
#footer-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 11rem;
  background-image: url(assets/images/white_top_wave_01.png);
}
#footer-wrapper .footer-inner .footer-widgets {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  gap: 2rem;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .footer-widget-title {
  margin-bottom: 2rem;
  font-size: 1.75rem;
  background-image: linear-gradient(45deg, rgb(1.1655844156, 178.3344155844, 60.6103896104), rgb(129.3214285714, 254.1785714286, 171.2142857143));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .footer-widget-title::after {
  content: "";
  width: 5rem;
  height: 0.2rem;
  background-color: #fefefe;
  display: block;
  margin-top: 0.5rem;
  border-radius: 0.1rem;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget p {
  line-height: 1.6;
  font-size: 1rem;
  color: #fefefe;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget p a {
  color: #019934;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget p a:hover {
  color: #fefefe;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget li:has(> a):not(:last-child) a {
  border-bottom: solid 0.0625rem rgba(0, 0, 0, 0.3);
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget li:has(> a):not(:first-child) a {
  border-top: solid 0.0625rem rgba(255, 255, 255, 0.2);
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget li a {
  display: block;
  padding: 0.375rem;
  color: #fefefe;
  font-size: 1rem;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget li a:hover {
  color: #019934;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .paybill-wrapper {
  padding: 1rem;
  background-color: rgb(1.3311688312, 203.6688311688, 69.2207792208);
  border-radius: 0.3rem;
  text-align: center;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .paybill-wrapper p {
  background-color: #010101;
  margin-bottom: 0;
  line-height: 2;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.1rem;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .paybill-wrapper h5 {
  margin-bottom: 0;
  color: #fefefe;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .footer-socials .icon {
  font-size: 1.65rem;
  color: #fefefe;
}
#footer-wrapper .footer-inner .footer-widgets .footer-widget .footer-socials .icon:focus {
  color: #019934;
}
#footer-wrapper .footer-inner .footer-copyright {
  margin-top: 3rem;
}
#footer-wrapper .footer-inner .footer-copyright .copyright p {
  margin-bottom: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  color: rgb(196.625, 196.625, 196.625);
}

#back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  border: solid 0.0625rem #019934;
  width: 2.125rem;
  height: 2.125rem;
  line-height: 2.125rem;
  background-color: #019934;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: opacity 0.5 ease-in-out;
  transition: opacity 0.5 ease-in-out;
  cursor: pointer;
  z-index: -1;
  opacity: 0;
}
#back-to-top.active {
  opacity: 1;
  z-index: 99;
}
#back-to-top span {
  display: block;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  height: 100%;
  width: 100%;
  position: relative;
}
#back-to-top span::after {
  content: "➔";
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  left: 50%;
  text-align: center;
  color: #fefefe;
}