@import url('https://fonts.googleapis.com/css2?family=Aleo:ital,wght@0,100..900;1,100..900&display=swap');

/* Not ideal, due to limitations of Bootstrap */
body {f
    overflow-x: hidden;
}

:root {
    --primaryColor: #bf1b4f;
	--secondaryColor: #ff547c;
	--accentColor: #8fe5e5;
	--sectionColor: #1a005e;
	--sectionBtnColor: #e5007d;
	--bgColor: var(--primaryColor);
	--bgImg: url(https://networkx.informaconnect.com/eventAssets/netxic_americas_2026_251217171425/image/2026NXA/NXA26_BGImg1920x1080.jpg);
	--primaryFont: "Aleo", Open Sans;
	--informaFooterColor: #454955;
	
	--color-white: #fff;
	--color-red: #f00;
	--color-black: #000;
}

/* FONT SIZES
------------------------------------------------------*/

*, html, body, .ui-widget input, p, label { font-family: var(--primaryFont), sans-serif; }
_:-ms-lang(x), input.form-control {
    display: inline-block;
}

::selection {
    background: var(--accentColor);
    color: var(--color-white);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--primaryFont), sans-serif;
    text-transform: uppercase;
    text-wrap: balance;
}


html, body {
    font-size: 1rem;
    background: transparent;
    color: var(--color-black);
    min-height: 100vh;
}

h1 { font-size: 2.3rem; }
h2 { font-size: 1.6rem; }
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 { background: #a94442; color: var(--color-white); padding: 2px;}

/* Main Styles */
body {
	background-attachment: fixed;
    background-color: var(--bgColor);
	background-image: var(--bgImg);
	background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    z-index: 5;
    accent-color: var(--secondaryColor);
}

main { padding: 10px 0 40px;  }
a, a:active, a:visited, a:hover { color: var(--secondaryColor); }
a:hover { text-decoration: underline; }

img {
    max-width: 100%;
    width: auto;
}

.page-banner {
    margin-top: 20px;
    margin-bottom: 20px;
}

.index_registrations_delegate .page-banner {
    margin-bottom: 40px;
}

.page-banner .main-logo {
    position: relative;
    width: 100%;
    padding: 15px 0;
    margin: 0 auto;
    text-align: center;
}

.page-banner .main-logo img {
    width: 100%;
}

.index_registrations_delegate .page-banner h2 {
    text-align: center;
    font-size: 1.8rem;
}
.alignLeft{ display:block;  text-align: left; }
.alignRight{ display:block; text-align: right; }
body:not(.index_registrations_delegate) .page-banner h2 {
    font-size: 1.25rem;
    font-weight: 400;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    .page-banner .main-logo { 
        margin: 0;
        max-width:  450px;
    }
    
    .page-banner .main-logo img {
        min-width:  21rem;
    }

    .index_registrations_delegate .page-banner h2, body:not(.index_registrations_delegate) .page-banner h2 {
        text-align: right;
    }
}

.page-banner h2, .page-banner h3,  .page-banner p {
    color: var(--color-white);
}

.page-banner h2 span {
    font-weight: 700;
}

.landing-page .login-box form h2 strong {
    color: var(--primaryColor);
    margin-bottom: 0;
}
.landing-page .login-box form p {
    color: var(--color-black);
    font-size: 1.25rem;
    font-weight: 600; 
}
.landing-page .login-box form input#YHVFEs13 {
    border: 1px solid #ccc; 
    border-radius: .35rem; 
    color: var(--color-black);
    font-size: 1rem;
    height: 3rem;
    width: 100%;
}
.intro-wrap {
    padding: 0 50px 0 0;
}

.intro-wrap h1, .intro-wrap p {
    color: var(--color-white);
}

.intro-wrap p {
    text-wrap: pretty;
}

.full-row {
    width: 100%;
}

.ip-buttonBar {
    padding: 40px 0 10px;
}

.btn, .ip-buttonBar a.btn {
    background: var(--secondaryColor);
    border: none;
    border-radius: .35rem;
    color: var(--color-white);
    font-size: 2rem;
    font-weight: 700;
    padding: 0 2rem;
    text-transform: uppercase;
    transition: all ease 0.3s;
}

.btn:hover, .ip-buttonBar a.btn:hover {
    background-color: var(--accentColor);
    color: #333;
}
/* INSIDE PAGE */
.inside-theme .IP_PageBuilder_Registration:has(h2) {
    background-color: var(--color-white);
    border-radius: 8px 8px 0 0;
}
.inside-theme .IP_PageBuilder_Registration:has(h2) .ip-element {
    padding: 0 2%;
}
.inside-theme form {
    background-color: var(--color-white);
    border-radius: 0 0 8px 8px;
    padding: 2%;
}
.index_registrations_profile #tDHJdI89 .textElement-label {
    font-weight: bold;
    line-height: 2;
}
div[unique_id="RYyeoW76"] label[for="RYyeoW76"] {
    margin-bottom: -2.3rem;
}
.index_registrations_profile label[for="JkWBEV46"] {
    line-height: 1.4;
}

.index_registrations_packages .ip-buttonBar, .index_registrations_review .ip-buttonBar, .index_registrations_payment .ip-buttonBar {
    text-align: right;
}

.index_registrations_review .inside-theme .ip-sectionTitle {
    background-color: var(--color-white);
    padding-left: 2%;
    margin-bottom: -.5rem;
}
.index_registrations_review .inside-theme .IP_PageBuilder_Registration:has(.col-lg-6 h2) {
    border-radius: 0 0 8px 8px;
    padding-bottom: 4%;
}

.inside-theme:has(meta) {
    background-color: var(--color-white);
    border-radius: 8px;
    padding: 5%;
}

.btn.btn-default.btn-processing {
    background: var(--color-black);
    color: var(--color-white);
}

.ip-buttonBar a.btn-default.btn-cancel {
    background: transparent;
    color: var(--secondaryColor);
    font-weight: 700;
    border-color: transparent;
}

.ip-buttonBar a.btn-default.btn-cancel:hover {
    color: var(--secondaryColor)
}

.index_registrations_delegate h1 {
    text-transform: uppercase;
}

.index_registrations_delegate .email_form1 {
    padding-inline: 0;
}

.index_registrations_delegate .login-box, .index_registrations_media .login-box, .index_registrations_speaker .login-box, .index_registrations_vip .login-box, .index_exhibitorreg_login .login-box {
    background: var(--color-white);
    border-radius: 20px;
    padding: 15px;
    color: var(--color-black);
}

.index_registrations_media, .index_registrations_speaker, .index_registrations_vip, .index_exhibitorreg_login  {
    color: var(--color-white);
}

.index_registrations_blackhat .login-box .requiredSymbol, .buttons.chargesButtonsHeader, .chargeButtons, .index_registrations_index .btn-cancel, .index_registrations_delegate .btn-cancel, 
.index_registrations_media .btn-cancel, .index_registrations_speaker .btn-cancel, .index_registrations_staff .btn-cancel, .index_registrations_vip .btn-cancel, .index_exhibitorreg_login .btn-cancel,
.landing-page .btn-cancel {
    display: none;
}

.requiredSymbol {
    line-height: 1.1;
}

.privacy-policy {
    margin: 30px 0 20px; 
    color: var(--color-white);
}

.privacy-policy a, .privacy-policy a:visited {
    color: var(--accentColor);
    text-decoration: underline;
}

@media screen and ( width > 768px ) {
    .flex-centred {
        display: flex;
        align-items: center;
    }
}

.landing-page .ip-buttonBar {
    padding: 5px 0;
}

form input, form select {
    margin-bottom: 10px;
}

.iti__selected-dial-code, #ip-financialSummary-Container, .well {
    color: var(--color-black);
    margin-top: 15px;
}

.iti__country-name, .iti__dial-code , .index_registrations_payment .financialSummary, .index_registrations_review .financialSummary  {
    color: var(--color-black);
}

.index_registrations_review .financialSummary img {
    width: auto;
}

.iti__selected-dial-code {
    margin-top: 0;
}

.reg-wrap {
    background-color: var(--sectionColor);
    color: var(--color-white);
    border-radius: 10px;
    padding: 15px 20px;
    margin: 20px 0;
}
.reg-wrap h3 {
    clear: both;
    color: var(--primaryColor);
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
    padding: 0 12px 10px;
    width: 100%;
}
.reg-wrap h4 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: unset;
    text-transform: capitalize;
}
.reg-wrap a, .reg-wrap a:hover, .reg-wrap a:visited { 
    background-color: var(--sectionBtnColor);
    color: var(--color-white);
    line-height: 1;
    margin-left: -1.2rem;
    margin-top: -0.5rem;
    padding: .5rem 1rem;
}

.index_registrations_profile .ip-elm-checkbox-multi.ip-element label[for="hkLqGU81-117"], .index_registrations_profile .questionResponse.questionResponseCheckbox label, .index_exhibitorreg_portal .login-box label[for="rememberMe"] {
    width: 90%;
}

.index_exhibitorreg_portal label[for="rememberMe"] + span.ip-elementContent {
    float: left;
}

.index_registrations_review h2 a {
    display: table;
    text-align: center;
    text-decoration: none;
    background: var(--secondaryColor);
    color: var(--color-white);
    font-size: 1.4rem;
    border-radius: 5px;
    padding: 7px;
    margin-top: 10px;
    transition: all ease-in 0.3s;
}

.index_registrations_review h2 a:hover {
    background: var(--accentColor);
}

.index_registrations_review h2 a {
    background: var(--primaryColor);
    padding-left: 10px;
    padding-right: 10px;
}

label[for="SHHiqd95"], label[for="WbjQfO99"] {
    margin-bottom: -2.1rem;
}

div.ip-elm-radio-multi .questionResponse {
    display: flex !important;
    width: fit-content;
    align-items: baseline;
}

.index_registrations_review h2 a:hover {
    background: var(--secondaryColor);
}

.index_registrations_demographics .questionResponse.questionResponseCheckbox label {
    font-weight: normal;
}

.index_registrations_payment div#ip-financialSummary-Container {
    margin-top: -4px;
}

input[value^="Apply Code"] {
    font-size: 1.5rem;
    width: 60%;
    white-space: normal;
    margin-left: .75rem;
}
input[value="Make a Payment"], .index_registrations_payment a.btn-cancel {
    font-size: 1.5rem;
    padding: 0 1rem;
}

body.index_forgot-password_index .inside-theme form {
    border-radius: 8px;
}

/* FOOTER */
.footer img {
    width: 260px;
}

.footer .powered-by {
    width: 340px;
    margin: 20px 0 40px;
}

.footer {
    background-color: var(--informaFooterColor);
    color: var(--color-white);
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    position: relative;
}
.footer ul {
    list-style: none;
    margin: 10px 0 0 0;
    padding: 0;
}

@media screen and (min-width: 992px) {
    .footer ul {
        float: right;
    }
}

.footer ul li {
    float: left;
    padding: 2px 5px;
    font-size: 0.8rem;
}

.footer ul li:last-child {
    clear: both;
}

.footer ul li a {
    color: var(--color-white);
    text-decoration: underline;
    font-weight: normal;
}

.footer ul li a:hover {
    text-decoration: none;
}

.ui-widget-content a {
    color: var(--color-black);
}

.index_forgot-password_index .btn-submit {
    margin-right: 10px;
}

@media screen and (max-width: 1200px) {
    .btn {
        font-size: 1.65rem;
    }
}
@media screen and (max-width: 991px) {
    .btn {
        font-size: 1.25rem;
    }
}
@media screen and ((min-height:880px) and (min-width: 991px)){
    body:has(.landing-page) #footer {
        position: absolute;
        bottom: 0;
    }
}
@media screen and (max-width: 768px) {
    .reg-wrap .alignRight{ margin-top: 1rem; }
}