.elementor-kit-5{--e-global-color-primary:#243950;--e-global-color-secondary:#B4B4B4;--e-global-color-text:#F5F5F5;--e-global-color-accent:#FFFFFF;--e-global-color-fc9174b:#426DBC;--e-global-color-63eb01e:#000000;--e-global-color-ae5adc2:#FFF9AE;--e-global-typography-primary-font-family:"Helvetica";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"Helvetica";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Helvetica";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:uppercase;--e-global-typography-accent-font-family:"Helvetica";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:none;--e-global-typography-792772a-font-family:"Helvetica";--e-global-typography-792772a-font-size:14px;--e-global-typography-792772a-font-weight:400;--e-global-typography-792772a-text-transform:uppercase;--e-global-typography-fbbdd5a-font-family:"Helvetica";--e-global-typography-fbbdd5a-font-size:12px;--e-global-typography-fbbdd5a-font-weight:300;--e-global-typography-fbbdd5a-text-transform:none;color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-fc9174b );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-fc9174b );border-radius:5px 5px 5px 5px;padding:12px 10px 10px 10px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-fc9174b );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-kit-5 a:hover{color:var( --e-global-color-fc9174b );}.elementor-kit-5 h1{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );}.elementor-kit-5 h2{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-5 h3{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-5 h4{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-5 h5{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-5 h6{color:var( --e-global-color-63eb01e );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-5 label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-kit-5 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea:focus,.elementor-kit-5 .elementor-field-textual:focus{box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:80vw;}.e-con{--container-max-width:80vw;}.elementor-widget:not(:last-child){--kit-widget-spacing:5px;}.elementor-element{--widgets-spacing:5px 5px;--widgets-spacing-row:5px;--widgets-spacing-column:5px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:44px;--e-global-typography-secondary-font-size:26px;--e-global-typography-text-font-size:16px;--e-global-typography-792772a-font-size:12px;--e-global-typography-fbbdd5a-font-size:10px;font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-5 a{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-5 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h3{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h4{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h5{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h6{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-5 label{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:80vw;}.e-con{--container-max-width:80vw;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:14px;--e-global-typography-792772a-font-size:10px;--e-global-typography-fbbdd5a-font-size:8px;font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-5 a{font-size:var( --e-global-typography-accent-font-size );}.elementor-kit-5 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h3{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h4{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h5{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 h6{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-5 label{font-size:var( --e-global-typography-text-font-size );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90vw;}.e-con{--container-max-width:90vw;--container-default-padding-top:10px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}}/* Start custom CSS *//* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* MEDIA ELEMENT RESPONSIVE SIZING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* Mobile responsive for media elements */
@media (max-width: 768px) {
    iframe, video {
        max-height: 300px; /* Smaller max height on tablet */
    }
}

@media (max-width: 480px) {
    iframe, video {
        max-height: 200px; /* Even smaller on mobile */
        margin: 10px auto;
    }
    
    audio {
        margin: 10px auto;
    }
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* ADDITIONAL MEDIA ELEMENTS */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* Canvas styling */
canvas {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    border: 1px solid #426DBC;
    border-radius: 4px;
    background-color: #FFFFFF;
}

/* Embed and Object elements - similar to iframe */
embed, object {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    border: 1px solid #000000;
    border-radius: 4px;
}

/* Picture element images - UPDATED: minimal styling */
picture img {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    height: auto;
}

/* General image styling - UPDATED: no margin/padding by default */
img {
    display: block;
    margin: 0;
    padding: 0;
    max-width: 100%;
    height: auto;
}

/* Images in content areas get margin - but not in headers */
.elementor-post-content img,
.entry-content img,
article img,
.content img,
main img {
    margin: 20px auto;
}

/* Ensure header images have no margin */
header img,
.site-header img,
.elementor-header img,
.header img,
.logo img,
.site-logo img {
    margin: 0 !important;
    padding: 0 !important;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* TEXT SELECTION STYLING - LEGAL PAD YELLOW */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* "Legal Pad" selection color (#FFF9AE) */
/* Standard selection (Chromium‑based, Safari, iOS Safari, Android Chrome, Edge, Opera) */
::selection {
  background: #FFF9AE;  /* legal‑pad yellow */
  color: #000000;       /* black text for contrast */
}
/* Gecko/Firefox selection */
::-moz-selection {
  background: #FFF9AE;
  color: #000000;
}
/* Optional: make <mark> elements match the same look */
mark {
  background: #FFF9AE;
  color: #000000;
}
/* Search box text selection with inverted colors */
input[type="search"]::selection, 
input[type="text"].elementor-search-form__input::selection {
    background-color: #000000; /* Inverted from text color */
    color: #FFF9AE; /* Inverted from background color */
}
/* For Firefox */
input[type="search"]::-moz-selection, 
input[type="text"].elementor-search-form__input::-moz-selection {
    background-color: #000000; /* Inverted from text color */
    color: #FFF9AE; /* Inverted from background color */
}
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* BUTTON STYLING FOR ELEMENTOR */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
button,
input[type="submit"],
input[type="button"],
.button,
.btn,
.elementor-button,
.wp-block-button__link,
.wpcf7-submit {
    display: block;
    margin: 5px auto; /* 5px top/bottom, auto for left/right centering */
    text-align: center;
}

/* Elementor button wrapper centering */
.elementor-button-wrapper,
.wp-block-button {
    text-align: center;
    margin: 5px 10px; /* 5px top/bottom, 10px left/right on wrapper */
}
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* TABLE STYLING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* Main table - 1px border */
table {
    border-collapse: collapse;
    border: 1px solid #B4B4B4;
}
/* Header cells - dark blue background, 1px GRAY borders, highlighter yellow uppercase text */
table th {
    background-color: #243950 !important;
    border: 1px solid #B4B4B4;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    color: #FFF9AE !important;
}
/* Data cells - 1px borders, black text */
table td {
    border: 1px solid #B4B4B4;
    color: #000000;
    text-align: center;
    vertical-align: middle;
}
/* Center align any form elements inside table cells */
table td input,
table td select,
table td textarea,
table td button,
table th input,
table th select,
table th textarea,
table th button {
    margin: 0 auto;
    display: block;
}
/* Alternating row colors - odd rows light gray, even rows white */
table tr:nth-child(odd) td {
    background-color: #F5F5F5;
}
table tr:nth-child(even) td {
    background-color: #FFFFFF;
}
/* Explicitly disable hover effects - maintain same colors on hover */
table tr:nth-child(odd):hover td {
    background-color: #F5F5F5 !important;
}
table tr:nth-child(even):hover td {
    background-color: #FFFFFF !important;
}
/* Also disable any hover effects on the tr element itself */
table tr:hover {
    background-color: transparent !important;
}
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* OUTPUT TABLE - IMAGE SIZING IN TABLES */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
.output-table td:first-child {
    padding: 4px; /* Minimal padding for image cells */
}

.output-table td:first-child img {
    width: auto;
    height: 180px !important; /* Fixed height for consistency - override general img */
    max-height: 180px !important; /* Override general img max-height */
    max-width: 100%; /* Use full cell width if needed */
    object-fit: contain; /* Maintains aspect ratio */
    display: block;
    margin: 0 auto; /* Center the image in the cell */
    border: none; /* No border for table images */
    border-radius: 0; /* No rounded corners for table images */
}

/* Tablet responsive */
@media (max-width: 768px) {
    .output-table td:first-child img {
        height: 140px !important; /* Larger height on tablet */
        max-height: 140px !important;
        max-width: 100%;
    }
}

/* Mobile responsive */
@media (max-width: 480px) {
    .output-table td:first-child img {
        height: 100px !important; /* Larger height on mobile */
        max-height: 100px !important;
        max-width: 100%;
    }
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* IFRAME STYLING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
iframe {
    display: block;
    margin: 20px auto; /* Center alignment */
    max-width: 100%;
    max-height: 500px; /* Max height to prevent huge videos */
    border: 1px solid #000000;
    border-radius: 4px;
    background-color: #B4B4B4; /* Gray background while loading */
}

/* Responsive iframe wrapper if needed */
.iframe-wrapper {
    text-align: center;
    margin: 20px 0;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* AUDIO PLAYER STYLING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
audio {
    width: 100%;
    max-width: 600px;
    display: block;
    margin: 20px auto; /* Center alignment */
    border: 1px solid #000000;
    border-radius: 4px;
    background-color: #B4B4B4;
}

/* Custom audio controls styling - Webkit */
audio::-webkit-media-controls-panel {
    background-color: #B4B4B4;
    border-radius: 4px;
}

audio::-webkit-media-controls-play-button {
    background-color: #426DBC;
    border-radius: 50%;
}

audio::-webkit-media-controls-current-time-display,
audio::-webkit-media-controls-time-remaining-display {
    color: #243950; /* Dark blue for time */
}

audio::-webkit-media-controls-timeline {
    background-color: #B4B4B4;
    border-radius: 4px;
}

audio::-webkit-media-controls-volume-slider {
    background-color: #B4B4B4;
    border-radius: 4px;
}

/* VIDEO PLAYER STYLING - UPDATED: minimal styling */
video {
    display: block;
    margin: 20px auto; /* Center alignment */
    max-width: 100%;
    max-height: 500px;
}

/* Mobile responsive for media elements */
@media (max-width: 768px) {
    iframe, video {
        max-height: 300px; /* Smaller max height on tablet */
    }
}

@media (max-width: 480px) {
    iframe, video {
        max-height: 200px; /* Even smaller on mobile */
        margin: 10px auto;
    }
    
    audio {
        margin: 10px auto;
    }
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* PROGRESS AND METER STYLING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* Progress bars - full width and styled like sliders */
progress {
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #426DBC; /* Light blue border */
    border-radius: 4px;
    background-color: #B4B4B4;
    overflow: hidden;
}

/* Progress bar fill - Webkit */
progress::-webkit-progress-bar {
    background-color: #B4B4B4;
    border-radius: 4px;
}

progress::-webkit-progress-value {
    background-color: #426DBC; /* Light blue fill */
    border-radius: 4px;
}

/* Progress bar fill - Firefox */
progress::-moz-progress-bar {
    background-color: #426DBC; /* Light blue fill */
    border-radius: 4px;
}

/* Meter gauges - full width and styled like sliders */
meter {
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #426DBC; /* Light blue border */
    border-radius: 4px;
    background-color: #B4B4B4;
}

/* Meter - Webkit */
meter::-webkit-meter-bar {
    background-color: #B4B4B4;
    border-radius: 4px;
    border: none;
}

meter::-webkit-meter-optimum-value {
    background-color: #426DBC; /* Light blue fill */
    border-radius: 4px;
}

meter::-webkit-meter-suboptimum-value {
    background-color: #426DBC; /* Light blue fill */
    border-radius: 4px;
}

meter::-webkit-meter-even-less-good-value {
    background-color: #426DBC; /* Light blue fill */
    border-radius: 4px;
}

/* Meter - Firefox */
meter::-moz-meter-bar {
    background-color: #426DBC; /* Light blue fill */
    border-radius: 4px;
}

meter:-moz-meter-optimum::-moz-meter-bar {
    background-color: #426DBC; /* Light blue fill */
}

meter:-moz-meter-sub-optimum::-moz-meter-bar {
    background-color: #426DBC; /* Light blue fill */
}

meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
    background-color: #426DBC; /* Light blue fill */
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* INTERACTIVE BUTTON DIV - HORIZONTAL BUTTON LAYOUT */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
.interactive-button-div {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px; /* Space between buttons */
    flex-wrap: wrap; /* Allow wrapping if needed */
    margin: 20px 0; /* Some vertical spacing */
}

/* Fix for hidden attribute being overridden */
.interactive-button-div[hidden] {
    display: none !important;
}

/* Ensure buttons inside interactive-button-div don't have auto margins */
.interactive-button-div button,
.interactive-button-div .elementor-button {
    margin: 0; /* Remove auto margin */
    display: inline-block; /* Change from block to inline-block */
}

/* Mobile responsive - stack buttons vertically */
@media (max-width: 480px) {
    .interactive-button-div {
        flex-direction: column;
        gap: 8px;
    }
    
    .interactive-button-div button,
    .interactive-button-div .elementor-button {
        width: 100%; /* Full width on mobile */
        max-width: 300px; /* But not too wide */
    }
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* INPUT FIELDS STYLING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* Text-based inputs and standalone input - default state (1px black border) */
input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea {
    border: 1px solid #000000;
    border-radius: 4px;
    padding: 8px;
    background-color: #FFFFFF;
    color: #426DBC;
    transition: border 0.3s ease;
}

/* Placeholder text styling */
input::placeholder,
textarea::placeholder {
    color: #426DBC;
    opacity: 1;
}

/* Hover state - keep 1px border, just change color */
input:hover,
input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
textarea:hover {
    border: 1px solid #426DBC;
}

/* Active state - keep 1px border */
input:active,
input[type="text"]:active,
input[type="email"]:active,
input[type="password"]:active,
input[type="number"]:active,
input[type="date"]:active,
input[type="search"]:active,
input[type="tel"]:active,
input[type="url"]:active,
textarea:active {
    border: 1px solid #426DBC;
}

/* Focus state - CHANGED TO 1px blue border, dark blue text */
input:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus {
    outline: none;
    border: 1px solid #426DBC;
    color: #243950;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* DROPDOWN SELECT STYLING */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
select {
    border: 1px solid #000000;
    border-radius: 4px;
    padding: 8px;
    background-color: #FFFFFF;
    color: #426DBC;
    transition: border 0.3s ease;
}

select:hover {
    border: 1px solid #426DBC;
}

select:active {
    border: 1px solid #426DBC;
}

select:focus {
    outline: none;
    border: 1px solid #426DBC;
    color: #243950;
}

/* Selected option styling */
select option:checked {
    background-color: #426DBC;
    color: #FFFFFF;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* RADIO BUTTONS AND CHECKBOXES */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
input[type="radio"],
input[type="checkbox"] {
    accent-color: #426DBC;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* RANGE SLIDER */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
input[type="range"] {
    width: 100%; /* Full width */
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #426DBC; /* Light blue border */
    border-radius: 4px;
    background-color: #B4B4B4;
    cursor: pointer;
}

/* Webkit browsers (Chrome, Safari) */
input[type="range"]::-webkit-slider-track {
    background: transparent;
    border: none;
    height: 100%;
}

input[type="range"]::-webkit-slider-thumb {
    background: #426DBC; /* Light Blue thumb */
    border: 1px solid #426DBC;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -5px;
}

/* Firefox */
input[type="range"]::-moz-range-track {
    background: transparent;
    border: none;
    height: 100%;
}

input[type="range"]::-moz-range-thumb {
    background: #426DBC; /* Light Blue thumb */
    border: 1px solid #426DBC;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* COLOR PICKER */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
input[type="color"] {
    border: 1px solid #000000;
    border-radius: 4px;
    transition: border 0.3s ease;
    padding: 2px;
    height: 40px;
    width: 60px;
    cursor: pointer;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

input[type="color"]::-webkit-color-swatch {
    border: none;
    border-radius: 2px;
}

input[type="color"]::-moz-color-swatch {
    border: none;
    border-radius: 2px;
}

input[type="color"]:hover {
    border: 1px solid #426DBC;
}

input[type="color"]:active {
    border: 1px solid #426DBC;
}

input[type="color"]:focus {
    outline: none;
    border: 1px solid #426DBC;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
/* FILE UPLOAD */
/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */
input[type="file"] {
    border: 1px solid #000000;
    border-radius: 4px;
    padding: 8px;
    background-color: #FFFFFF;
    color: #426DBC;
    width: 100%;
    cursor: pointer;
    transition: border 0.3s ease;
}

input[type="file"]:hover {
    border: 1px solid #426DBC;
}

input[type="file"]:active {
    border: 1px solid #426DBC;
}

input[type="file"]:focus {
    outline: none;
    border: 1px solid #426DBC;
    color: #243950;
}

/* Style the file input button */
input[type="file"]::-webkit-file-upload-button {
    background-color: #426DBC;
    color: #FFFFFF;
    border: 1px solid #426DBC;
    border-radius: 4px;
    padding: 6px 12px;
    cursor: pointer;
    margin-right: 10px;
    text-transform: uppercase !important;
}

input[type="file"]::-webkit-file-upload-button:hover {
    background-color: #FFFFFF;
    border: 1px solid #426DBC;
    color: #426DBC;
}

/* Firefox */
input[type="file"]::file-.elementor-kit-5-button {
    background-color: #426DBC;
    color: #FFFFFF;
    border: 1px solid #426DBC;
    border-radius: 4px;
    padding: 6px 12px;
    cursor: pointer;
    margin-right: 10px;
    text-transform: uppercase !important;
}

input[type="file"]::file-.elementor-kit-5-button:hover {
    background-color: #FFFFFF;
    border: 1px solid #426DBC;
    color: #426DBC;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* Temp test */
.elementor-post-content {
  text-transform: none !important;
}


/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* Custom Drop Zone Styles */
.custom-drop-zone {
    border: 2px dashed #000000; /* 2px dashed black border by default */
    border-radius: 8px; /* Adding radius */
    padding: 40px 20px;
    margin: 6px; /* Add margin for breathing room in table cells */
    text-align: center;
    cursor: pointer;
    background-color: #F5F5F5; /* Light Gray Accent background */
    transition: all 0.3s ease;
    height: 200px; /* Fixed height for consistent sizing */
    box-sizing: border-box; /* Include padding and border in height */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Prevent overflow if text is too long */
}

/* Tablet responsive (768px and below) */
@media (max-width: 768px) {
    .custom-drop-zone {
        height: 160px; /* Smaller height for tablets */
        padding: 30px 15px; /* Less padding */
    }
}

/* Mobile responsive (480px and below) */
@media (max-width: 480px) {
    .custom-drop-zone {
        height: 140px; /* Even smaller for mobile */
        padding: 20px 10px; /* Minimal padding */
    }
}

.custom-drop-zone:hover {
    border: 2px dashed #426DBC; /* 2px dashed light blue border on hover */
    background-color: #FFFFFF; /* Pure White background on hover */
}

.custom-drop-zone.drag-over {
    border: 2px dashed #426DBC; /* 2px dashed light blue when dragging over */
    background-color: #FFFFFF; /* Pure White */
}

.custom-drop-zone.has-files {
    border: 2px dashed #426DBC; /* 2px dashed light blue when files are selected */
    background-color: #F5F5F5; /* Keep Light Gray Accent */
}

.drop-zone-text {
    color: #426DBC; /* Light Blue */
    margin: 0 0 8px 0;
}

.drop-zone-subtext {
    color: #426DBC; /* Light Blue */
    margin: 0;
    opacity: 1;
}

/* Ensure buttons match brand colors */
button {
    background-color: #426DBC; /* Button Blue */
    color: #FFFFFF; /* White text */
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

button:hover {
    background-color: #243950; /* Darker brand color on hover */
}

/* Disabled button states - all button types */
button:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
.button:disabled,
.btn:disabled,
.elementor-button:disabled,
.wp-block-button__link:disabled,
.wpcf7-submit:disabled {
    background-color: #F5F5F5 !important; /* Light gray background */
    color: #B4B4B4 !important; /* Dark gray text */
    border: 1px solid #B4B4B4 !important; /* Dark gray border */
    cursor: not-allowed;
    opacity: 1 !important; /* Ensure full opacity */
}

/* Disabled hover states - no change on hover */
button:disabled:hover,
input[type="submit"]:disabled:hover,
input[type="button"]:disabled:hover,
.button:disabled:hover,
.btn:disabled:hover,
.elementor-button:disabled:hover,
.wp-block-button__link:disabled:hover,
.wpcf7-submit:disabled:hover {
    background-color: #F5F5F5 !important; /* Same light gray background */
    color: #B4B4B4 !important; /* Same dark gray text */
    border: 1px solid #B4B4B4 !important; /* Same dark gray border */
}

/* Style number inputs and selects to match - redundant with above but kept for specificity */
input[type="number"], select {
    border: 1px solid #000000; /* Updated to black */
    padding: 8px;
    background-color: #FFFFFF;
    color: #426DBC;
    transition: border 0.3s ease;
}

input[type="number"]:hover, select:hover {
    border: 1px solid #426DBC;
}

input[type="number"]:active, select:active {
    border: 1px solid #426DBC;
}

input[type="number"]:focus, select:focus {
    border: 1px solid #426DBC;
    outline: none;
    color: #243950;
}

/* Labels */
label {
    color: #000000;
}

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */

/* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *//* End custom CSS */