/*!
 * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face{font-family:'FontAwesome';src:url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{font-size:.93333333em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left;margin-right:.3em}.fa-pull-right{float:right;margin-left:.3em}.fa.fa-pull-left,.fa.fa-pull-right{margin-bottom:0}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.fa.pull-right{margin-right:.3em}.btn .fa,.btn-toolbar .fa,.btn-group .btn .fa,.dropup .btn .fa,.navbar-right .dropdown-menu .fa,.nav-tabs .dropdown-menu .fa,.nav-pills .dropdown-menu .fa,.panel-title .fa,.breadcrumb .fa{line-height:1}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-fw{width:1.25em}.fa-ul{margin-left:2.5em}.fa-ul > li{position:relative}.fa-li{position:absolute;left:-2em;width:2em;top:.14em;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{font-size:.93333333em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left;margin-right:.3em}.fa-pull-right{float:right;margin-left:.3em}.fa.fa-pull-left,.fa.fa-pull-right{margin-bottom:0}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.fa.pull-right{margin-right:.3em}

/* General Body Styles */
body {
    font-family: 'IBM Plex Sans', sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #f4f7fa; /* Light background similar to Lyds */
    color: #333;
}

/* Container for content - adjusted for two-column layout */
.op-layout--full-width {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Compact Countdown Bar at the Top */
.op-compact-countdown-bar {
    background-color: #E65100; /* Vibrant orange, similar to button color */
    color: #ffffff;
    padding: 10px 20px;
    text-align: center;
    font-size: 0.9em;
    display: flex; /* Use flexbox for alignment */
    align-items: center; /* Vertically align items */
    justify-content: center; /* Center horizontally */
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
    gap: 10px; /* Space between message and timer */
    position: sticky; /* Makes it stick to the top when scrolling */
    top: 0;
    z-index: 1000; /* Ensure it stays on top of other content */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.op-compact-countdown-message {
    margin: 0;
    font-weight: bold;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
}

.op-compact-countdown-timer {
    display: flex;
    align-items: baseline; /* Align numbers and labels nicely */
    gap: 5px; /* Space between number/label pairs */
}

.op-compact-countdown-timer .op-compact-number {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 700;
    font-size: 1.2em; /* Slightly larger numbers */
    min-width: 20px; /* Ensure numbers have consistent width */
    text-align: right;
}

.op-compact-countdown-timer .op-compact-label {
    font-size: 0.8em; /* Smaller labels */
    text-transform: lowercase;
    opacity: 0.8;
}


/* Hero Section - now contains two columns */
.op-hero-section {
    background-color: #004D40; /* Dark green/teal background for a sense of trust/solidity */
    color: #ffffff;
    padding: 60px 20px;
}

.op-hero-content-wrapper {
    display: flex;
    flex-wrap: wrap; /* Allows columns to stack on smaller screens */
    gap: 40px; /* Space between columns */
    align-items: flex-start; /* ALIGNED TO TOP AS REQUESTED */
    justify-content: center; /* Center content when not enough space for two columns */
}

.op-left-column {
    flex: 1; /* Takes up available space */
    min-width: 300px; /* Minimum width before wrapping */
    max-width: 600px; /* Max width for left column */
    text-align: left; /* Align text to the left as requested */
}

.op-right-column {
    flex: 1;
    min-width: 300px; /* Minimum width before wrapping */
    max-width: 600px; /* Max width for right column */
    text-align: center; /* Center video (no video now, but still good for general centering) */
}

.op-hero-section h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8em; /* Adjusted for better fit with potentially long headline */
    margin-bottom: 20px;
    line-height: 1.2;
    text-align: left; /* Ensure headline is left-aligned */
}
.op-hero-section p {
    font-size: 1.15em;
    margin: 0 0 30px 0; /* Keep margin for spacing */
    text-align: left; /* Ensure paragraph is left-aligned */
}

/* Form Styling - now placed within the right column of the hero section */
.op-form-wrapper {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.2); /* Enhanced shadow for prominence */
    max-width: 450px; /* Control form width */
    margin: auto; /* Center form in its column */
    text-align: left; /* Align form content to the left */
}
.op-form-wrapper h2 {
    font-family: 'Montserrat', sans-serif;
    color: #004D40;
    margin-bottom: 25px;
    text-align: center; /* Center form title */
    font-size: 1.8em;
}
.op-form-wrapper .op-form-group {
    margin-bottom: 20px;
    text-align: left;
}
.op-form-wrapper label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #555;
}
.op-form-wrapper input[type="text"],
.op-form-wrapper input[type="email"],
.op-form-wrapper input[type="tel"] {
    width: calc(100% - 20px);
    padding: 12px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1em;
    box-sizing: border-box;
}
.op-form-wrapper button {
    background-color: #E65100; /* Vibrant orange for high urgency (Darker from prev. hover) */
    color: #ffffff;
    padding: 15px 30px;
    border: none;
    border-radius: 5px;
    font-size: 1.3em; /* Slightly larger text */
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    width: 100%;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Shadow for button */
}
.op-form-wrapper button:hover {
    background-color: #FF5722; /* Even more intense red-orange on hover */
    transform: translateY(-2px); /* Slight lift effect */
}
.op-form-wrapper button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Countdown Section */
.op-countdown-section {
    background-color: #E0E0E0; /* Light grey background */
    padding: 30px 20px;
    text-align: center;
}
.op-countdown-section h3 {
    font-family: 'Montserrat', sans-serif;
    color: #004D40;
    margin-bottom: 20px;
}
.op-countdown-timer {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
}
.op-countdown-item {
    background-color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    min-width: 80px;
    border-bottom: 4px solid #FF4500; /* OrangeRed bottom border for urgency */
}
.op-countdown-item span {
    display: block;
    font-size: 2.2em; /* Slightly larger numbers */
    font-weight: bold;
    color: #FF4500; /* OrangeRed for numbers */
}
.op-countdown-item small {
    font-size: 0.85em; /* Slightly larger text */
    color: #777;
    text-transform: uppercase;
}
.op-countdown-message {
    font-size: 1.1em;
    font-weight: bold;
    color: #004D40;
}

/* Footer */
.op-footer {
    background-color: #333333;
    color: #ffffff;
    padding: 20px;
    text-align: center;
    font-size: 0.9em;
}
.op-footer p {
    margin: 5px 0;
}
.op-footer a {
    color: #ffffff;
    text-decoration: none;
}
.op-footer a:hover {
    text-decoration: underline;
}

/* Responsive Design */
@media (max-width: 992px) {
    .op-hero-content-wrapper {
        flex-direction: column; /* Stack columns on tablets/mobiles */
        gap: 30px;
    }
    .op-left-column, .op-right-column {
        max-width: 100%; /* Take full width */
    }
    .op-hero-section h1,
    .op-hero-section p {
        text-align: center; /* Center text when stacked */
        margin-left: auto;
        margin-right: auto;
    }
    .op-form-wrapper {
        max-width: 100%; /* Allow form to expand */
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 768px) {
    .op-hero-section {
        padding: 40px 15px;
    }
    .op-hero-section h1 {
        font-size: 1.8em;
    }
    .op-hero-section p {
        font-size: 0.95em;
    }
    .op-countdown-timer {
        flex-wrap: wrap;
    }
    .op-countdown-item {
        flex: 1 1 45%;
        margin-bottom: 10px;
    }
    .op-form-wrapper button {
        font-size: 1.1em;
    }

    .op-compact-countdown-bar {
        font-size: 0.8em;
        padding: 8px 15px;
    }
    .op-compact-countdown-message {
        font-size: 0.9em;
        margin-bottom: 5px; /* Add some space if it wraps */
    }
    .op-compact-countdown-timer .op-compact-number {
        font-size: 1.1em;
    }
    .op-compact-countdown-timer .op-compact-label {
        font-size: 0.7em;
    }
}

@media (max-width: 480px) {
    .op-hero-section h1 {
        font-size: 1.5em;
    }
    .op-form-wrapper {
        padding: 20px;
    }
    .op-form-wrapper h2 {
        font-size: 1.5em;
    }
    .op-countdown-item {
        flex: 1 1 100%; /* Stack countdown items on very small screens */
    }
    .op-compact-countdown-bar {
        flex-direction: column; /* Stack message and timer vertically */
        gap: 5px;
    }
}