@import url(https://fonts.googleapis.com/css2?family=Aleo:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap);

/* Not ideal, due to limitations of Bootstrap */
body {
    overflow-x: hidden;
}

:root {
    --primaryColor: rgb(51 215 200);
    --secondaryColor: rgb(0 120 110);
    --tertiaryColor: #002244; 
    --color-white: #fff;
    --accentColor: #91B961;
    --informaFooterColor: #002244;
    --primaryFont: "Open Sans";
    --color-dark: #000; 
    
    --home-banner: url(https://greenbuild.informaconnect.com/eventAssets/gbuild_2026_260224003705/image/GB-Hero-Background.jpg);
    --gb-logo: url(https://greenbuild.informaconnect.com/eventAssets/gbuild_2026_260224003705/image/gb25/gb-logo.png);
}

/* 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 { color: var(--secondaryColor); font-family: var(--primaryFont); text-wrap: balance; }
main h1 {
    color: var(--primaryColor);
    font-family: "Aleo", serif;
}
main h2, main h3, main h4 { color: var(--secondaryColor); }
main h3 {font-size: 2rem;}
html, body { background: var(--color-white); color: black; font-size: 1rem; min-height: 100vh; }
h1 { font-size: 3rem; font-weight: 600; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1rem; }

.inside-page {
    display: flex; 
    flex-direction: column;
    height: 100vh;
    padding: 20px 10px;
}

.inside-page .inner-page {
    flex: auto 1;
    min-height: fit-content;
}

footer {
    flex: 0;
}

/* EV2 REQUIRED STYLES
------------------------------------------------------*/
div.ip-group-container div.ip-element label.errorFieldLabel, div.ip-group-container div.ip-element label.emptyFieldLabel { color: red; padding: 2px;}

div.ip-group-container div.ip-element label.emptyFieldLabel ~ span input[type="text"] { background-color: rgb(255, 225, 225); border: 1px solid  red; }

/* Main Styles */
a, a:active, a:visited, a:hover { color: var(--accentColor); }
a:hover { text-decoration: underline; }
img { max-width: 100%; width: 100%; }
body { accent-color: var(--accentColor); background: var(--color-white); position: relative; z-index: 5; }
body:has(.landing-page), body:has(.inner-page) { background: var(--color-white); }

.main-logo { background: var(--gb-logo) no-repeat; background-size: contain; border: 0; display: inline-block; height: 63px; margin-top: 10px; width: 100%; }
@media screen and (min-width: 768px) {
    .main-logo { width: 310px; height: 63px; }
}

header .overlay { background-color: rgba(255, 255, 255, 0.6); width: 100%; }
header h1 { color: var(--color-white); font-weight: bold; text-wrap: pretty; }
header h2, header.inner-page h2, header.eportal-theme { color: var(--color-white); font-size: 1.5rem; margin: 20px 0 0; text-wrap: initial; }
header.inner-page h2 { margin-bottom: 40px; }
header h3 { color: #333; margin-left: 20px; }
header h3 span { font-weight: 700; position: relative; top: -5px; font-size: 1rem;}

header h2, header.inner-page h2, header.eportal-theme { margin: 60px 0 0; text-align: right; }
header label[isrequired] { display: none; }

main.inner-page { background: var(--primaryColor); padding: 30px 0; }
main.inner-page .container, main.eportal-theme { background: var(--color-white); }

header form { background: var(--color-white); margin-top: 70px; margin-bottom: 20px; padding: 15px 10px; }
.landing-page .IP_PageBuilder_Registration.container-fluid { padding-left: 0; padding-right: 0; }
.landing-page form h2 { text-transform: uppercase; }
.landing-page label { display: none; }
.landing-page input { margin-top: 5px; }
.landing-page p { margin: 0; font-size: 1.1rem; }
.landing-page p span { color: var(--accentColor); font-weight: 500; }
.landing-page { margin-top: 30px; }
.full-row {
    background: var(--home-banner) no-repeat;
    display: flex;
    align-items: center;
    background-size: cover;
    border-top: 1px solid #aaa;
}

.landing-page {
    padding-top: 20px;
}

main {
    padding: 20px 0;
}

header.inner-page { background: var(--home-banner) no-repeat right center; background-size: auto; }
.home-intro { /*background: rgba(255, 255, 255, 0.9);*/ margin: 20px; padding: 20px 0; }
.home-intro p {color: var(--color-white)}; 
.home-card { text-align: center; }
.home-card img { max-width: 140px; }
.home-card img:hover { filter: hue-rotate(269deg); transition: all ease-in 0.4ms; }
.home-card h3 { font-size: 1.75rem; font-weight: 600; }
.help-text { padding-bottom: 50px; }
.privacy { background: #f1f2f2; padding: 20px; }
.privacy p { font-size: 0.9rem; }
.full-row { width: 100%; }
.landing-page .ip-elm-textbox, .landing-page input[type=text] { width: 100%; }
.login-form { background: var(--color-white); display: block; width: 100%; }
@media screen and ( max-width: 992px ) {
    .home-intro { 
        background: rgba(255, 255, 255, 0.1);
        padding: 15px;
    }
    .banner-logo {
        padding: 20px;
    }
    
    header h3 {
        margin: 12px;
    }
    
}
@media screen and ( min-width: 992px ) {
    .right-home-banner { background-size: auto 101%; height: auto; margin-bottom: 50px; }
    .home-intro { margin: 20px 0;}
    .login-form { margin-left: 15%; margin-top: 8%; margin-bottom: 8%; width: 75%; }
    .index_registrations_sfiforum .login-form { margin-left: 0;  margin-top: 8%; width: 115%;  }
    .index_registrations_sfiforum .home-intro { background: rgba(255, 255, 255, 0.9); margin:0; }
}

.login-form form { border: 1px solid grey; padding: 0 30px 10px; }
.ip-buttonBar {padding: 40px 0 10px; }
.inner-page .ip-buttonBar { text-align: right; }
.inner-page div[unique_id="FMNIzz81"], .inner-page div[unique_id="MFkeYY81"] { position: relative; }
.inner-page label[for='MFkeYY81'], .inner-page label[for='FMNIzz81'] { position: absolute; left: -11px; top: 7px; }

.questionResponse { margin-bottom: 10px; }
button, input, select, textarea { border: 1px solid #AAA; }
#tDQpYc43, #szlGqB96 { width: 100%; }
.index_registrations_profile .inner-page form select { width: 64.5%; }
.btn, .ip-buttonBar a.btn, .ip-buttonBar a.btn-add, .ip-buttonBar a.btn-submit  { background: var(--primaryColor); border: 2px solid var(--color-primary); border-radius: 4px; color: var(--color-dark); font-weight: 700; padding: 10px 40px; text-transform: uppercase; }
.btn:hover, .ip-buttonBar a.btn:hover { background: var(--accentColor); }
.help-section { background: var(--color-white); border-radius: 20px; color: black; float: right; font-size: 0.95rem; margin: 40px 0; padding: 10px; text-align: right; width: 65%;}
.index_registrations_profile #tDHJdI89 .textElement-label { font-weight: bold; line-height: 2; }
.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; }
.btn.btn-processing { background: black !important; color: var(--color-white); font-size: 1rem !important; }
.ip-buttonBar a.btn-default.btn-cancel {
    background: transparent;
    color: #333;
    font-weight: 700;
    border-color: transparent;
    text-transform: uppercase;
}

.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: #000000;
    input[type="text"] { width: 60%; color: #000000; }
}
.index_registrations_media, .index_registrations_speaker, .index_registrations_vip,  .index_exhibitorreg_login  { color: var(--color-white); }
.index_registrations_media p, .index_registrations_speaker p, .index_registrations_vip  p, .index_exhibitorreg_login p  { color: black; } */
.index_registrations_blackhat .login-box .requiredSymbol, .buttons.chargesButtonsHeader, .chargeButtons, .landing-page .btn-cancel, .landing-page .login-box label[isrequired="1"] { display: none; }
.requiredSymbol { line-height: 1.1; }
.privacy-policy { background: rgba(207, 207, 207, 0.973); color: black; font-size: 0.85rem; margin: 20px; auto 0; }
.privacy-policy a, .privacy-policy a:visited { font-weight: bold; text-decoration: underline; }
.privacy-policy .container { padding-top: 40px; padding-bottom: 40px; }

@media screen and ( width > 768px ) {
    .flex-centred { align-items: center; display: flex; }
}

.landing-page .ip-buttonBar { padding: 5px 0; }
.poweredby { align-items: center; color: var(--color-white); display: flex; margin-top: 40px; }
.poweredby img { margin: 4px 10px; width: 200px; }
.reg-help-box a { display: block; text-decoration: none; }
.reg-help-box { background: #00b8c0 url(/eventAssets/stgev2_stg_cng25_241021175610/image/cable-nextgen25/help-icon.png); background-repeat: no-repeat; background-position: 0 center; border-radius: 20px; color: black; margin-top: 20px; padding: 8px 8px 8px 100px; }
.reg-help-box h3 { font-size: 1rem; font-weight: 700; margin: 10px 0; }
.reg-help-box span { background-color: #000000; color: var(--color-white); padding: 3px 10px; margin-left: 10px; }
.reg-help-box h3, .reg-help-box p { line-height: 1; }
.reg-help-box p:last-child { font-size: 0.8rem; line-height: 2; }
.reg-help-box p { font-weight: bold; }
form input, form select, .index_registrations_profile .ip-elm-textbox { margin-bottom: 5px; }
.iti__selected-dial-code, #ip-financialSummary-Container, .well { color: #000000; margin-top: 15px; }
.iti__country-name, .iti__dial-code { color: black; }
.index_registrations_payment .financialSummary, .index_registrations_review .financialSummary { color: black; }
.index_registrations_review span.ip-elementContent {/*font-weight: 500;*/ }
.index_registrations_review .financialSummary img { width: auto; }
.iti__selected-dial-code { margin-top: 0; }

.reg-wrap { background-color: #1a005e; border-radius: 10px; color: var(--color-white); margin: 20px; padding: 15px 20px; }
.reg-wrap h3 { clear: both; color: var(--primaryColor); font-size: 1.6rem; font-weight: 700; margin: 0; padding: 0; width: 100%; }
.index_registrations_profile .ip-elm-checkbox-multi.ip-element label[for="hkLqGU81-117"], .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; }
.index_registrations_review h2 a:hover { background: var(--secondaryColor); }
.index_registrations_demographics .questionResponse.questionResponseCheckbox label { font-weight: normal; }
.ui-widget-content a { color: black; }
.index_forgot-password_index .btn-submit { margin-right: 10px; }

.btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover,
.btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover,
.btn-success.disabled, .btn-success.disabled.active, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled:focus, .btn-success.disabled:hover, 
.btn-success[disabled], .btn-success[disabled].active, .btn-success[disabled].focus, .btn-success[disabled]:active, .btn-success[disabled]:focus, .btn-success[disabled]:hover {
    background-color: #000000; background-image: none; border-color: #000000; color: #aaaaaa; font-weight: 600; padding: 10px 30px 10px 20px; text-transform: uppercase; text-align: center; }
.btn-processing { font-size: 0.8rem !important; max-width: 140px !important; }
.index_forgot-password_index form { padding: 20px; }
@media screen and (min-width: 778px) {
    .index_forgot-password_index form input[type=text] { width: 30%; }
}

header h3 { margin: 12px; }
header .banner-logo { margin-bottom: 30px;}
.home-card .btn-success { margin-top: 1rem; color: #000;}

/** Not-setup section */
.index_checkin_not-setup .ip-buttonBar>a {
    background: var(--primaryColor);
    color: var(--color-white);
    transition: all ease 0.3s;
    border: 1px solid var(--primaryColor);
    padding: 10px 40px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.42857143;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 4px;
    text-decoration: none;
}

.index_checkin_not-setup .ip-buttonBar>a:hover { background: var(--accentColor); border: 1px solid black; color: var(--color-white); }
.index_checkin_not-setup .ip-buttonBar { justify-content: flex-start; margin-top: 2rem; }
.index_checkin_not-setup .right-home-banner { margin-bottom: 0; }
.index_registrations_review .ip-sectionTitle { display: none; }
.index_registrations_packages .ip-elementAdditionalPackages { display: block; }
.home-card-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.home-card-wrapper .home-card { width: 78%; text-align: center; }
.home-card-wrapper .left-container {
    display: flex;
    flex: 1;
    justify-content: flex-start;
}

.home-card-wrapper .right-container {
    display: flex;
    flex: 1;
    justify-content: flex-end;
}



@media screen and (max-width: 992px) {
    .home-card-wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .home-card-wrapper .left-container, .home-card-wrapper .right-container {
        justify-content: center;
    }
}

@media screen and ( width > 992px ) {
    .index_registrations_press .right-home-banner {
        height: 420px;
    }
}