﻿


/* Set padding to keep content from hitting the edges */
@font-face {
    font-family: 'Inter'; /* Name of the font */
    src: url('/Content/ttf/Inter_reg.ttf') format('truetype'); /* Path to the TTF file */
}

@font-face {
    font-family: 'Lexend'; /* Name of the font */
    src: url('/Content/google_fonts/Lexend/Lexend-VariableFont_wght.ttf') format('truetype'); /* Path to the TTF file */
}

@font-face {
    font-family: 'Lora'; /* Name of the font */
    src: url('/Content/google_fonts/Lora/Lora-VariableFont_wght.ttf') format('truetype'); /* Path to the TTF file */
}

@font-face {
    font-family: 'Manrope'; /* Name of the font */
    src: url('/Content/google_fonts/Manrope/Manrope-VariableFont_wght.ttf') format('truetype'); /* Path to the TTF file */
}

@font-face {
    font-family: 'Raleway'; /* Name of the font */
    src: url('/Content/google_fonts/Raleway/Raleway-VariableFont_wght.ttf') format('truetype'); /* Path to the TTF file */
}




:root {
    --font: var(--font), sans-serif; /* default font */
}

    /* Original Theme */
    :root[data-theme="original"] {
        --font: 'Inter', sans-serif;
        --header-bg: #005458;
        --banner-bg: #005458;
        --banner-image: url('/Content/images/bg4.png');
        --text: #000;
        --addressText: #000;
        --smalltext: #222;
        --button: #109379; /* green */
        --buttonHover: #109379;
        --buttonBorder: #109379;
        --buttonTextColor: #fff;
        --font-size-base: 15px;
        --font-weight-normal: 400;
        --font-weight-bold: 600;
        --logo-secure: url('/Content/images/securelogo_white.png');
        --logo-claim: url('/Content/images/claimclear_white.png');
        --button-border-radius: 5px;
        --usp-background:#005458;
        
    }

    /* Generic Theme */
    :root[data-theme="generic"] {
        --font: 'Manrope', sans-serif;
        --header-bg: #005458;
        --banner-bg: #005458;
        --background: #005458;
        --text: #fff;
        --addressText: #000;
        --smalltext: #222;
        --button: #FFDD55; /* green */
        --buttonHover: #FFDD55;
        --buttonBorder: #FFDD55;
        --buttonTextColor: #000;
        --font-size-base: 15px;
        --font-weight-normal: 400;
        --font-weight-bold: 600;
        --logo-secure: url('/Content/images/securelogo_white.png');
        --logo-claim: url('/Content/images/claimclear_white.png');
        --button-border-radius: 30px;
        --button-font-size: 1.2em;
        --usp-background: #000;
    }


    /* Serious Theme */
    :root[data-theme="serious"] {
        --font: 'Lora', sans-serif;
        --header-bg: #00434A;
        --banner-bg: #FCFCFA​;
        --banner-image: url('/Content/images/claim-serious.jpg');
        --text: #000;
        --addressText: #000;
        --smalltext: #222;
        --button: #00434A;
        --buttonHover: #00434A;
        --buttonBorder: #FFDD55;
        --buttonTextColor: #fff;
        --font-size-base: 15px;
        --font-weight-normal: 400;
        --font-weight-bold: 600;
        --logo-secure: url('/Content/images/securelogo_white.png');
        --logo-claim: url('/Content/images/claimclear_white.png');
        --button-border-radius: 30px;
        --button-font-size: 1.2em;
        --usp-background: #000; /*secondry color*/
    }


    /* Playful Theme */
    :root[data-theme="playful"] {
        --font: 'Lexend', sans-serif;
        --header-bg: #264642;
        --banner-bg: #FCFCFA​;
        --banner-image: url('/Content/images/captain-claim.png');
        --background: #e4f4f3;
        --text: #000;
        --bannerTextHeaderColor: #19a690;
        --addressText: #000;
        --smalltext: #222;
        --button: #E3B25B;
        --buttonHover: #E3B25B;
        --buttonBorder: #FFDD55;
        --buttonTextColor: #264642;
        --font-size-base: 15px;
        --font-weight-normal: 400;
        --font-weight-bold: 600;
        --logo-secure: url('/Content/images/securelogo_white.png');
        --logo-claim: url('/Content/images/claimclear_white.png');
        --button-border-radius: 30px;
        --button-font-size: 1.2em;
        --usp-background: #398b7e; /*secondry color*/
    }

    /* Minimal Theme */
    :root[data-theme="minimal"] {
        --font: 'Raleway', sans-serif;
        --header-bg: #EFEEEA;
        --banner-bg: #EFEEEA​;
        --background: #EFEEEA;
        --text: #000;
        --addressText: #000;
        --smalltext: #222;
        --button: #18A88D;
        --buttonHover: #18A88D;
        --buttonBorder: #18A88D;
        --buttonTextColor: #fff;
        --font-size-base: 15px;
        --font-weight-normal: 400;
        --font-weight-bold: 600;
        --logo-claim: url('/Content/images/claimclear.png');
        --logo-secure: url('/Content/images/securelogo3.png');
        --button-border-radius: 30px;
        --button-font-size: 1.2em;
        --usp-background: #000; /*secondry color*/
    }

/* Default: keep question text left-aligned */
#main-banner .question {
    text-align: left;
}

/* For all non-original themes, center the question text */
:root[data-theme="serious"] #main-banner .question,
:root[data-theme="playful"] #main-banner .question,
:root[data-theme="generic"] #main-banner .question,
:root[data-theme="minimal"] #main-banner .question {
    text-align: center;
}

/* Optional: also center the subtitle if you want it consistent */
:root[data-theme="serious"] #main-banner p[data-bind="text:QuestionSubTitle"],
:root[data-theme="playful"] #main-banner p[data-bind="text:QuestionSubTitle"],
:root[data-theme="generic"] #main-banner p[data-bind="text:QuestionSubTitle"],
:root[data-theme="minimal"] #main-banner p[data-bind="text:QuestionSubTitle"] {
    text-align: center;
}


.form-banner p {
    color: #000 !important;
}

#btn_upload {
    background-color: var(--button);
}

.Black p, footer p {
    color: #fff !important;
}

h1.form-heading {
    color: var(--bannerTextHeaderColor);
}



#main-banner {
    background-image: var(--banner-image);
    background-color: var(--background);
    color: var(--text);
}

p.small-print {
    color: var(--smalltext);
}

#selected-address {
    color: var(--addressText) !important;
}

.content-inner p {
    color: var(--smalltext);
}

div.secure_logo {
    width: 103px;
    height: 50px;
    display: block;
    background-image: var(--logo-secure);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
}


div.header_logo {
    width: 91px;
    height: 37px;
    display: block;
    background-image: var(--logo-claim);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
}

.bg-success {
    --bs-bg-opacity: 1;
    background-color: rgb(119 164 143) !important;
}

body {
    font-family: var(--font);
}

.body-content {
    margin-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
}

h1 {
    line-height: 30px;
}

html, body {
    height: 100%;
}

.btn {
    min-width: 35%;
    text-align: left;
    /*  margin-bottom: 10px;
   font-size:1.2rem;
    border: 2px solid #159f84;
    font-weight:500;*/
}



/*.btn:hover {
    color: #ffffff !important;
    background-color: #149f84 !important;
    border-color: #15a086 !important;
}*/

.input-group-btn button {
    margin-bottom: 0px;
    padding: 10px;
    font-size: 16px;
}

div.question {
    font-family: var(--font);
    font-weight: 600;
    color: #000;
    line-height: 27px;
    margin-top: 15px;
    margin-bottom: 5px;
    margin: 25px 0px;
}

span.questionSubTitle {
    font-family: var(--font);
    line-height: 120%;
    font-size: 15px;
    line-height: inherit;
}



p {
    font-family: var(--font);
    /* line-height: 120%;*/
    font-size: 15px;
    color: var(--text);
}
/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/*#main-banner::before {
    content: ''; background-image: url(/Content/images/bg2.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom right;
}*/

.date-dropdowns .col-md-4 select {
    margin-bottom: 10px;
}

/* Set width on the form input elements since they're 100% wide by default */
/*input,
select,
textarea {
    max-width: 280px;
}*/
/* default: stack buttons vertically */
.ans-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

    .ans-section button {
        width: 100%; /* full width when stacked */
    }

    /* when there are exactly 2 buttons, make them inline + centered */
    .ans-section:has(> button:nth-of-type(2)):not(:has(> button:nth-of-type(3))) {
        flex-direction: row;
        justify-content: center;
        align-items: stretch;
    }

        .ans-section:has(> button:nth-of-type(2)):not(:has(> button:nth-of-type(3))) button {
            width: auto; /* shrink to fit text */
            min-width: 140px; /* optional: keep them balanced */
        }

.ans-info .alert,.alert {
    font-family: var(--font);
    line-height: 20px;
    font-size: 15px;
}

nav.bg-dark {
    background-color: var(--header-bg) !important;
}

nav a.navbar-brand {
    color: black !important;
}

h1 {
    font-family: var(--font);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.3em;
}

span.sub-banner, h2 {
    font-family: var(--font);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 30px;
}

.container {
    max-width: 65% !important;
}

p.sub-banner {
}

label.confirm {
    display: flex;
}

    label.confirm input {
        display: block;
        margin-top: 2px;
        width: 20px;
        height: 20px;
    }

}

label.confirm span:first-child {
    margin-right: 15px;
    margin-top: 2px;
}

.add-style .sub-error {
    position: absolute;
}

.sub-error {
    color: red;
    font-size: 13px;
}

.btn.active {
    color: #fff;
    background-color: #109379;
    border-color: #fffefe;
    /* font-size:1.2rem;*/
}


/* Default state: gray button + hollow circle */
.ans-section button {
    background-color: #f5f5f5; /* light gray */
    color: #333;
    border: 3px solid #ddd;
    text-align: left;
    transition: all .25s ease;
}

    .ans-section button::before {
        font-family: "Font Awesome 5 Free";
        content: "\f111"; /* fa-circle (hollow) */
        font-weight: 400; /* regular = hollow circle */
        margin-right: 8px;
        font-size: 1rem;
        color: #999; /* gray */
    }

    /* Hover (not active yet): turn border/text green */
    .ans-section button:hover {
        border-color: var(--buttonBorder);
        color: var(--buttonTextColor);
        background-color: var(--buttonHover); /* subtle green tint */
    }

        .ans-section button:hover::before {
            color: var(--buttonTextColor); /* circle turns green on hover */
        }

    /* Active/Selected: solid green + white text */
    .ans-section button.active {
        background-color: var(--button) !important;
        border-color: var(--buttonBorder) !important;
        color: var(--buttonTextColor) !important;
    }

        .ans-section button.active::before {
            font-family: "Font Awesome 5 Free";
            content: "\f058"; /* fa-check-circle */
            font-weight: 900; /* solid */
            color: var(--buttonTextColor); /* white tick */
        }







section#jumbotron {
    position: relative;
    width: 100%;
    height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

    section#jumbotron .content {
        color: #fff;
        position: relative;
        z-index: 1;
        margin: 0 auto;
        max-width: 85ch;
        text-align: center;
    }

    section#jumbotron:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 28%;
        background: #17a88b1c;
        border-radius: 0 0 43% 178% / 0 0 1% 223%;
        transform: scaleX(1);
        z-index: -100;
    }

section#body {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    margin-top: 10em;
    padding: 3em 0;
}

    section#body .content {
        color: #260645;
        position: relative;
        z-index: 1;
        margin: 0 auto;
        max-width: 85ch;
        text-align: center;
    }

    section#body:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 71%;
        /* background: #FFEB3B; */
        border-radius: 50% 50% 0 0 / 100% 100% 0 0;
        transform: scaleX(1.5);
        z-index: -100;
        background-image: linear-gradient(#e5e5e580 29%, white 61%);
    }

:root {
    --width: 100%;
    --height: 40px;
    --top-color: #f44336;
    --bottom-color: #2196F3;
}

.separator {
    position: relative;
    width: var(--width);
    height: var(--height);
}

    .separator::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background-color: var(--top-color);
        clip-path: polygon(100% 0, 0 0, 0 100%);
    }

    .separator::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background-color: var(--bottom-color);
        clip-path: polygon(100% 0, 0 100%, 100% 100%);
    }

    .separator.reverse {
        transform: rotateY(180deg);
    }

.vertical .separator.reverse {
    transform: rotateX(180deg);
}


@media only screen and (min-width: 600px) {

    .p15-lr .container {
        padding: 0px 15%;
    }
}

@media only screen and (max-width: 600px) {
    .container {
        max-width: 100% !important;
    }

    section#main-banner {
        padding: 15px 0px !important;
    }

    section#body:before {
        height: 13%;
    }

    h1 {
        font-size: 1.5rem;
        line-height: 30px;
    }

    p {
        font-family: var(--font);
        /* line-height: 120%;*/
    }

    .sub-banner {
        font-family: var(--font);
        font-size: 1.2rem !important;
        line-height: 24px !important;
    }

    div.question {
        font-family: var(--font);
    }

    .form-title, h2 {
        font-family: var(--font);
        font-size: 1.2em;
    }
}

.process li {
    list-style: none;
}

.personal-info-form input, .personal-info-form select {
    min-width: 100%;
    text-align: left;
    padding: 10px;
}

footer {
    background-color: #000;
    color: #fff;
    min-height: 200px;
    padding-bottom: 15px;
}

    footer p {
        font-size: 14px;
        font-family: var(--font);
        line-height: 25px;
    }

    footer ul.footer-links {
        display: flex;
        justify-content: center;
        margin: 0px 0px 20px 0px;
        padding: 0px;
        flex-wrap: wrap;
    }

        footer ul.footer-links li {
            list-style: none;
            float: left;
        }

            footer ul.footer-links li a {
                color: #888;
                display: block;
                padding: 5px 10px;
                text-decoration: none;
            }


                footer ul.footer-links li a:hover {
                    -webkit-transition: color ease-in-out 800ms;
                    color: #109379;
                }



/*Sections settings*/

.Black {
    padding: 75px 0px;
    background-color: black;
    color: #fff;
}

.Gray {
    padding: 75px 0px;
    background-color: #e7e7e7;
    color: #000;
}

.White {
    padding: 75px 0px;
}


footer img {
    margin: 30px 0px;
}

#thankyou p {
    color:#000;
}
mark {
    background: none; /* kill the default yellow */
    display: inline-block; /* shrink‐wrap to the text */
    position: relative;
    padding: 0 0.1em; /* a bit of horizontal breathing room */
    font-weight: bold;
    color: #000;
    z-index: 1;
}

    /* two skewed pseudo‐elements = two quick “marker strokes” */
    mark::before {
        content: "";
        position: absolute;
        left: -0.1em; /* extend a touch beyond the letters */
        right: -0.1em;
        height: 0.6em; /* stroke thickness */
        background: yellow; /* your favourite highlight colour */
        border-radius: 0.2em; /* soften the ends */
        z-index: -1; /* sit behind the text */
    }



    mark::after {
        content: "";
        position: absolute;
        left: -0.1em; /* extend a touch beyond the letters */
        right: -0.1em;
        height: 0.6em; /* stroke thickness */
        background: yellow; /* your favourite highlight colour */
        border-radius: 0.2em; /* soften the ends */
        z-index: -1; /* sit behind the text */
    }

    /* bottom stroke, slanted one way */
    mark::before {
        top: 50%;
        transform: translateY(-50%) skewX(-10deg);
    }
    /* top stroke, slanted the opposite way */
    mark::after {
        top: 50%;
        transform: translateY(-50%) skewX(10deg);
    }


.progress-label {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: #333; /* tweak to taste */
    pointer-events: none; /* clicks pass through */
}


/* Default: let Bootstrap handle the grid */
#main-banner .banner-left,
#main-banner .banner-right {
    /* nothing special needed */
}

/* Serious theme — right column full width, hide left */
:root[data-theme="serious"] #main-banner .row {
    display: flex;
    flex-wrap: wrap; /* keep grid wrapping sane */
}

:root[data-theme="serious"] #main-banner .banner-left {
    display: none !important; /* hide left column */
}

:root[data-theme="serious"] #main-banner .banner-right {
    flex: 0 0 100% !important; /* full width */
    max-width: 100% !important;
}


/* Generic theme — right column full width, hide left */
:root[data-theme="generic"] #main-banner .row {
    display: flex;
    flex-wrap: wrap; /* keep grid wrapping sane */
}

:root[data-theme="generic"] #main-banner .banner-left {
    display: none !important; /* hide left column */
}

:root[data-theme="generic"] #main-banner .banner-right {
    flex: 0 0 100% !important; /* full width */
    max-width: 100% !important;
}

/* Playful theme — right column full width, hide left */
:root[data-theme="playful"] #main-banner .row {
    display: flex;
    flex-wrap: wrap; /* keep grid wrapping sane */
}

:root[data-theme="playful"] #main-banner .banner-left {
    display: none !important; /* hide left column */
}

:root[data-theme="playful"] #main-banner .banner-right {
    flex: 0 0 100% !important; /* full width */
    max-width: 100% !important;
}

/* Minimal theme — right column full width, hide left */
:root[data-theme="minimal"] #main-banner .row {
    display: flex;
    flex-wrap: wrap; /* keep grid wrapping sane */
}

:root[data-theme="minimal"] #main-banner .banner-left {
    display: none !important; /* hide left column */
}

:root[data-theme="minimal"] #main-banner .banner-right {
    flex: 0 0 100% !important; /* full width */
    max-width: 100% !important;
}






/* --- Default behaviour: show the title --- */
#main-banner .form-title {
    display: inline;
    line-height:normal;
}

/* --- Hide form title in the Original theme --- */
:root[data-theme="original"] #main-banner .form-title {
/*    display: none !important;*/
}


@media (min-width: 768px) {
    :root[data-theme="serious"] #main-banner .banner-left {
        display: none !important;
    }

    :root[data-theme="serious"] #main-banner .banner-right {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}



/* Make the banner a full-screen flex container */
#main-banner {
    min-height: 50dvh; /* Full device height */
    display: flex;
    flex-direction: column; /* Stack children vertically */
    justify-content: flex-start; /* Start content at the top */
    align-items: center; /* Center horizontally */
    padding-top: 60px; /* Space for nav/header */
    background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)), var(--banner-image);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}

    /* Let the form section take only its content height */
    #main-banner .banner-right {
        flex: 0 0 auto;
    }

    /* The remaining area (under the form) fills the leftover height visually */
    #main-banner::after {
        content: "";
        flex: 1 1 auto; /* This makes the rest stretch */
        display: block;
    }

    /* Optional – if you want the background under the form to stay visible */
    #main-banner .container {
       
        z-index: 1;
    }

.change-postcode-wrap {
    margin-top: 6px;
}

.change-postcode-link {
    /* color: #2b6cb0; */
    /* font-weight: 600; */
    text-decoration: underline;
    cursor: pointer;
    font-size: 17px;
}

    .change-postcode-link:hover {
        text-decoration: none;
    }


/* ======================================
   ORIGINAL THEME – Title Switch Logic
   ====================================== */

/* Reset both first */
:root[data-theme="original"] #main-banner .banner-left h1,
:root[data-theme="original"] #main-banner .banner-left .form-title,
:root[data-theme="original"] #main-banner .banner-right h1,
:root[data-theme="original"] #main-banner .banner-right .form-title {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Mobile – show the RIGHT (form) title */
@media (max-width: 767.98px) {
    :root[data-theme="original"] #main-banner .banner-right h1,
    :root[data-theme="original"] #main-banner .banner-right .form-title {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    :root[data-theme="original"] #main-banner .banner-left h1,
    :root[data-theme="original"] #main-banner .banner-left .form-title {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}

/* Desktop – show the LEFT (hero) title */
@media (min-width: 768px) {
    :root[data-theme="original"] #main-banner .banner-left h1,
    :root[data-theme="original"] #main-banner .banner-left .form-title {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    :root[data-theme="original"] #main-banner .banner-right h1,
    :root[data-theme="original"] #main-banner .banner-right .form-title {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}

/* ======================================
   NON-ORIGINAL THEMES – Extra form spacing
   ====================================== */
:root[data-theme="original"] #main-banner .form-banner {
    margin-bottom: 50px !important;
}
