﻿
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Outfit:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --osd-blue-primary: #022B68;
    --osd-blue-secondary: #0394E4;
    --osd-gold-primary: #96722C;
    --osd-gold-secondary: #CCA85E;
    --osd-grey: #636363;
    --osd-grey-light: #E9E9E9;
    --osd-blue-light: #F0F5F6;
    --grad-gold: linear-gradient(90deg,rgba(203, 165, 87, 1) 0%, rgba(244, 226, 179, 1) 50%, rgba(204, 168, 94, 1) 100%);
    --grad-blue-hor: linear-gradient(90deg,rgba(2, 43, 104, 1) 0%, rgba(0, 87, 158, 1) 100%);
    --headers: 'Outfit', sans-serif;
    --gen-copy: "Roboto", sans-serif;
    --border-rad-outer: 20px;
    --border-rad-inner: 15px;
    --border-rad-btn-fields: 7px;
    --col-border: #CBD7DC;
    --bs-accordion-btn-active-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
}

/* --- BOOTSTRAP --- */
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1400px;
    }
}

/*====================================== 
GENERAL 
======================================*/

h1 {
    font-size: clamp(2.625rem, 5vw, 4.5rem);
}

h2 {
    font-size: clamp(2.25rem, 5vw, 2.625rem);
    margin-bottom: 1.5rem;
}

h3 {
    font-size: clamp(1.5rem, 5vw, 1.75rem);
}

h4 {
    font-size: clamp(1.375rem, 5vw, 1.5rem);
}

h5 {
    font-size: clamp(1.125rem, 5vw, 1.25rem);
}

h6 {
    font-size: clamp(1rem, 5vw, 1.125rem);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--headers);
    font-weight: 700;
    color: var(--osd-blue-primary);
    line-height: 1.1;
}

p, button, li, a {
    font-size: clamp(0.938rem, 5vw, 1rem);
    font-family: var(--gen-copy);
    font-weight: 400;
    color: var(--osd-grey);
    line-height: 1.8;
}

p {
    margin-bottom: 1.125rem;
}

.emp-block {
    border-left: 4px solid var(--osd-gold-primary);
    padding-left: 1rem;
    margin-bottom: 1.5rem;
    color: var(--osd-blue-primary);
    font-size: clamp(1rem, 5vw, 1.125rem);
    font-weight: 600;
    line-height: 1.5;
}

a {
    color: var(--osd-blue-secondary);
    text-decoration: none;
}

    a:hover, a:focus {
        color: var(--osd-blue-primary);
    }

    .btn, a, a:focus, a:hover, button {
        transition: .2s ease-in-out
    }

.name-onesure {
    text-transform: uppercase;
    font-weight: 700;
}
.name-onesure-gen {
    text-transform: uppercase;
}

.list-gen {
    margin-bottom: 2rem;
    padding: unset;
}

    .list-gen li {
        display: flex;
        align-items: center;
    }

        .list-gen li i {
            color: var(--osd-gold-primary);
            font-size: 1.125rem;
            margin-right: 10px;
        }

/* -- align -- */
.a-cen{
    display:flex;
    justify-content:center;
}

/* -- paddings and margins -- */
.pr-100 {
    padding-right: 100px;
}

.pl-100 {
    padding-left: 100px;
}

.emp-text {
    border-left: 3px var(--primary) solid;
    padding-left: 20px;
    font-weight:400;
    line-height:1.5;
}

/*====================================== 
FORMS and BUTTONS
======================================*/

input {
    background-color: #FBFCFC;
    border: 1px var(--col-border) solid;
    border-radius: var(--border-rad-btn-fields);
    padding: 10px 14px;
    width: 100%;
}

.btn-gold {
    background: var(--grad-gold);
    background-size: 150% auto;
    transition: background-position 0.2s ease-in-out, transform 0.2s ease;
    border-radius: var(--border-rad-btn-fields);
    border: 1px solid #96722C;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
    font-family: var(--headers);
    font-weight: 600;
    color: var(--osd-blue-primary);
    padding: 10px 25px 13px 25px;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    text-shadow: rgba(255, 255, 255, 0.333) 0px 1px 0px;
    transition: box-shadow 0.2s, transform 0.2s, background 0.2s;
}

    .btn-gold:hover {
        background-position: right center;
        transform: translateY(-2px);
    }

    .btn-gold i {
        font-size: 1.25rem;
        font-weight: 600;
        margin-left: 10px;
    }

.btn-header-call {
    color: var(--osd-blue-primary);
}

.btn-header-free-quote,
.btn-header-back-home{
    background: transparent;
    border: 1px var(--osd-blue-primary) solid;
    color: var(--osd-blue-primary);
}
    .btn-header-free-quote:hover,
    .btn-header-free-quote:focus,
    .btn-header-back-home:hover,
    .btn-header-back-home:focus{
        background: var(--osd-blue-primary);
        border: 1px var(--osd-blue-primary) solid;
        color: #fff;
    }

.btn-block {
    width: 100%;
}



/*====================================== 
SECTIONS
======================================*/

section {
    padding: 100px 0;
}

.sec-intro-line {
    font-family: var(--headers);
    text-transform: uppercase;
    color: var(--osd-gold-primary);
}

.sil-number {
    display: flex;
    align-items: center;
}

    .sil-number .number {
        border-radius: 50%;
        border: 1px var(--osd-gold-primary) solid;
        width: 35px;
        height: 35px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        font-weight: 500;
        margin-right: 10px;
    }


/*--- SECTIONS | Hero ---*/
/* -- hero - copy -- */
.sec-hero {
    background: url('/img/logoonesurebg.svg'), url('/img/hero-outline-building.svg'), url('/img/hero-outline-car-house.svg');
    background-position:left 80px, left 99%, right 99%;
    background-repeat: no-repeat;
    background-size: 150px auto, 300px auto, 300px auto;
    background-color: var(--osd-grey-light);
    height: 100vh;
    display: flex;
    align-items: center;
}
.sh-pos {
    padding-top:150px
}
.hero-copy {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items:start;
}

.h1-blue-secondary {
    color: var(--osd-blue-secondary);
}

.h1-blue-primary {
    color: var(--osd-blue-primary);
}

.h1-bp-lbold {
    font-weight: 400;
}

.h1-bp-All {
    text-transform: uppercase;
}

.hero-clients-save {
    font-family: var(--headers);
    font-size: clamp(1.375rem, 5vw, 1.5rem);
    color: var(--osd-blue-primary);
    font-weight: 400;
}

    .hero-clients-save .hcs-bold {
        font-weight: 700;
    }
.hero-show-more{
    display:flex;
    justify-content:center;
}

.hero-show-more a {
    border: 1px #ccc solid;
    border-radius: 25px;
    color: var(--osd-blue-primary);
    padding: 6px 15px 6px 20px;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}
.hero-show-more a:hover {
    background:#fff;
}
    .hero-show-more a i {
        transform: rotate(90deg);
        margin-left:5px;
    }

.callme-mess {
    background:var(--osd-blue-light);
    padding:15px;
    border-radius:10px;
}
.callme-mess h4{
    font-weight:500;
}


/* -- hero - insurebot -- */
.insure-bot-layout {
    display: flex;
    align-self: center;
    justify-content: center;
}

.insure-bot {
    background: transparent url('/img/insurebot-point-right.png') no-repeat; 
    background-size: contain;
    height: 330px;
    width: 250px;
}

/* -- hero form -- */
.hero-form {
    background-color: #fff;
    border-radius: var(--border-rad-outer);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    padding: 35px;
    min-height: 200px;
}

    .hero-form h3 {
        color: var(--osd-blue-primary);
    }

.hfh3-intro-line {
    font-family: var(--headers);
    font-weight: 400;
    color: var(--osd-grey) !important;
    line-height:1.3;
}

.hf-layout {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

    .hf-layout label {
        color: var(--osd-blue-primary);
        font-family: var (--headers);
        font-weight: 500;
    }

.hf-terms {
    font-size: 0.75rem;
    color: #777;
    margin-bottom:10px;
    line-height:1.3;
}
.hf-reviews {
    border-top: 1px #DBDBDB solid;
    margin-top:5px;
    padding-top:15px;
    display:flex;
    justify-content:space-between;
}
.hfr-hello-peter,
.hfr-google {
    display: flex;
}
    .hfr-hello-peter a,
    .hfr-google a{
        display: flex;
        flex-direction: row;
        min-width:200px;
    }
        .hfr-hello-peter a .hello-peter-h {
            background-color: var(--osd-blue-primary);
            border-radius: 5px;
            color: #fff;
            font-weight:600;
            height: 35px;
            width: 35px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-right:10px;
        }
        .hfr-hello-peter a .hello-peter-info {
            display: flex;
            flex-direction: column
        }
.hello-peter-info h6,
.hello-peter-info p,
.google-info h6,
.google-info p{
    margin-bottom: unset
}
.hello-peter-info p,
.google-info p{
    font-size: 10px;
}
.hfr-google a .google-g {
    color: var(--osd-blue-secondary);
    font-family: var(--headers);
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1;
    margin-right: 10px;
}

.insurance-list {
    margin-top:5rem;
}

/*--- SECTIONS | Need to Claim ---*/
.sec-need-to-claim {
    background-color: #fff;
}

.sntc-block {
    background-color: var(--osd-blue-light);
    border-radius: var(--border-rad-outer);
    min-height: 100%;
    padding: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.shield-medallion {
    position: absolute;
    top: 32px;
    right: 105px;
    z-index: 2;
    width: 100px;
    height: 100px;
    box-shadow: rgba(37, 66, 85, 0.07) 0px 7px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(8deg);
    background: linear-gradient(130deg, rgb(243, 231, 200), rgb(215, 187, 120));
    border-width: 6px;
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-image: none;
    border-radius: 50%;
}

    .shield-medallion i {
        font-size: 3.5rem;
        transform: rotate(-11deg);
        color: var(--osd-gold-primary);
    }

.sntc-block .inner-info {
    background-color: var(--osd-blue-primary);
    border-radius: var(--border-rad-inner);
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    min-height: 300px;
    min-width: 350px;
    max-width: 350px;
    padding: 35px;
    transform: rotate(-3deg);
}

    .sntc-block .inner-info h3 {
        color: #fff;
        margin-bottom: 1.5rem;
    }

.ii-list {
    display: flex;
}

    .ii-list .number {
        border-radius: 50%;
        border: 1px rgba(255,255,255,0.5) solid;
        color: var(--osd-gold-secondary);
        display: flex;
        justify-content: center;
        align-items: center;
        width: 35px;
        height: 35px;
        font-size: 14px;
        font-weight: 500;
        margin-right: 10px;
    }

    .ii-list h6 {
        color: #fff;
        margin-bottom: unset;
        font-weight: 400;
    }

    .ii-list p {
        color: rgba(255,255,255,0.6);
    }



/*--- SECTIONS | Renewal Review ---*/
.sec-renewal-review {
    background-color: var(--osd-grey-light);
}

.srr-block {
    background-color: #D5D5D5;
    border-radius: var(--border-rad-outer);
    min-height: 100%;
    padding:50px 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
    .srr-block .inner-info {
        background-color: #fff;
        border-radius: var(--border-rad-inner);
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
        min-height: 300px;
        min-width: 350px;
        max-width: 350px;
        padding: 35px;
        transform: rotate(3deg);
    }
        .srr-block .inner-info:before {
            left: 40px;
        }
        .srr-block .inner-info:before, .srr-block .inner-info:after {
            content: '';
            position: absolute;
            width: 9px;
            height: 23px;
            background: #ad9b78;
            border: 3px solid var(--cream);
            border-radius: 7px;
            top: -11px;
        }
        .srr-block .inner-info:after {
            right: 40px;
        }
        .srr-block .inner-info .header {
            border-bottom: 1px #ccc solid;
            padding: 35px 35px 20px 35px;
            margin: -35px -35px 30px -35px;
        }
        .srr-block .inner-info .header p{
            margin:unset;
        }
    .srr-block .inner-info h6{
        font-weight:500;
    }

/*--- SECTIONS | Life Changes ---*/
.sec-life-changes {
    background-color: #fff;
}

.slc-circle-block {
    background-color: var(--osd-blue-light);
    border-radius: 50%;
    ;
    width: 400px;
    height: 400px;
}

    .slc-circle-block img {
        height: 350px;
        width: auto;
    }

/*--- SECTIONS | Powered By ---*/
.sec-powered-by {
    background: var(--grad-blue-hor);
}
.spb-icon {
    border:1px rgba(255,255,255,0.5) solid;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    width:150px;
    height:150px;
}
.spb-icon i{
    color:var(--osd-gold-secondary);
    font-size:3.5rem
}

    .sec-powered-by .sec-intro-line {
        color: var(--osd-gold-secondary);
    }

    .sec-powered-by h2 {
        color: #fff;
    }

    .sec-powered-by p {
        color: rgba(255,255,255,0.7);
    }

/*--- SECTIONS | More reasons to choose One Sure ---*/
.sec-more-reasons {
    background-color: #fff;
}

.smr-reasons {
    text-align: center;
    padding: 10px 35px;
}

    .smr-reasons h4 {
        font-weight: 500;
    }

    .smr-reasons i {
        color: var(--osd-gold-primary);
        font-size: 4rem;
    }

.smr-devider {
    border-right: 1px #ccc solid;
}


/*--- SECTIONS | Good place to start ---*/
.sec-good-place {
    background: var(--grad-blue-hor);
}

    .sec-good-place .sec-intro-line {
        color: var(--osd-gold-secondary);
    }

    .sec-good-place h2 {
        color: #fff;
    }

    .sec-good-place p {
        color: rgba(255,255,255,0.7);
    }

    .sec-good-place .hf-terms {
        color: var(--osd-grey);
    }

/*--- SECTIONS | Good Questions ---*/
.sec-good-questions {
    background-color: #fff;
}
.accordion-item {
    border: unset;
    border-bottom: 1px solid #ccc;
}
.accordion-button:not(.collapsed) {
    color: var(--osd-blue-primary);
    font-weight: 400;
    background-color: #E2EBED;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
    .accordion-button:not(.collapsed)::after {
        background-image: var(--bs-accordion-btn-active-icon);
        transform: var(--bs-accordion-btn-icon-transform);
    }
.accordion-body {
    font-family: var(--gen-copy);
    color: var(--osd-grey)
}
.accordion-collapse {
    background-color: var(--osd-blue-light);
}


/*====================================== 
MEDIA QUERIES 
======================================*/
@media(max-width:1024px){
    .sec-hero {
        background-size: 95px auto, 170px auto, 170px auto;
        height: 100%;
    }
    .sh-pos {
        padding-top: 80px;
    }

    .hfr-hello-peter a, .hfr-google a {
        min-width: 50%;
    }
    .insurance-list {
        margin-top: 1rem;
        padding:0 25px;
    }
        .insurance-list li {
            margin: 7px;
        }
        .insurance-list li a {
            max-height: 55px;
            overflow:visible;
        }
            .insurance-list li a img {
                max-width: 90px;
            }
    .pr-100,
    .pl-100 {
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
    }
}
@media(max-width:768px) {
    .sec-hero {
        background: none;
        background-color: var(--osd-grey-light);
    }
    .hero-copy {
        align-items: center;
        text-align:center;
    }
    .insure-bot {
        background: transparent url(/img/insurebot-point-down.png) no-repeat;
        background-size: contain;
        height: 330px;
        width: 250px;
    }
}
@media (max-width:500px){
    section{
        padding:50px 20px;
    }

    .sec-hero {
        background-size: 80px auto, 170px auto, 170px auto;
        background-position: left 80px, left 100%, right 100%;
    }
    .hero-copy h1{
        display:flex;
        flex-direction:column;
    }
    .hero-clients-save {
        font-size: 1.2rem;
    }
    .h1-blue-secondary br{
        display:none;
    }
    .insurance-list {
        margin-top: 2rem;
    }
        .insurance-list li {
            margin:7px;
            width:25%;
        }
        .insurance-list li a {
            max-height: 55px;
            overflow:visible;
        }
    .btn-header-free-quote {
        background: transparent;
        border: 0; 
        color: var(--osd-blue-primary);
    }
    .sntc-block {
        margin-top:50px;
        margin-bottom:50px;
    }
    .smr-devider {
        border-right:unset;
        border-bottom: 1px #ccc solid;
    }
    
}