/* DEVELOPMENT */
.otgs-development-site-front-end {
    display: none;
}

html {
    scroll-behavior: smooth;
}

.wp-block-group iframe {
    width: 100% !important;
    aspect-ratio: 4 / 1;
    height: auto;
    display: block;
}

footer {
    margin-top: 0;
}

#alternate .splide__slide:nth-of-type(odd) {
    top: 20px;
}

#alternate .splide__slide:nth-of-type(odd) figcaption {
    bottom: 30px;
}

#alternate .splide__slide:nth-of-type(even) {
    bottom: 20px;
}

#alternate .wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--next {
    right: 30px;
}

#alternate .wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--prev {
    left: 30px;
}


/* ================================
   GLOBAL RESET FOR NINJA FORMS
================================ */
.nf-form-cont,
.nf-form-cont * {
    box-sizing: border-box;
}

.nf-form-cont input,
.nf-form-cont textarea,
.nf-form-cont select,
.nf-form-cont button {
    font-family: var(--wp--preset--font-family--kanit, "Kanit");
    border-radius: 0;
    box-shadow: none;
}

/* ================================
   REMOVE FIELD WRAPPER STYLING
================================ */
.nf-form-cont .nf-field-container {
    background: transparent;
    border: none;
    padding: 0;
    margin-bottom: 16px;
}

.nf-form-cont .nf-field {
    margin: 0;
}

/* HTML / text blocks */
.nf-form-cont .html-container {
    padding: 0;
    margin-bottom: 12px;
}

/* ================================
   LABELS
================================ */
.nf-form-cont .nf-field-label {
    margin-bottom: 6px;
    font-weight: 400;
}

.nf-field-label .nf-label-span, .nf-field-label label {
    font-weight: 400!important;
    margin: 0;
    padding: 0;
}

/* ================================
   INPUT FIELDS
================================ */
.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont input[type="tel"],
.nf-form-cont input[type="number"],
.nf-form-cont input[type="password"],
.nf-form-cont textarea,
.nf-form-cont select,
.nf-form-cont .datepicker {
    width: 100%;
    padding: 10px 12px;
    background: #ffffff;
    border: 1px solid #006BB3;
    font-size: 15px;
}

/* Focus state */
.nf-form-cont input:focus,
.nf-form-cont textarea:focus,
.nf-form-cont select:focus {
    outline: none;
    background: #D9E8F4;
}

/* ================================
   RADIO & CHECKBOX
================================ */
.nf-form-cont .list-radio-wrap ul,
.nf-form-cont .checkbox-wrap {
    padding-left: 0;
    margin: 0;
}

.nf-form-cont .list-radio-wrap li {
    margin-bottom: 8px;
}

.nf-form-cont input[type="radio"],
.nf-form-cont input[type="checkbox"] {
    margin-right: 8px;
}

/* ================================
   HR FIELDS
================================ */
.nf-form-cont hr {
    border: none;
    border-top: 2px solid #D9E8F4;
    margin: 20px 0;
}



/* ================================
   SUBMIT & BUTTONS
================================ */
.nf-form-cont input[type="submit"],
.nf-form-cont button[type="submit"] {
    background: #ED9825;
    color: #ffffff;
    border: none;
    padding-top: var(--wp--preset--spacing--30);
    padding-right: var(--wp--preset--spacing--40);
    padding-bottom: var(--wp--preset--spacing--30);
    padding-left: var(--wp--preset--spacing--40);
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 999px;
}

.nf-form-cont input[type="submit"]:hover,
.nf-form-cont button[type="submit"]:hover {
    opacity: 0.9;
}


/* ================================
   ERROR MESSAGES (FIX VISIBILITY)
================================ */

/* Field-level errors */
.nf-form-cont .nf-error-wrap {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    color: #ED9825; /* red/orange error */
    line-height: 1.4;
}

#nf-label-field-9 {
    font-weight: 400;
    font-size: 15px;
    position: relative;
    top: 3px;
}

/* Sometimes Ninja Forms hides them */
.nf-form-cont .nf-error-wrap.nf-error {
    height: auto;
    overflow: visible;
}

/* Form-level errors (top / bottom messages) */
.nf-form-cont .nf-form-errors,
.nf-form-cont .nf-response-msg {
    color: #ED9825;
    font-size: 15px;
    margin: 12px 0;
}

.nf-form-cont .nf-form-errors, .nf-form-cont {
    font-size: unset;
    margin: 12px 0;
}

.nf-response-msg {
    color: #15f37c;
    font-size: unset;
    margin: 12px 0;
    border-left: 3px solid;
    padding-left: 15px;
}

.nf-error-msg {
    color: #ED9825;
    padding-left: 15px;
    border-left: 3px solid;
}

/* Highlight invalid inputs */
.nf-form-cont .nf-error ~ .nf-field-element input,
.nf-form-cont input[aria-invalid="true"],
.nf-form-cont textarea[aria-invalid="true"],
.nf-form-cont select[aria-invalid="true"] {
    border-color: #ED9825;
    background: #F7F7F7;
}


.nf-form-cont h1, .nf-form-cont h2, .nf-form-cont h3, .nf-form-cont h4, .nf-form-cont h5, .nf-form-cont h6 {
    color: #006BB3!important;
}


:target {
  scroll-margin-top: 75px;
}
