@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@300..900&display=swap');

*, html, body, .ui-widget input, p, label { font-family: "Figtree", sans-serif; }

/* Not ideal, due to limitations of Bootstrap */
body {
    overflow-x: hidden;
}

:root {
    --primaryColor: #e90471;
    --secondaryColor: #2a44dc;
    --informaFooterColor: #454955;
    --textColor: #fff;
}

/* FONT SIZES
------------------------------------------------------*/
_:-ms-lang(x), input.form-control {
    display: inline-block;
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Figtree", sans-serif;
}
html, body {
    font-size: 1rem;
}
h1 {
    font-size: clamp(2.125rem, 3.5vw, 3.3rem);
}
h2 {
    font-size: 1.18rem;
}
h3 {
    font-size: 1rem;
}

/* EV2 REQUIRED STYLES
------------------------------------------------------*/
div.ip-group-container div.ip-element label.errorFieldLabel, div.ip-group-container div.ip-element label.emptyFieldLabel { color: #a94442; }

/* THEME STYLES */
body {
    background-color: #0a2141;
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100svh;
    min-height: 100vh;
}
a, a:active, a:visited, a:hover {
    color: var(--primaryColor);
}
#header a, #header a:active, #header a:visited {
    color: var(--textColor);
    text-decoration: underline;
}
#header a:hover {
	color: var(--primaryColor);
}
a:hover {
    text-decoration: underline;
}
.page-banner div#header {
    order: 0;
}
.container .col-sm-12:has(.login-box), .container .col-xs-12:has(.IP_Messages){
    height: 100%;
    min-height: clamp(calc(100vh - 24.25rem), 45vh, calc(100svh - 24.25rem));
    order: 1;
}
.container .col-xs-12:has(.IP_Messages){ padding: 0 calc(4rem + 15px); }
.footer{
    order: 5;
}
.header-section img {
    max-width: 100%;
    width: 100%;
}
.intro-wrap {
    padding: 0 20px;
    margin-top: 50px;
}
.intro-wrap h1, .intro-wrap p {
    color: var(--textColor);
}
.full-row {
    width: 100%;
}
img {
    max-width: 100%;
    width: auto;
}
.page-banner {
    clear: both;
    padding: 20px 0 0;
    margin-bottom: 15px;
}
.page-banner img {
    margin: 0 0 30px 0;
}
.page-banner ul {
    list-style: none;
    padding: 0;
    margin: 30px 0 20px;
}
.page-banner ul li {
    color: var(--textColor);
    font-size: clamp(1rem, 1.5vw, 1.35rem);
}
.page-banner ul li:first-child {
    font-weight: 600;
    white-space: nowrap;
}
.page-banner p, .page-banner h3 {
    color: var(--textColor);
}
.login-box label, .login-box .IP_PageBuilder_Registration .ip-elementEmpty:first-of-type, .notRequiredSymbolClass {
    display: none !important;
}
.login-box input[type="text"] {
    width: 100%;
}
.login-box span {
    color: var(--textColor);
}
input[type="text"], input[type="password"] {
	color: #000;
}
#YHVFEs13 {
    margin: 10px 0;
    width: clamp(275px, 72vw, 451px);
}
.thirty {
    max-width: 165px;
}
form[action*="index/registrations/review"]:has(input[type="hidden"]) {
    display: none;
}
.date-info h2 {
    background: black;
    color: var(--textColor);
    text-align: center;
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 0;
}
.btn {
    color: var(--textColor);
    background: var(--primaryColor);
    font-size: 0.85rem;
    width: fit-content !important;
}
.landing-text {
    padding: 20px;
    background: rgba(255,255,255,0.6);
    margin: 20px 0;
}
.landing-text p {
    color: #000;
    font-size: 0.9rem;
}
.contact-card {
    text-align: center;
    margin-bottom: 30px;
}
.privacy-section {
    background-color: #e6e5e5;
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 0.8rem;
    font-weight: normal;
}

/* INSIDE */
.index_registrations_profile, .index_registrations_pass_information, .index_registrations_review {
    color: var(--textColor);
}
.index_registrations_profile h2, .index_registrations_pass_information h2, .index_registrations_review h2 {
    font-size: 2rem;
    font-weight: 400;
}
body[class*="index_registrations"]:not(:has(.login-box)) form, .overview-wrapper, body[class*="index_registrations"]:not(:has(.login-box)) .container .content-wrapper .container-fluid:has(div[unique_id="IaONHv74"], div[unique_id="azKhrU50"], div[unique_id="dRuRIP50"]), body:not([class*="index_registrations"]) .container .col-xs-12.content-wrapper:has(meta) { background: #edf4fc; color: black; margin: 1.88rem 0; padding: 20px; }
body[class*="index_registrations"]:not(:has(.login-box)) .container .content-wrapper .container-fluid:has(div[unique_id="azKhrU50"], div[unique_id="dRuRIP50"]) {
    margin: -50px 0 0 !important;
    padding: 2.2rem 2.2rem 4rem;
}
body[class*="password"] .content-wrapper form {
    padding: 2.5rem;
    background: #edf4fc;
    color: black;
    margin: 1.89rem -4rem 0 -2rem;
}
body[class*="password"] .content-wrapper form input[type="text"] {
    margin: .5rem 0 1rem;
    width: clamp(275px, 72vw, 451px);
}
/*body[class*="password"] .content-wrapper form .ip-elm-password.ip-element, body[class*="password"] .content-wrapper form .ip-elm-confirmpassword.ip-element, body[class*="password"] .content-wrapper form div[unique_id="Otsplo54"] {
    margin-left: 1rem;
}*/
body[class*="password"] .content-wrapper form .ip-buttonBar {
    text-align: left;
}
body[class*="index_registrations"]:not(:has(.login-box)) .container .content-wrapper .container-fluid div[unique_id="IaONHv74"] {
    padding-left: 15px;
}
body:not([class*="index_registrations"]) .container .col-xs-12.content-wrapper:has(meta){
    order: 1;
    height: 100%;
    margin-left: 4rem;
    min-height: calc(100vh - 394px);
    min-height: calc(100svh - 394px);
    width: calc(100% - 4rem);
}
body:not([class*="index_registrations"]) .container .content-wrapper:has(meta) a.btn:hover, body:not([class*="index_registrations"]) .container .content-wrapper:has(meta) a.btn:focus {
  color: var(--textColor);
}
.index_registrations_profile form label { margin: 5px 0 0; }
.index_registrations_profile form div[unique_id="JkWBEV46"], .index_registrations_profile form div[unique_id="JkWBEV46"] label, .index_registrations_profile form div[unique_id="LwTvpT75"], .index_registrations_profile form div[unique_id="LwTvpT75"] label[for="LwTvpT75"] {
    width: calc(100% + .2rem);
}
.index_registrations_package_options form .row .col-lg-6 .ip-buttonBar { text-align:right; }
.index_registrations_pass_information .writeInResponseWrapper { margin: 5px 0 10px;}
.index_registrations_profile .ip-formPassword {
    width: 80%;
    margin: 5px 0 10px;
}
.index_registrations_profile .iti--separate-dial-code .iti__selected-flag, .index_registrations_profile .iti--separate-dial-code .iti__selected-flag:hover {
    height: 32px;
    margin-top: 5px;
}
.index_registrations_profile span.iti__country-name { color: #000; }
.index_registrations_profile form input[type=text], .index_registrations_profile form input[type=tel], .index_registrations_profile form select, .index_registrations_profile .chosen-container, .index_registrations_changepassword form input[type=text], .index_registrations_changepassword form input[type=password], .IP_PageBuilder_ForgotPassword input[type=password] {
    margin-top: 5px !important; /*Override core code*/
    margin-bottom: 15px !important; /*Override core code*/
    border: 1px solid #cbcccd;
}
.index_registrations_profile form div[unique_id="ffSGsl80"] label[for="ffSGsl80"], .index_registrations_profile form div[unique_id="GJWesf28"] label[for="GJWesf28"]  {
    margin-top: -4px;
    position: absolute;
}
.index_registrations_profile form div[unique_id="ffSGsl80"] .questionResponse {
    align-items: start;
    display: inline-grid;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    grid-template: auto / 1rem auto;
}
.index_registrations_profile form div[unique_id="ffSGsl80"] .questionResponse input[type=checkbox] {
    scale: 1.85;
    margin: 4px 5px 0 2px;
}
.index_registrations_profile form div[unique_id="ffSGsl80"] .questionResponse label {
    margin-top: 0;
}
.index_registrations_profile form div[unique_id="nOBDrV21"] label[for="nOBDrV21"], .index_registrations_profile form div[unique_id="Salzlv25"] label[for="Salzlv25"], .index_registrations_profile form div[unique_id="fTBnxT33"] label[for="fTBnxT33"], .index_registrations_profile form div[unique_id="QqCNEl58"] label[for="QqCNEl58"], .index_registrations_profile form div[unique_id="XsIIVQ08"] label[for="XsIIVQ08"], .index_registrations_profile form div[unique_id="LWMdEt05"] label[for="LWMdEt05"] {
    display:inline-block;
    justify-content: flex-end;
    vertical-align: top;
    width: 11.25rem;
}
.index_registrations_profile form div[unique_id="nOBDrV21"] .ip-elementContent, .index_registrations_profile form div[unique_id="Salzlv25"] .ip-elementContent, .index_registrations_profile form div[unique_id="fTBnxT33"] .ip-elementContent, .index_registrations_profile form div[unique_id="QqCNEl58"] .ip-elementContent, .index_registrations_profile form div[unique_id="XsIIVQ08"] .ip-elementContent, .index_registrations_profile form div[unique_id="LWMdEt05"] .ip-elementContent {
    align-items: center;
    display: inline-flex;
    flex-direction: row;
    gap: 1rem;
    justify-content: space-between;
    width: 150px;
}
#vNXtTf02 {
    width: 100%;
}
.overview-wrapper {
    color: black;
}
.overview-wrapper h2 a {
    display: table;
    text-align: center;
    text-decoration: none;
}
.overview-wrapper h2 {
    width: 100%;
    line-height: 1.5;
}
.index_registrations_payment .ip-sectionTitle, .index_registrations_payment table, .index_registrations_payment label {
    color: black;
}

/* PROGRESS MENU + PUBLIC MENU */
#progressMenu ul li {
    background: #fff;
    color: #333;
    font-size: 1.3rem;
}
#publicMenu {
    align-items: center;
    background: var(--secondaryColor);
}
#publicMenu li {
    color: var(--textColor);
    background: transparent;
}
#publicMenu li:last-child {
    border-right: unset;
}
#publicMenu li a {
    color: var(--textColor);
}
#progressMenu ul li.currentStep, #publicMenu li:hover {
    background: var(--primaryColor);
    color: var(--textColor);
}

/* PACKAGES */
.container .content-wrapper form div.ip-elementPackages.ip-elementPackagesWrapped {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 2.5rem;
}
.packageGroupName {
    background: var(--primaryColor);
    padding: 10px 15px;
    color: var(--textColor);
    border-bottom: 2px solid #E5E5E5;
    font-size: 1.4rem;
}
.index_registrations_packages form div[unique_id="rORIls51"] {
    margin-left: 1.5rem;
}
.container .content-wrapper form div.ip-elementPackages.ip-elementPackagesWrapped .ip-elementPackage label {
    align-items: start;
    background: var(--primaryColor);
    color: var(--textColor);
    display: inline-grid;
    gap: .5rem;
    grid-template-columns: 9% auto 25%;
}
.container .content-wrapper form div.ip-elementPackages.ip-elementPackagesWrapped .ip-elementPackage label input {
    scale: 1.5;
} 
.container .content-wrapper form div.ip-elementPackages.ip-elementPackagesWrapped .ip-elementPackage .option-selected label {
    background: var(--secondaryColor);
}
.container .content-wrapper form div.ip-elementPackages.ip-elementPackagesWrapped .ip-elementPackage .ip-elementPackageDescription ul {
    padding-left: 1rem;
}
.ip-buttonBar input.btn, .ip-buttonBar a.btn-success.btn-submit, .index_registrations_review .ip-buttonBar .btn-submit.btn-default, .index_registrations_payment .ip-buttonBar .btn-submit.btn-default, .index_registrations_review .btn.btn-submit, .overview-wrapper h2 a, .index_registrations_review .content-wrapper:not(.overview-wrapper) h2 a {
    background: var(--primaryColor);
    color: var(--textColor);
    transition: all ease-in 0.3s;
    border: none;
    border-radius: 5px;
    border: 0;
    padding: 8px;
    font-size: 1.1rem;
    width: 42%;
}
.btn[disabled], .btn-default[disabled] {
    color: var(--primaryColor);
    font-weight: 500;
}
.index_registrations_review .overview-wrapper h2 a, .index_registrations_review .content-wrapper:not(.overview-wrapper) h2 a {
    white-space: nowrap;
    width: unset;
}
.index_registrations_review .overview-wrapper .col-lg-6:first-child:has(.ip-elm-text.ip-element), .index_registrations_review .content-wrapper:not(.overview-wrapper) .col-lg-6:first-child:has(.ip-elm-text.ip-element) {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}
.index_registrations_review .overview-wrapper .ip-elm-text.ip-element, .index_registrations_review .content-wrapper:not(.overview-wrapper) .col-lg-6:first-child .ip-elm-text.ip-element {
    display: inline-grid;
    grid-template-columns: 9.25rem auto;
    gap: .33rem;
    justify-content: start;
    word-break: break-all;
}
.index_registrations_review .content-wrapper:not(.overview-wrapper) .col-lg-6:first-child .ip-elm-text.ip-element span.ip-elementContent {
    padding-top: 3px;
}
.index_registrations_review .container .overview-wrapper .col-lg-6:last-child #ip-financialSummary-addPromoCode form {
    padding-left: 0;
    margin-top: 0;
}
.index_registrations_review form[action*="registrations/addpromocode"] input[type="submit"] {
    margin-top: .5rem;
}
.ip-buttonBar .btn-cancel.btn {
    border: unset;
    font-size: 1.1rem;
    color: #2a44dc;
    text-transform: uppercase;
}
.login-box input.btn {
    width: 25%;
}
.index_registrations_review .ip-buttonBar, .index_registrations_payment .ip-buttonBar {
    float: right;
    width: 360px;
    text-align: right;
}
.index_registrations_review .ip-buttonBar .btn-submit.btn-default, .index_registrations_payment .ip-buttonBar .btn-submit.btn-default, .index_registrations_review .btn.btn-submit {
    width: 56.5%;
    transition: background-color ease-out 0.3s;
}
.index_registrations_review .ip-buttonBar .btn-submit.btn-default:hover, .index_registrations_payment .ip-buttonBar .btn-submit.btn-default:hover, .index_registrations_review .btn.btn-submit:hover {
    background: var(--secondaryColor);
    /*color: var(--primaryColor);*/
}
.index_registrations_review .ip-buttonBar .btn-cancel.btn, .index_registrations_payment .ip-buttonBar .btn-cancel.btn {
    color: var(--textColor);
}
.ip-buttonBar input.btn:hover, .overview-wrapper h2 a:hover {
    background: var(--secondaryColor);
}

/* PAYMENT */
.index_registrations_payment .form-control {
    width: 100%;
}
.index_registrations_payment table.table.table-bordered.financialSummary, .index_registrations_payment #payments-wrapper {
    width: 75%;
    margin: 0 auto;
}
.index_registrations_payment #payments-wrapper {
    padding: 20px;
    margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) and (max-width: 991px) {
    .index_registrations_payment .form-control {
        width: 70%;
    }
}
@media screen and (min-width: 992px) {
    .index_registrations_payment .form-control {
        width: 450px;
    }
}
#creditCardForm .ip-element {
    padding: 0 20px;
    margin-bottom: 10px;
}
.content-wrapper {
    color: var(--textColor);
}
.chargesButtonsHeader, .chargeButtons {
    display: none;
}

/* FOOTER */
.footer img {
    width: 160px;
}
.footer .powered-by {
    width: 340px;
    margin: 20px 0 40px;
}
.footer {
    margin-top: 50px;
    background: var(--informaFooterColor);
    color: var(--textColor);
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}
.footer ul {
    float: right;
    list-style: none;
    margin: 10px 0 0 0;
    padding: 0;
}
.footer ul li {
    float: right;
    font-size: 0.8rem;
    padding: 10px 5px;
    text-align: left;
}
.footer ul li:last-child {
    border-top: 1px solid #fff;
    clear: both;
}
.footer ul li a {
    color: var(--textColor);
    text-decoration: none;
    font-weight: normal;
}
.footer ul li a:hover {
    text-decoration: none;
}

/* UI Login Block */
.ui-dialog-titlebar {
    background: var(--primaryColor);
    color: var(--textColor);
}
@media screen and (min-width: 767px) {
    .page-banner ul {
        list-style: none;
        padding: 10px 0 10px 13px;
        margin: 30px 0 0 0;
        border-left: 1px solid white;
    }
    .page-banner .col-sm-5 {
        padding-left: 3rem;
    }
    div.login-box input[type="text"] {
        width: 40%;
    }
    div.login-box input.btn {
        width: 15%;
    }
    #publicMenu li {
        flex: 1 0 auto;
        border-right: 1px solid white;
    }
}
@media screen and (max-width: 767px) {
    .footer ul li {
        float: left;
    }
    .container .col-sm-12:has(.login-box), .container .col-xs-12:has(.IP_Messages){
        margin: 0 .25rem;
        min-height: clamp(calc(100vh - 42.5rem), 45vh, calc(100svh - 42.5rem));
        padding: 0;
        width: calc(100vw - .58rem);
    }
    #publicMenu li a {
        padding: 10px 35%;
    }
    #publicMenu li:first-child a, #publicMenu li:last-child a {
        padding: 10px 42%;
    }
    #publicMenu li a:focus, #publicMenu li a:hover  {
        text-decoration: none;
    }
    .overview-wrapper h2 a {
        width: auto;
    }
    .container, .index_registrations_profile form input[type=text], select.writeInQuestion {
        width: 100%;
    }
    .index_registrations_profile form .iti input[type="text"] {
        width: 126%;
    }
    .index_registrations_profile form input#JkWBEV46, .index_registrations_profile form select, .index_registrations_profile form #VhulDq60_chosen, .index_registrations_profile form #tHPEWw04_chosen {
        width: 81% !important;
    }
    .index_registrations_profile form textarea {
        width: 100% !important;
    }
    .index_registrations_profile form div[unique_id="ffSGsl80"] .questionResponse input[type="checkbox"]{ 
        scale: 1.5;
    }
    .index_registrations_profile form div[unique_id="ffSGsl80"] .questionResponse label{
        padding-left: 5px;
    }
    .index_registrations_profile form div[unique_id="nOBDrV21"] .ip-elementContent, .index_registrations_profile form div[unique_id="Salzlv25"] .ip-elementContent, .index_registrations_profile form div[unique_id="fTBnxT33"] .ip-elementContent, .index_registrations_profile form div[unique_id="QqCNEl58"] .ip-elementContent, .index_registrations_profile form div[unique_id="XsIIVQ08"] .ip-elementContent, .index_registrations_profile form div[unique_id="LWMdEt05"] .ip-elementContent {
        gap: .125rem;
        width: 140px;
    }
    .index_registrations_profile form div[unique_id="nOBDrV21"] .ip-elementContent .questionResponse input, .index_registrations_profile form div[unique_id="Salzlv25"] .ip-elementContent .questionResponse input, .index_registrations_profile form div[unique_id="fTBnxT33"] .ip-elementContent .questionResponse input, .index_registrations_profile form div[unique_id="QqCNEl58"] .ip-elementContent .questionResponse input, .index_registrations_profile form div[unique_id="XsIIVQ08"] .ip-elementContent .questionResponse input, .index_registrations_profile form div[unique_id="LWMdEt05"] .ip-elementContent .questionResponse input {
        margin-right: unset;
    }
    .index_registrations_review .IP_PageBuilder_Registration .overview-wrapper{
        margin: 1px -1rem -1px;
        padding: 5px;
    }
    .index_registrations_payment table.table.table-bordered.financialSummary, .index_registrations_payment #payments-wrapper {
        width: 96%;
    }
    body:not([class*="index_registrations"]) .container .col-xs-12.content-wrapper:has(meta) {
      margin-left: .25rem;
      min-height: clamp(calc(100vh - 42rem), 45vh, calc(100svh - 42rem));
      width: calc(100vw - .55rem);
    }
    body[class*="password"] .content-wrapper form { 
        margin: unset;
    }
}