* { 
	box-sizing: border-box;
	margin:0;
	padding:0;
	box-sizing: border-box;
	transition: all 0.3s linear;
	scroll-margin-top: 6.25rem;
}

img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

 @font-face{
    font-family: 'Helvetica';
    src: url('/wp-content/fonts/Helvetica.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face{
    font-family: 'Helvetica';
    src: url('/wp-content/fonts/Helvetica-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
  @font-face{
    font-family: 'Helvetica';
    src: url('/wp-content/fonts/Helvetica-Oblique.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
  }
  @font-face{
    font-family: 'Helvetica';
    src: url('/wp-content/fonts/Helvetica-BoldOblique.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
  }

  :root{
    --font-regular: 'Helvetica', Arial, sans-serif;
    --font-condensed-black: 'Helvetica Black Condensed', 'Helvetica', Arial Narrow, sans-serif;
    --modal-bg: #ffffff;
    --border-soft: rgba(0,0,0,0.1);
    --border-line: #e0e0e0;
    --text-muted: rgba(0,0,0,0.6);
    --required: #ff383c;
  }



  html,body{
    font-family: 'Helvetica', Arial, sans-serif;
    background:#fff;
    color:#000;
    scroll-behavior:smooth;
  }

  img{ max-width:none; }

  /* ===================== STEP CONTAINER ===================== */
  .step{
    display:none;
    width:100%;
    opacity:0;
    transform: translateY(40px);
    transition: opacity 0.6s cubic-bezier(0.65,0,0.35,1), transform 0.6s cubic-bezier(0.65,0,0.35,1);
  }
  .step.active{ display:block; }
  .step.visible{ opacity:1; transform: translateY(0); }

  /* ===================== SCREEN 1 — HERO ===================== */
  #screen-1{
    height:100vh;
    width:100%;
    position:relative;
    cursor:pointer;
    overflow:hidden;
  }
  #screen-1 img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  /* ===================== SCREEN 2 — REGISTER ===================== */
  #screen-2{
    height:100vh;
    width:100%;
    position:relative;
    overflow:hidden;
  }
  #screen-2 .bg-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
  }
  .register-content{
    position:relative;
    z-index:1;
    height:100%;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:110px;
    padding:0 40px;
    text-align:center;
  }
  .register-title{
    font-family: var(--font-condensed-black);
    font-weight:700;
    font-size:clamp(30px, 5vw, 54px);
    letter-spacing:2.52px;
    color:#fff;
    text-transform:uppercase;
    line-height:1.1;
    margin-bottom:30px;
  }
  .countdown{
    display:flex;
    gap:84px;
    align-items:center;
    justify-content:center;
    color:#fff;
    flex-wrap:wrap;
  }
  .countdown .unit{
font-family: var(--font-condensed-black);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
  }
  .countdown .num{
font-family: 'Helvetica', Arial, sans-serif;
    font-weight:700;
    font-size:clamp(22px, 4vw, 34px);
    letter-spacing:3.4px;
width:50px;
  }
  .countdown .label{
font-family: 'Helvetica', Arial, sans-serif;
    font-weight:500;
    font-size:12px;
    letter-spacing:1.68px;
    text-transform:uppercase;
  }
  .register-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    border:none;
    color:#fff;
    background:none;
    cursor:pointer;
    font-family:'Helvetica', Arial, sans-serif !important;
    font-weight:500;
    font-size:14px;
    letter-spacing:3.36px;
    text-transform:uppercase;
  }
  .register-cta .label-text{
    font-family:'Helvetica', Arial, sans-serif !important;
    position:relative;
    display:inline-block;
    padding-bottom:8px;
  }
  .register-cta .label-text::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:0;
    width:0;
    height:2px;
    background:rgba(255,255,255,0.8);
    transition:width 0.35s ease, left 0.35s ease;
  }
  .register-cta:hover .label-text::after,
  .register-cta:focus-visible .label-text::after{
    left:0;
    width:100%;
  }

  /* ===================== SCREEN 3 — CATEGORIES ===================== */
  #screen-3{
    width:100%;
    min-height:100vh;
    flex-direction:column;
    background:#fff;
  }
  #screen-3.active{
    display:flex;
  }
  .cat-main{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:60px;
    position:relative;
  }
  .cat-links{
font-family:var(--font-regular);
font-weight:400;
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:1097px;
    width:100%;
    flex-wrap:wrap;
  }
  .cat-link{
    flex:1 0 0;
    min-width:200px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 46px;
    cursor:pointer;
    background:none;
    border:none;
    font-family:'Helvetica', Arial, sans-serif !important;
    font-weight:250;
    font-size:clamp(16px, 2.2vw, 24px);
    letter-spacing:2.4px;
    color:#000;
    text-transform:uppercase;
    position:relative;
  }
  .cat-link .label-text{
    position:relative;
    display:inline-block;
  }
  .cat-link .label-text::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-2px;
    width:0;
    height:1.5px;
    background:#000;
    transition:width 0.35s ease, left 0.35s ease;
  }
  .cat-link:hover .label-text::after,
  .cat-link:focus-visible .label-text::after{
    left:0;
    width:100%;
  }

  .cat-footer{
    background:#000;
    border-top:1px solid rgba(255,255,255,0.14);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 112px 18px 114px;
    flex-wrap:wrap;
    gap:20px;
  }
  .cat-footer-email{
font-family: 'Helvetica', Arial, sans-serif;
    letter-spacing:2px;
font-size:14px !important;
    text-transform:uppercase;
    color:#fff;
  }
  .cat-footer-email a{
    color:#fff;
    text-decoration:none;
  }
  .cat-footer-socials{
    display:flex;
    gap:24px;
    align-items:center;
  }
  .cat-footer-socials a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    transition:transform 0.25s ease, opacity 0.25s ease;
  }
  .cat-footer-socials a img{
    width:100%;
    height:100%;
    display:block;
  }
  .cat-footer-socials a:hover{
    opacity:0.8;
    transform:translateY(-2px);
  }

  /* ===================== MODAL OVERLAY (dark bg behind popup) ===================== */
  .modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(26,26,26,0.7);
    display:none;
    align-items:flex-start;
    justify-content:center;
    overflow-y:auto;
    z-index:1000;
    padding:50px 20px;
  }
  .modal-overlay.active{ display:flex; }

  /* ===================== POPUP CARD (white bg, close icon) ===================== */
  .registration-form{
    position:relative;
    background:#fff;
    border-radius:12px;
    width:100%;
    max-width:844px !important;
    margin:0 auto !important;
    padding:50px 60px !important;
    display:flex;
    flex-direction:column;
    gap:36px;
  }
  .form-header{
    padding-bottom:30px;
    padding-right:30px;
    border-bottom:1px solid var(--border-line);
  }
  .form-header .event-name{
    display:block;
    font-style:italic;
    font-weight:300;
    font-size:13px;
    color:#000;
    margin-bottom:10px;
  }
  .form-header h1{
    font-family:var(--font-regular);
    font-weight:600;
    font-size:24px;
    color:#000;
    margin-bottom:8px;
  }
  .form-header p{
    font-family:var(--font-regular);
    font-weight:400;
    font-size:12px;
    line-height:19.5px;
    color:var(--text-muted);
    max-width:640px;
  }
  .form-card{
    min-height:80px;
    font-family:var(--font-regular);
    font-size:13px;
  }

  /* Close (X) icon, top-right of popup */
  .modal-close{
    position:absolute;
    top:26px;
    right:26px;
    width:16px;
    height:16px;
    cursor:pointer;
    background:none;
    border:none;
    padding:0;
  }
  .modal-close::before,
  .modal-close::after{
    content:'';
    position:absolute;
    top:50%;
    left:0;
    width:100%;
    height:1.2px;
    background:#000;
  }
  .modal-close::before{ transform:rotate(45deg); }
  .modal-close::after{ transform:rotate(-45deg); }
  .modal-close:hover::before,
  .modal-close:hover::after{
    background:#555;
  }

  /* ===================== RESPONSIVE ===================== */
  @media (max-width: 1024px){
    .cat-main{ padding:40px; }
    .cat-footer{ padding:18px 48px; }
    .registration-form{ padding:44px 40px !important; max-width:90% !important; }
  }

  @media (max-width: 768px){
    .register-content{ gap:44px; padding:0 24px; }
    .register-title{ margin-bottom:32px; }
    .countdown{ gap:22px; }
    .cat-main{ padding:60px 24px; }
    .cat-links{ flex-direction:column; gap:6px; }
    .cat-link{ width:100%; padding:14px 10px; }
    .cat-footer{ padding:18px 24px; flex-direction:column; align-items:flex-start; gap:16px; }
    .cat-footer-email{ font-size:16px; }
  }

  @media (max-width: 480px){
    .register-cta{ font-size:12px; letter-spacing:2px; }
    .countdown{ gap:14px; }
    .countdown .label{ font-size:10px; }
    .cat-link{ font-size:16px; letter-spacing:1.6px; }
    .cat-footer-socials{ gap:14px; }
    .cat-footer-socials a{ width:36px; height:36px; }
    .registration-form{ padding:28px 22px !important; gap:24px !important; border-radius:8px !important; }
    .form-header h1{ font-size:19px; }
    .modal-overlay{ padding:20px 14px; }
  }
/*===================================================================================*/

/*==========================
Header
==========================*/

.header_main{
	display:none;
}

.as-header{
    width:100%;
    background:#fff;
    border-bottom:1px solid #eee;
    position:sticky;
    top:0;
    left:0;
    z-index:999;
}

.as-header-grp{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:85px;
}

/*==========================
Logo
==========================*/

.as-logo img{
    max-height:60px;
    width:auto;
    display:block;
}

/*==========================
Desktop Menu
==========================*/

.as-desk-menu-grp{
    margin-left:auto;
}

.as-desk-links .menu{
    display:flex;
    align-items:center;
    gap:40px;
    list-style:none;
    margin:0;
    padding:0;
}

.as-desk-links .menu li{
    position:relative;
}

.as-desk-links .menu li a{
    text-decoration:none;
    color:#111;
    font-size:15px;
    font-weight:500;
    transition:.3s;
}

.as-desk-links .menu li a:hover,
.as-desk-links .menu li.current-menu-item>a{
    color:#c8a96a;
}

/*==========================
Dropdown
==========================*/

.as-desk-links .sub-menu{
    position:absolute;
    top:120%;
    left:0;
    min-width:220px;
    background:#fff;
    list-style:none;
    padding:15px 0;
    margin:0;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.as-desk-links li:hover>.sub-menu{
    opacity:1;
    visibility:visible;
    top:100%;
}

.as-desk-links .sub-menu li{
    width:100%;
}

.as-desk-links .sub-menu li a{
    display:block;
    padding:12px 20px;
}

.as-desk-links .sub-menu li a:hover{
    background:#f7f7f7;
}

/*==========================
Mobile
==========================*/

.as-mobile-menu-grp{
    display:none;
}

.as-toggle-menu{
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
}

.as-toggle-menu svg{
    width:28px;
    height:auto;
}

.as-toggle-menu svg path{
    fill:#111;
}

.as-mob-menu{
    position:fixed;
    top:0;
    right:-100%;
    width:300px;
    height:100vh;
    background:#fff;
    transition:.35s;
    padding:80px 30px;
    box-shadow:-5px 0 20px rgba(0,0,0,.1);
}

.as-mob-menu.active{
    right:0;
}

.as-mob-links .menu{
    list-style:none;
    margin:0;
    padding:0;
}

.as-mob-links .menu li{
    margin-bottom:18px;
}

.as-mob-links .menu li a{
    text-decoration:none;
    color:#111;
    font-size:18px;
    font-weight:500;
}

/*==========================
Responsive
==========================*/

@media(max-width:991px){

.as-desk-menu-grp{
    display:none;
}

.as-mobile-menu-grp{
    display:block;
}

}



/* forms */

/*=========================================
        THE EVENT REGISTRATION FORM
=========================================*/

:root{
    --primary:#111111;
    --secondary:#c8a96a;
    --border:#e5e5e5;
    --bg:#f7f7f7;
    --white:#ffffff;
    --text:#555555;
}

/* body{
    background:var(--bg);
    font-family:Inter, sans-serif;
    color:var(--primary);
} */


/*==========================
Header
==========================*/

.form-header{

    text-align:center;
    margin-bottom:0px;
}

.event-name{

    display:inline-block;
    color:var(--secondary);
    letter-spacing:6px;
    text-transform:uppercase;
    font-size:14px;
    font-weight:700;
    margin-bottom:15px;
}

.form-header h1{

    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
}

.form-header p{

    max-width:650px;
    margin:auto;
    line-height:1.8;
    color:var(--text);
}



/*==========================
Section Title
==========================*/

.form-card h3{

    font-size:28px;

    margin:10px 0 20px;

    padding-left:18px;

    border-left:5px solid var(--secondary);
}

.form-card h3:first-child{

    margin-top:0;
}

/*==========================
Grid
==========================*/

.grid-2{

    display:grid;

    grid-template-columns:repeat(2,1fr);
	
	column-gap:25px;
	
	row-gap:0;
}

.grid-3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;
}

.grid-2 br,
.grid-3 br,br {
    display: none !important;
}


.event-checkboxs,.event-radio-btns {
    display: flex;
    flex-wrap: wrap;
	column-gap: 8px;
    row-gap: 0;
}

.event-radio-btns{
	margin-top: 8px;
}



/*==========================
Labels
==========================*/

.form-card label{

    display:block;

    margin-bottom:12px;

    margin-top:20px;

    font-weight:600;

    font-size:15px;
}

.form-card label span{
	font-size:14px;
	font-weight:400;
	opacity:0.8;
}

/*==========================
Inputs
==========================*/

.form-control{

    width:100%;

    border:1px solid var(--border);

    border-radius:12px;

    padding:16px 18px;

    font-size:15px;

    transition:.3s;

    background:#fff;
}

.form-control[type="date"] {
    appearance: auto;
    -webkit-appearance: auto;
}

.form-control:focus{

    outline:none;

    border-color:var(--secondary);

    box-shadow:0 0 0 5px rgba(200,169,106,.18);
}

/*==========================
Textarea
==========================*/

textarea.form-control{

    resize:vertical;
    max-height:140px;
}

/*==========================
Select
==========================*/

select.form-control{

    cursor:pointer;
}


/*==========================
Terms & Conditions
==========================*/

.event-policy-link {
    cursor: pointer;
    text-decoration: underline;
}

.event-policy-popup {
    display: none;
    position: fixed;
    z-index: 99999;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.event-policy-content {
    position: relative;
    background: #fff;
    width: 100%;
    max-width: 700px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 40px;
    box-sizing: border-box;
}

.event-policy-content h3 {
    margin-top: 0;
}
.form-card .text-register {
    font-family:'Helvetica', Arial, sans-serif;
	margin-top:20px;
	font-size:16px;
	color:#111111;
	opacity: 0.8;
	line-height:1.6;
}

.event-policy-content li {
	margin-top:12px !important;
    margin-bottom: 12px;
}

.event-policy-close {
    position: absolute;
    top: 10px;
    right: 15px;
    border: 0;
    background: none;
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
}

/*==========================
Radio Buttons
==========================*/

.wpcf7-form-control-wrap{

    display:block;
}

.wpcf7-list-item{

    margin:0 0 1em;

    display:inline-block;
}

.wpcf7-list-item label {
    display: block;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
}

.wpcf7-radio .wpcf7-list-item input,
.wpcf7-checkbox .wpcf7-list-item input{
    display:none;
}

.wpcf7-list-item-label{

    display:inline-block;

    padding:12px 18px;

    border:1px solid var(--border);

    border-radius:40px;

    transition:.3s;

    cursor:pointer;

    font-size:14px;

    background:#fff;
}

/* Radio & Checkbox Buttons Only */
.wpcf7-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item input:checked + .wpcf7-list-item-label{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}



.wpcf7-radio .wpcf7-list-item-label:hover,
.wpcf7-checkbox .wpcf7-list-item-label:hover{
    border-color:var(--secondary);
    color:var(--secondary);
}



/*==========================
Acceptance Checkbox
==========================*/

.wpcf7-acceptance{
    margin-top:20px;
}

.wpcf7-acceptance .wpcf7-list-item{
    display:flex;
    align-items:flex-start;
    margin:40px 0 0;
}

.wpcf7-acceptance label{
    display:flex;
    align-items:flex-start;
    gap:12px;
    font-weight:400;
    line-height:1.6;
    cursor:pointer;
}

.wpcf7-acceptance input[type="checkbox"]{
    display:block !important;
    appearance:auto;
    -webkit-appearance:checkbox;
    -moz-appearance:checkbox;

    width:22px;
    height:22px;
    margin:2px 0 0;
    cursor:pointer;
    flex-shrink:0;
}

.wpcf7-acceptance .wpcf7-list-item-label{
	text-align:left;
    border:none;
    background:none;
    padding:0;
    color:var(--primary);
    font-size:16px;
	font-weight:400;
}


/*=========================================
        Select Field
=========================================*/

select.form-control{
    width:100%;
    padding:16px 18px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    color:var(--primary);
    font-size:15px;
    font-family:inherit;
    cursor:pointer;
    transition:.3s;

    /* Remove default browser styling */
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    /* Custom dropdown arrow */
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 18px center;
    background-size:18px;
    padding-right:50px;
}

select.form-control:hover{
    border-color:var(--secondary);
}

select.form-control:focus{
    outline:none;
    border-color:var(--secondary);
    box-shadow:0 0 0 5px rgba(200,169,106,.18);
}

select.form-control option{
    color:var(--primary);
    background:#fff;
}

/*==========================
Submit
==========================*/

.btn-submit,
input[type=submit]{

    width:100%;

    margin-top:40px;

    border:none;

    background:var(--primary);

    color:#fff;

    padding:18px;

    border-radius:12px;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;
}

.btn-submit:hover,
input[type=submit]:hover{

    background:var(--secondary);
}

/*==========================
Divider
==========================*/

hr{

    border:none;

    border-top:1px solid var(--border);

    margin:40px 0;
}

/*==========================
Success Message
==========================*/

.wpcf7-response-output{

    border:none !important;

    background:#edf8ef;

    color:#22863a;

    padding:18px;

    border-radius:10px;

    margin-top:30px !important;
}

/*==========================
Validation
==========================*/

.wpcf7-not-valid{

    border-color:#ff5252 !important;
}

.wpcf7-not-valid-tip{

    margin-top:8px;

    color:#ff5252;

    font-size:13px;
}

/*==========================
Placeholder
==========================*/

::placeholder{

    color:#9b9b9b;
}

/*==========================
Input Hover
==========================*/

.form-control:hover{

    border-color:#cfcfcf;
}

/*==========================
Spacing
==========================*/

.mb-20{

    margin-bottom:20px;
}

.mt-30{

    margin-top:30px;
}

/*==========================
Responsive
==========================*/

@media(max-width:991px){

.grid-2,
.grid-3{

grid-template-columns:1fr;
}

.form-card{

padding:0 25px;
}

.form-header h1{

font-size:34px;
}

}

@media(max-width:767px){

.registration-form{

margin:40px auto !important;
padding:15px !important;
}

.form-card{

padding:0;
border-radius:15px;
}

.form-header{

margin-bottom:0px;
}

.form-header h1{

font-size:28px;
}

.form-card h3{
	font-size:20px;
}
	
.event-checkboxs {
    display: flex;
    flex-wrap: wrap;
}	

.wpcf7-list-item{
	display:block;
	margin:0 0 1em 0;
}


.wpcf7-list-item-label{
display:block;
width:100%;
text-align:center;
}

input[type=submit]{

font-size:16px;
padding:16px;
}

}


