@import url(https://fonts.googleapis.com/css?family=Magra);
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap");

strong {
    font-weight: 450;
}

body {
    background-color: #FFFFFF;
    padding: 0;
    margin: 0;
    word-wrap: break-word !important;
    font-family: var(--primary-font), sans-serif;
    font-size: 16px;
    color: #000000;
    line-height: 32px;
}

.text-center {
    text-align: center;
}

.primaryTextColor {
    color: var(--primary-color);
}

.secondaryTextColorDark {
    color: var(--secondary-color-dark);
}

.secondaryTextColorLight {
    color: var(--secondary-color-light);
}

.primaryBackgroundColor {
    background-color: var(--primary-color);
}

.primaryColorFilter {
    filter: invert(43%) sepia(68%) saturate(2659%) hue-rotate(170deg) brightness(98%) contrast(101%);
}

.secondaryBackgroundColor_sat25 {
    background-color: var(--secondary-color-sat100);
}

.secondaryFilterColor_sat25 {
    filter: invert(82%) sepia(18%) saturate(590%) hue-rotate(157deg) brightness(92%) contrast(107%);
}

.secondaryBackgroundColor_sat50 {
    background-color: var(--secondary-color-sat75);
}

.secondaryFilterColor_sat50 {
    filter: invert(85%) sepia(7%) saturate(1505%) hue-rotate(168deg) brightness(103%) contrast(93%);
}

.secondaryBackgroundColor_sat75 {
    background-color: var(--secondary-color-sat50);
}

.secondaryFilterColor_sat75 {
    filter: invert(90%) sepia(43%) saturate(510%) hue-rotate(169deg) brightness(98%) contrast(99%);
}

.secondaryBackgroundColor_sat100 {
    background-color: var(--secondary-color-sat25);
}

.secondaryFilterColor_sat100 {
    filter: invert(88%) sepia(4%) saturate(1289%) hue-rotate(180deg) brightness(108%) contrast(98%);
}

a, a:hover {
    color: var(--secondary-color-light);
}

#content {
    overflow-x: hidden;
}

#content > div:nth-child(even) {
    background: var(--secondary-color-sat25);
}

#content > div:nth-child(even) a, #content > div:nth-child(even) a:hover {
    color: black;
}

#content > div:nth-child(odd) a, #content > div:nth-child(odd) a:hover {
    color: black;
}

#content > div:nth-child(odd) {
    background: var(--secondary-color-light);
}

#headerOutline_top {
    position: absolute;
    margin-top: 80px;
    z-index: -1;
}

#content .expoPanel {
    background-image: url("../img/base/headerBackground6.png") !important;
    background-repeat: repeat-y !important;
    background-color: var(--background-color) !important;
    background-position: top !important;
    background-size: contain !important;
    height: 100% !important;
}
#content > div:first-child {
    background-image: url("../img/base/headerBackground1.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

div.adminmain {
    max-width: 1880px !important;
}

.admintable {
    margin: 0 auto;
    border-collapse: collapse;
    /*width: 100%;*/
    border: 1px solid var(--secondary-color-sat100)
}

.admintable td, .admintable th {
    border-left: 1px solid var(--secondary-color-sat100);
    padding: 5px;
}

.admintable th:first-child, td:first-child {
    border-left: none;
}

.admintable thead tr {
    border-bottom: 1px solid var(--secondary-color-sat100);
}

.admintable tbody tr {
    border-bottom: 1px solid var(--secondary-color-sat50);
}

div.main {
    max-width: 1180px;
    padding: 2em 3em 4em 3em;
    margin: 0 auto;
}

div.main p {
    color: var(--secondary-color-dark);
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: 1.625rem; /* 162.5% */
    margin: 0 0 0.5rem;
}

div.main li {
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: 1.625rem; /* 162.5% */
}

div.main p.columns {
    column-count: 2;
}


div.main h1 {
    color: var(--primary-color);
    font-family: var(--primary-font), sans-serif;
    font-size: 3rem;
    font-style: normal;
    font-weight: 600;
    line-height: 4.0625rem; /* 135.417% */
}

div.main h2 {
    color: var(--primary-color);
    font-family: var(--primary-font), sans-serif;
    font-size: 3rem;
    font-style: normal;
    font-weight: 600;
    line-height: 4.0625rem; /* 135.417% */
    text-transform: uppercase;
}



div.main h3 {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.5625rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    margin: 2rem 0 1.5rem 0;
}

div.main h4 {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.625rem; /* 162.5% */
}

div.paragraph {
    display: flex;
    row-gap: 1.5rem;
    flex-direction: row;
    justify-content: space-between;
    column-gap: 1.5rem;
}

div.entitySocials {
    margin-top: 1.5rem;
    display: inline-flex;
    gap: 0.5rem;
    flex-direction: row;
}

div.entitySocials > div {
    min-width: 8rem;
    max-height: 2rem;
}

#accomodation div.paragraph:nth-of-type(even) {
    flex-direction: row-reverse;
}

#accomodation div.paragraph:nth-of-type(even) .venueImgMask {
    transform: scaleX(-1);
}

#accomodation div.paragraph:nth-of-type(even) .venueImgMask > img {
    transform: scaleX(-1);
}

#accomodation div.paragraph {
    margin-bottom: 3rem;
}


div.paragraph p {
    font-weight: 300;
    text-align: justify !important;
}

div.ilustration-image {
    height: auto;
    aspect-ratio: 1.628/1;
    display: flex;
}

div.ilustration-image .venueImgMask.mask_pc {
}


div.paragraph img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    /**/
}

div.reg-area {
    margin-top: 1em;
}

.button img {
    margin-left: 0.2em;
    margin-right: 0.2em;
    margin-top: 0.25rem;
    margin-bottom: -0.25rem;
    max-height: 24px;
    max-width: 24px;
    filter: invert(100%);
}


.button {
    background-color: #00B3FF;
    border-radius: 0.5em;
    border: none;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    color: white !important;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.75rem;
    text-decoration: none !important;
    cursor: pointer;
}

.mid-button {
    padding: 12px;
    font-size: 1.075rem;
}

.small-button {
    line-height: 1rem;
    padding: 8px;
    font-size: 1rem;
}

.green-button {
    background-color: #337300;
}

.green-button:hover {
    background-color: #4ca306;
}

.red-button {
    background-color: #650303;
}

.red-button:hover {
    background-color: #9c0e0e;
}

.blue-button {
    background-color: #00B3FF;
}

.blue-button:hover {
    background-color: #00a2e8;
}

.black-button {
    background-color: #000000;
}

.black-button:hover {
    background-color: #000000;
}

.inline-button {
    display: inline-block;
    padding: 15px;
    margin: 20px 0 10px 0;
}

.block-button {
    display:block;
    max-width: 250px;
    padding: 15px;
    margin-top: 20px;
}

.roundTop{
    background-color: var(--secondary-color-sat25);
    min-height: 1rem;
}

div.roundTop p {
    margin: 0 0 0 0;
    padding: 1% 3%;
    font-weight: 600;
    color: var(--primary-color);
}

.roundTop{
    border-radius: 0.88rem 0.88rem 0 0;
}

.roundBottomNav {
    border-radius: 0 0 .6em .6em;
}

.round {
    border-radius: .6em;
}

.form-content {
    background-color: var(--secondary-color-light);
    padding: 1.2rem 3% 2.2rem 3%;
    border-radius: 0 0 0.88rem 0.88rem;
}


.form-content #socialNetworks {
    display:inline-flex;
    justify-content: center;
    column-gap: 1rem;
    margin-top: 0rem;
}

.form-content #socialNetworks div.elem {
    background-color: var(--primary-color);
    padding: 8px 5px 0px 5px;
    border: solid 1px var(--primary-color);
    border-radius: 8px;
    width: 40px;
    min-height: 40px;
    height: 100%;
    align-items: center;
}

.form-content #socialNetworks div.elem:hover {
    background-color: var(--primary-color-hover);
}

.form-content #socialNetworks img {
    display: block;
    height: 80%;
    width: 80%;
    filter: invert(100%);
    margin: auto auto;
}

#contactDetails {
    margin-top: 2rem;
    border-top: 2px solid var(--secondary-color-sat50);
    padding: 1.5rem 0 0 0;
}

div.formHeadlineParent {
    display: inline-flex;
    width: 100%;
    margin-top: 1rem;
}

div.formHeadline {
    width: 100%;
}

div.formHeadline h3 {
    margin: 0 0 1rem 0;
}


#payment {
    background-color: #A4B3C2;
}

#formSubmitErrors {
    color: var(--error-color);
    background-color: var(--secondary-color-sat25);
    border: 1px solid var(--secondary-color-sat50);
    border-radius: 16px;
    padding: 0.5rem;
}

#map {
    height: 30em;
}

/*  registration */
#form-main-container {
    display: flex;
    gap: 1.1rem;
}

#form-main-col {
    width:75%;
}

#form-single-col {
    width:100%;
}

#registration-side-col {
    width: 25%;
}

div.registration-side-col-item {
    padding: 0.6rem;
    border-radius: 16px;
    background: var(--secondary-color-light);
    margin-bottom: 1rem;
}

div.with-top {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

div.registration-side-col-item input {
    width: 100%;
    margin: 5px 0 10px 0;

}

div.registration-side-col-item h2 {
    font-size: 1.4rem;
    line-height: 2rem;
    text-transform: none;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

div.registration-side-col-item h3 {
    font-size: 1.4rem;
    line-height: 2rem;
    text-transform: none;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

div.venue-preview {
    width: 100%;
    height: auto;
    aspect-ratio: 255 / 160;
    border-radius: 16px;
    background-image: url("../img/base/headerBackground1.jpg");
    background-size: contain;
}

div.venue-preview img {
    width: 35%;
    height: 100%;
    margin: auto;
    display: block;
}

div.formRowOffset {
    margin-bottom: 0.80rem;
}

div.formCell .checkbox {
    width: 1rem;
    height: 1rem;
    margin: auto 10px auto 0;
}

div.formCell .radio {
    width: 1rem;
    height: 1rem;
    margin: auto 10px auto 0;
}

.checkbox-label {
    font-family: var(--primary-font), sans-serif;
    font-size: 1rem;
}

div.formCell {
    display: flex;
    margin-top: 1.25rem;
    min-height: 2.2rem;
}

div.formInput {
    width: 100%;
    margin-right: 0.1rem;
    position: relative;
}

div.fileInput {
    display: inline-flex;
    align-items: center;
    column-gap: 0.6rem;
}

div.fileInputLabel p {
    margin: 0 !important;
}

div.fileInput input {
    padding: 6px;
}

.form-star {
    margin-left: 2px;
    margin-top: -0.4rem; /* Moves the span 8px higher */
    min-width: 5px;
}

textarea {
    font-family: var(--primary-font), sans-serif;
    resize: none; /* Disables resizing */
    vertical-align: top; /* Ensures the text starts from the top */
    line-height: 1.5; /* Adjusts line height to avoid text crowding */
    text-align:left;
    white-space: pre-wrap; /* Preserves white space, including new lines */
}

textarea, input, select, div.custom-dropdown {
    width: 100%;
    box-sizing: border-box;
    transition: 0.2s;
    border: 1px solid var(--secondary-color-sat100);
    outline:none;
    border-radius:4px;
    background:var(--secondary-color-light);
    color:var(--secondary-color-dark);
    height: 2.2rem;
    font-size: 1rem;
    padding: 10px 7px 7px;
}


/* Hide spinners in Chrome, Safari, and Edge */
.hidespinner::-webkit-inner-spin-button,
.hidespinner::-webkit-outer-spin-button {
    -webkit-appearance: none; /* Remove the spinner */
    margin: 0; /* Remove default margin */
}

/* Hide spinners in Firefox */
.hidespinner {
    -moz-appearance: textfield; /* Use text field appearance */
}


input:focus {
    border: 1px solid var(--primary-color);
    box-shadow: 0px 0px 3px 0px var(--secondary-color-sat50);
    border-radius:4px 4px 0 0;
}

.custom-datalist-container {
    position: relative;
    width: 100%;
}


/* Option styling */
.comboBox option {
    background-color: #f7f7f7;
}

/* Hover and focus states */
.comboBox:hover, .comboBox:focus {
    border-color: #888;
    outline: none;
}

.comboBox option:hover {
    background-color: #e2e2e2;
}

/* Optional: Styling for disabled option */
.comboBox option:disabled {
    color: #aaa;
}

/* Custom dropdown container */
.custom-dropdown {
    position: relative;
}

/* Select box styling */
.custom-select-box {
    display: flex;
    justify-content: space-between;
    cursor: pointer;
}

/* Arrow styling */
.custom-arrow {
    font-size: 14px;
    color: grey;
    margin-top: -8px;
}

/* Options list styling */
.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    padding: 5px;
    list-style: none;
    background-color: var(--secondary-color-light);
    border: 1px solid var(--secondary-color-sat100);
    border-radius: 0 0 4px 4px;
    display: none; /* Hidden by default */
    max-height: 10rem;
    overflow-y: auto;
    z-index: 10; /* Ensure it appears above other elements */
}

/* Option item styling */
.custom-options>.custom-option {
    padding: 4px;
    color: var(--secondary-color-dark);
    cursor: pointer;
    margin-bottom: 1px;
    transition: background-color 0.3s ease;
    font-family: var(--primary-font), sans-serif;
}

.custom-option:hover {
    background-color: var(--secondary-color-sat50);
}

/* Show options when the dropdown is active */
.custom-dropdown.active .custom-options {
    display: block;
}

.default-value {
    color: gray !important;
}

/* Selected option styling */
.custom-select-box .selected {
    color: var(--secondary-color-dark);
    margin-top: -8px;
    pointer-events: none;
}

.btn-head {
    padding: 12px 10px 10px;
    border: 1px solid #e1e1e1;
    background-color: #fff;
    width: 120px;
    cursor: hand;
    transition-duration: 0.4s;
    display: inline-block;
}

.btn-head:hover {
    background-color: #f2f2f2;
}

.btn-left {
    border-radius: 5px 0 0 5px;
}

.btn-right {
    border-radius: 0 5px 5px 0;
    border-left: 0;
}

.reg-body {
    padding: 15px 0px 10px 0px;
    position: relative;
    z-index: 101;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.reg-head {
    padding-top: 30px;
}

.reg-head p {
    margin-top: 0;
    padding: 16px 10px 10px;
    color: #fff;
    background-color: #2f3942;
    width: 75%;
    display: inline-block;
    border-radius: 5px;
}

.is-active {
    background-color: #2f3942;
    color: white;
    cursor: default;
}

div.paymentStatus {
    padding: 0.9rem 1.07rem 0.5rem 1.07rem !important;
}
div.formSection {
    border: 1px solid var(--secondary-color-sat50);
    border-radius: 16px;
    padding: 1.19rem 1.07rem;
    margin-bottom: 1rem;
    background: linear-gradient(to right, var(--secondary-color-sat25) 0%, rgba(255, 255, 255, 0));
}

div.formSection .form-columnwrapper {
    display: flex;
    width: 100%;
    column-gap: 1rem;
    justify-content: space-between;
}

div.formSectionColumn {
    width: 100%;
}

.ticketTypeBenefits {
    background-color: var(--secondary-color-sat25);
    border: 1px solid var(--secondary-color-sat100);
    border-radius: 8px;
    padding: 6px 6px 0px 6px;
}

.ticket-type {
    display: none;
    margin-top: 5px;
    margin-bottom: 10px;
}

.ticket-type.is-showing {
    display: block;
}

.no-show {
    display: none;
}


.btn-foot {
    margin-top: 5px;
    overflow: hidden;
}

.btn-add, .btn-remove, .btn-central, .btn-discount {
    border-radius: 8px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding: 4px 8px;
    font-family: var(--secondary-font), sans-serif;
    font-size: 0.9rem;
    text-decoration: none;
    cursor: pointer;
    max-width: 40%;
}

.btn-discount {
    background-color:var(--primary-color);
    text-align: center;
    color: var(--secondary-color-light);
}

.btn-discount:hover {
    background-color: var(--primary-color-hover);
}

.btn-central {
    border: none;
    width: 250px;
    padding: 8px;
    font-size: 1.5rem;
    display: block;
    background-color:var(--primary-color);
    text-align: center;
    color: var(--secondary-color-light);
    margin-top: 1.5rem;
}

.btn-central:hover {
    background-color: var(--primary-color-hover);
}

.btn-add {
    background-color:var(--primary-color);
    float: left;
    color: var(--secondary-color-light);
}

.btn-add:hover {
    background-color: var(--primary-color-hover);
}

.btn-remove {
    background-color:var(--secondary-color-sat50);
    float: right;
    color: var(--secondary-color-dark);
}

.btn-remove:hover {
    background-color:var(--secondary-color-sat100);

}


.reg-payment {
    padding: 5px 50px 10px 50px;
    text-align: left;
}

.reg-payment hr {
    margin-bottom: 10px;
}

.invoicebox {
    display: block;
    margin-top: 20px;
}

.reg-invoice {
    margin-top: 10px;
}

.reg-invoice hr {
    border: 0;
}

div#reg-price p {
    text-align: center;
}

div#reg-price h1 {
    width: auto;
    height: auto;
    font-size: 2rem;
    margin:0;
    text-align: center;
    text-transform: uppercase;
    font-family: var(--primary-font), sans-serif;
}

div#reg-price h2 {
    font-size: 1.15rem;
    color: var(--secondary-color-dark);
    text-align: left;
    margin: 0;
    height: auto;
    font-family: var(--secondary-font), sans-serif;
    line-height: 1.7rem;
}

div#reg-price h3 {
    font-size: 1rem;
    text-align: left;
    margin: 0;
    height: auto;
    font-family: var(--secondary-font), sans-serif;
}


div#registrationComplete h2 {
    font-size: 2rem;
    text-align:left;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}


#dsc-text {
    font-size: 1rem;
    height: 1rem;
    line-height: 1rem;
    margin-bottom: 10px;
}

div.msg-red, span.msg-red {
    color: #8b0808;
}

div.msg-green, span.msg-green {
    color: #0f5a0f;
}

.reg-info {
    padding: 35px 50px 15px 0;
    text-align: left;
}

.reg-info strong {
    font-weight: bold;
}

.reg-info img {
    margin-right: 10px;
    margin-top: -5px;
    float: left;
}

.sum-body {
    text-align: left;
    display: flex;
    width: 100%;
    gap: 1rem;
    margin-top: 1rem;
}

.sum-body h4 {
    margin-top: 10px;
}

.sum-ticket {
    border: 1px solid #e1e1e1;
    margin-top: 20px;
    width: 100%;
}

.sum-headline {
    background-color: white;
    margin-top: -5px;
    margin-left: 5px;
    margin-bottom: 0;
    padding-left: 2px;
    font-size: 12px;
    width: 45px;
}

.sum-element {
    margin: 5px;
}

.payment_email {
    margin-top: 25px;
}

.payment_email input {
    margin-top: 5px;
    width: 100%;
}

.btn-pay {
    padding: 20px 20px 17px;
    border: 1px solid #2f3942;
    background-color: #2f3942;
    width: 100%;
    cursor: hand;
    display: inline-block;
    text-align: center;
    font-size: 20px;
    color: #fff;
    transition-duration: 0.4s;
}

.btn-pay:hover {
    background-color: #fff;
    color: #2f3942;
}

.reg-logo {
    position: relative;
    z-index: 101;
    padding-top: 30px;
    text-align: center;
}

.tickets_table {
    color: #fff;
}

.tickets_table p {
    line-height: 20px;
    margin-top: 30px;
}

.tickets_table small {
    font-size: 15px;
    color: #d7d7d7;
}

.row_top {
    border-bottom: 2px solid #d7d7d7;
    overflow: hidden;
    width: 1000px;
}

.row {
    border-bottom: 2px solid #d7d7d7;
    overflow: hidden;
    width: 1000px;
}

.row_bottom {
    overflow: hidden;
    width: 1000px;
}

.column_left {
    border-right: 2px solid #d7d7d7;
    float: left;
    width: 50%;
    height: 70px;
}

.column_left p {
    text-align: left;
    margin-left: 25%;
    margin-top: 15px;
}

.column_left span {
    font-size: 15px;
}

.column {
    border-right: 2px solid #d7d7d7;
    float: left;
    width: 20%;
    height: 70px;
}

.column_right {
    float: left;
    width: 8%;
    height: 70px;
}

.btn_buy_ticket {
    width: 350px;
    height: 68px;
    margin: 40px auto 50px;
}

.priceTable {
    width: 70%;

    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 22px;
    border: 2px solid white;

    font-size: 1.5em;
    line-height: 0.8;
    letter-spacing: -0.3px;
    color: #ffffff;
    background-color: #007EAE;

    overflow: auto;
}

.priceTable h4 {
    margin: 0.5em;
}

.priceTable h5 {
    margin: 0.3em;
}

.priceTable div.description {
    height: 7em;
}

.priceTable div.line {
    height: 1.2em;
    padding-top: 0.5em;
}


.priceTag {
    width: 49%;
    float: left;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
}

.priceNormal {
    width: 25%;
    float: left;
    border-right: 1px solid white;
    border-bottom: 1px solid white;
}

.pricePlus {
    width: 25%;
    float: left;
    border-bottom: 1px solid white;
}

.ticket .price {
    width: 166px;

    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 22px;
    border: 2px solid white;

    font-size: 1.5em;
    line-height: 0.8;
    letter-spacing: -0.3px;
    color: #ffffff;
}

.ticket .priceEU {
    font-size: 0.6em;
    font-weight: 700;
}


.price strong {
    font-weight: 700;
}

.ticket-button {
    position: relative;
    width: 200px;
    margin-right: auto;
    margin-left: auto;
}

.active {
    color: #415464;
}

.passive {
    color: #99a6b0;
}

.activeP {
    background-color: #007EAE;
}

.passiveP {
    background-color: #4C535A;
}

#buttonTickets {
    background-color: #F4A92B;
    width: 200px;
    height: 60px;
    display: inline-block;
    border-radius: 0.37em;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 50px;
}

#buttonTickets img {
    width: 26px;
}

#buttonTickets a {
    text-transform: uppercase;
    color: white;
    text-decoration: none;
    margin-top: 0.5em;
    display: inline-block;
    font-size: 1.4em;
    font-weight: 700;
}


/********talksPromo - PAVEL************/
/***TICKET - PACEL*****/


.img-wrap {
    text-align: center;
}

.img-wrap img {
    margin-right: 10px;
    margin-bottom: 20px;
    border-radius: 0.625rem;
}

.perex-register-button {
    overflow: hidden;
    width: 200px;
    height: 60px;
    background-color: #2B3743;
    color: #ffffff;
    text-transform: uppercase;
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.32);
    cursor: hand;
}

.reg-notice  {
    margin-top: 1rem;
}


div.speakersFilter {
    width: 98%;

    background-color: var(--secondary-color-sat25);
    border-radius: 0.5rem;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1%;
    margin-bottom: 2rem;

    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625rem; /* 162.5% */
    text-transform: capitalize;
    justify-content: left;
    flex-wrap: wrap;
    column-gap: 2rem;
    row-gap: 1rem;
}

div.speakersFilter .filterBtn {
    cursor: pointer;
    display: flex;
    gap: 0.5rem;
}

.filterIgnore {
    opacity: 0.3;
}

div.speakersFilter .filterBtn:hover {
    text-decoration: underline;
}

div.filterIcon {
    width: 1.625rem;
    height: 1.625rem;
    display: inline-block;
    border-radius: 2rem;
}

.otherTalk .filterIcon {
    margin-right: 0.5rem;
}

div.filterHeader {
    color: #000;
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.625rem; /* 162.5% */
    text-transform: capitalize;
}

div.speakersFilter .filterIndies .filterIcon, .filterIcon.filterIndies {
    background-color: #c284fc;
}

div.speakersFilter .filterLaw .filterIcon, .filterIcon.filterLaw {
    background-color: #c66f40;
}

div.speakersFilter .filterArt .filterIcon, .filterIcon.filterArt {
    background-color: #9BBA33;
}

div.speakersFilter .filterBusiness .filterIcon, .filterIcon.filterBusiness {
    background-color: #DE6E81;
}

div.speakersFilter .filterDesign .filterIcon, .filterIcon.filterDesign {
    background-color: #E7AD2F;
}

div.speakersFilter .filterTechnical .filterIcon, .filterIcon.filterTechnical {
    background-color: var(--primary-color);
}

div.speakersFilter .filterOther .filterIcon, .filterIcon.filterOther {
    background-color: #ACACAC;
}

div.speakersFilter .filterEdu .filterIcon, .filterIcon.filterEdu {
    background-color: #C03232;
}

div.filterHeader[data-filtersApplied="1"] {
    color: var(--primary-color);
}

div.filterBtn[data-filterselected="1"] {
    text-decoration: underline;
}

#popupContent {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 10001;
    border-radius: 1.25rem;
    background: var(--secondary-color-sat25);
}

#talkInfoBox {
    margin: 3rem;
    display: flex;
    gap: 0.5rem;
    flex-direction: column;
}


#talkMainInfo .scheduleDetail {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 1rem;
}

#talkMainInfo .scheduleDetail .talkName {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.5625rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

#talkMainInfo .scheduleDetail .talkInfo {
    display: flex;
    gap: 1rem;

    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625rem; /* 162.5% */
}


#talkInfoBox .textParagraph {
    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.625rem; /* 162.5% */
    text-align: justify;
}

#talkInfoBox .textParagraph p {
    margin: 0;
}

#talkInfoBox #talkMainInfo .textParagraph {
    width: 41.1875rem;
}

#speakerTitles {
    display: flex;
    gap: 1.6rem;
    flex-wrap: wrap;
}

#speakerTitles img {
    width: 14.8125rem;
    height: 9.6875rem;
    border-radius: 0.625rem;
}

#otherTalks {
    display: flex;
    gap: 0.5rem;
    flex-direction: row;
}

#otherTalks .otherTalk {
    background-color: #FFFFFF;
    border-radius: 0.625rem;
    padding: 0.5rem;
}

#otherTalks .otherTalk > div {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
}

#otherTalks .otherTalk .otherTalkContent {
    display: flex;
    flex-direction: column;
}


/**********************************************/


/*******PARTIES******/
.partyInfo {
    width: 500px;
    padding-right: 50px;
}

#jc2 {
    float: right;
    border: 15px solid white;
    margin-top: -60px;
    z-index: 150;
    margin-right: 0;
    width: 300px;
}

#jc1 {
    border: 15px solid white;
    float: left;
    margin-top: -40px;
    width: 300px;
}

#EpicGames {
    float: right;
    width: 100px;
    margin-top: -10px;
    margin-bottom: 60px;
    margin-right: 45px;
    z-index: 200;
}

.slider.slider-horizontal {
    width: 350px !important;
}

td.partyDate {
    width: 250px;
}

td.partyDate a {
    color: #ffffff;
}


div.logout {
    float: right;
}

div.logout form {
    display: inline
}


.text-block p {
    text-align: justify;
}

.companyLogo {
    height: 90px;
    float: right;
}


span.disabled {
    opacity: 50%;
}

.hourHalf {
    margin-bottom: 1em;
}

a.external:after {
    background-image: url('../img/externalLink.svg');
    background-size: 1em 1em;
    display: inline-block;
    width: 1em;
    height: 1em;
    content: "";
    margin-left: 0.1em;
}

span.aboutSpan {
    padding: 0.875rem 1rem;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;

    border-radius: 6.25rem;
    background: rgba(0, 179, 255, 0.10);

    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
}

span.headlineSpan {
    display: inline-block;
    padding: 0.875rem 1rem;
    margin: 30px 0px;

    border-radius: 6.25rem;
    background: #FFF;

    color: #000;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
}

.borderSvg {
    background: url("../img/mainBorder.svg");
    width: 100%;
    height: 100%;
}

.partyLoc {
    text-align: left;
}
.partyLoc td {
    min-width: 250px;
}

div.jobsDiv {
    margin-bottom: 4rem;
}

div.jobsDiv ul {
    columns: 2
}

div.jobsDiv li {
    page-break-inside: avoid;
    break-inside: avoid-column;
}


#FloorPlan {
    margin-top: 1rem;
    text-align: center;
}

#FloorPlan img {
    width: 70rem;
}

div.notice {
    background-color: #00a2e8;
    color: white;
    padding: 0.25rem 1rem;
    border-radius: 0.625rem;
    margin-bottom: 20px;
}

div.notice p {
    color: white;
}

span.altcolor {
    color: black;
}

div.imgright {
    float: right;
    margin-top: -8rem;
    max-width: 25%;
}

div.imgright img{
    width: 100%;
    height: auto;
}

div.imgparagraph {
    margin-top: 20px;
    width: 100%;
    text-align: center;
}

div.imgparagraph img{
    width: revert-layer;
    height: auto;
}

.youtubeFrame {
    /*max-width: 560px;
    max-height: 315px;*/
    width: 90%;
    height: auto;
    aspect-ratio: 1.777 / 1;
}

#aftermovie {
    width: 100%;
    height: auto;
    aspect-ratio: 2.0285 / 1;
}

#projecttrailer {
    width: 75%;
    height: auto;
    aspect-ratio: 2.0285 / 1;
    margin: 2rem auto;
}

#introPanel .registrationIntro {
    height: 50%;
}

#formPageParent {
    background-color: var(--secondary-color-sat25) !important;
}

#formPageParent.introFull {
    background-size: 100% auto !important;
    background-position: top !important;
}

#formPageParent .formPageContent {
    position: relative;
    z-index: 1;
}

.overlayBackground {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10000;
}

.overlay {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 10000;
}

.overlayStatic {
    position: static !important;
}

.overlayStatic #popupContent {
    top: unset !important;
}

.overlay a {
    color: var(--secondary-color-dark);
}

#confirmDialogue #messageContainer {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.popup_close {
    width: 1.25rem;
    height: 1.25rem;
    float: right;
    z-index: 100011;
    cursor: pointer;
    margin-top: .5rem;
    margin-right: .5rem;
    padding: 1rem;
}

.overlayTitle {
    font-size: 2rem;
    margin-bottom: 0.75rem;
}

.whiteFadeoutOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--secondary-color-sat25));
    pointer-events: none; /* Ensures the gradient does not block interactions with content */
    z-index: 0;
}

/* Optional: To make sure the gradient doesn't exceed the background image height */
.whiteFadeoutOverlay::before {
    content: "";
    display: block;
    padding-top: calc(100% * (1067 / 1600)); /* Aspect ratio of the background image */
    max-height: 100vh; /* Or any other limit based on your design */
    width: 100%;
    background: transparent;
}

.currencyBox {
    display: inline-flex;
    gap: 1.1rem;
    width: 5rem;
    border-radius: 8px;
    border: solid 1px var(--secondary-color-sat50);
    padding: 0.68rem;
}


.currencyBox input[type="radio"] {
    display: none;
}

.currencyLabel {
    margin: auto 0;
    cursor: pointer;
}

.currencyBox input[type="radio"]:checked + label
{
    color: var(--primary-color);
    font-weight: 600;
}

.toggle-group {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.toggle-group input[type="radio"] {
    display: none;
}

.non-interact {
    cursor: none !important;
    pointer-events: none !important;
    background-color: #7f7f7f !important;
}

.non-interact:hover {
    background-color: #7f7f7f !important;
}

.non-interact-highlighted {
    cursor: none !important;
    pointer-events: none !important;
    background-color: var(--primary-color);
}

.non-interact-highlighted {
    background-color: var(--primary-color) !important;
}

.toggle-button:hover{
    background-color:var(--primary-color);
    color: white;
}

.toggle-button {
    padding: 5px 8px;
    background-color: var(--secondary-color-light);
    border: 1px solid var(--secondary-color-sat100);
    border-radius: 5px;
    color: var(--secondary-color-dark);
    cursor: pointer;
    font-family: var(--secondary-font), sans-serif;
    transition: background-color 0.3s, border-color 0.3s;
    line-height: 1.5rem;
}

.toggle-group input[type="radio"]:checked + label {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: var(--secondary-color-light)
}

.formSectionRow {
    display: inline-flex;
    gap: 1rem;
    vertical-align: middle;
}

.formSectionDescription {
    margin-top: 1rem;
    margin-bottom: -0.75rem;
}

div.formSectionLabel {
    margin: auto 0;
}

div.formSectionLabel p {
    margin: 0;
    font-weight: 600;
}

.firstInfoBlock {
    margin-top: 1.5rem;
}

#teamMembers {
    row-gap: 10px;
    column-gap: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#teamMembers .teamMember-contact {
    text-align:center;
    font-size: 1rem;
}

#teamMembers .teamMember-title {
    color: var(--secondary-color-dark);
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    text-transform: capitalize;
}

#teamMembers .teamMember-name {
    color: var(--secondary-color-dark);
    text-align: center;
    font-family: var(--secondary-font), sans-serif;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    text-transform: capitalize;
}

#teamMembers .teamMember-image {
    width: 16rem;
    height: 14rem;
    flex-shrink: 0;
    border-radius: 1.25rem;
    background: #D9D9D9;
    overflow: clip;
    margin-bottom: 0.75rem;
}

#teamMembers .teamMember-image img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#teamMembers .teamMember-inner {
    width: 16rem;
    height: 25rem;
    display: flex;
    flex-flow: column;
}

div.inputError {
    margin-top: -2.75rem;
    color: var(--error-color);
    margin-bottom: -1rem;
    position: absolute;
    z-index: 9;
    background: var(--secondary-color-sat25);
    border: 1px solid var(--secondary-color-sat100);
    border-radius: 8px;
    padding: 4px 8px 4px 8px;
}

div.inputError > p {
    margin:0;
    color: var(--error-color);
    font-weight: 500;
}

div.inputError.inline {
    z-index: 0;
    margin-top: 0.5rem;
    margin-bottom: -0.2rem;
    color: var(--error-color);
    position: relative;
    background: none;
    border: none;
    border-radius: 0px;
    padding: 4px 8px 4px 8px;
}

input.inputwitherror, textarea.inputwitherror, select.inputwitherror, div.inputwitherror {
    border: solid 1px var(--error-color);
}

div.centerblock {
    text-align: center;
    margin: 0 auto;
}

div.thinblock {
    width: 35%;
}

.errormessage {
    font-size: 1.5rem;
    color: var(--error-color);
}

.flexCenterRow {
    margin-top: 1rem;
    display: flex;
    width: 100%;
    column-gap: 1rem;
    justify-content: center;
}

.newselem {
    width: 400px;
}

div.newsitem a {
    display:block !important;
    text-decoration: none;
    padding: 10px;
}

div.newsitem {
    height: 10rem !important;
}

.promo {
    margin-top: 6rem;
    display: flex;
    row-gap: 2.5rem;
    justify-content: space-between;
    column-gap: 2.5rem;
}

.promo-l {
    flex-direction: row;
}

.promo-r {
   flex-direction: row-reverse;
}

.promo-button {
    margin: 2rem 0 !important;

}

.promo-button a {
    padding: 15px !important;
}

.promo_info {
    background-color: white;
    border-radius: 15px;
    width: 40%;
    text-align: left !important;
}

.promo_info p {
    font-size: 1.15rem !important;
    font-weight: 500 !important;
}

.promo_info li{
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    line-height: 2rem !important;
}

.promo_info h3 {
    color: var(--secondary-color-dark) !important;
    text-align: left !important;
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    line-height: 2.5rem !important;
    margin: 0.5rem 0 1rem 0 !important;
}

.promo_inner {
    padding: 1rem 1rem
}

.promo_img {
    width: 60%;
    line-height: 0px;
}

.promo_img img {
    width: 100%;
    border-radius: 15px;
}

.promo_tickets {
    margin-top: 40px;
    text-align: center;
}

.promo_tickets p {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    text-align: center;
}

.promo_tickets a {
    padding: 1rem !important;
    font-size: 1.5rem;
    font-weight: 600;
}

#expo-carousel {
    display: flex;

    column-gap: 40px;
    margin-top: 4rem;
}

.expo-item {
    height: 600px;
    background-size: cover;
    background-position: center;
    border-radius: 1.875rem;
    padding-top: 3rem;
}

#expo-carousel a {
    text-decoration: none;
    width: 100%;
}

.expo-title {
    height: 9rem;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
}

.expo-title h3 {
    margin: auto 1rem !important;
    color: white !important;
    font-weight: 800 !important;
    font-size: 2rem !important;
    text-align: center;
}

.expo-promo-button {
    width: 100%;
    display: flex;
    margin-top: 2rem;
}

.copyAction {
    margin-right: 20px;
}


/* Container for the messages */
.popup-message-container {
    position: fixed;
    top: 150px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000000;
}

/* Basic styles for the messages */
.popup-message {
    margin-top: 10px;
    padding: 15px 20px;
    color: white;
    border-radius: 5px;
    font-size: 16px;
    text-align: center;
    min-width: 300px;
    max-width: 500px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    opacity: 1;
    animation: fadeOut 3s forwards ease-out;
}

/* Success (green) and Error (red) styles */
.success {
    background-color: #0f5a0f;
}

.error {
    background-color: #650303;
}

/* Fade-out animation */
@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateY(-20px);
    }
}