:root {
  --primary: #0087a9;
  --secondary: #062F65;
  --white: #FFF;
  --text: #6A6A6A;
  --text-light: #BEBEBE;
  --icon: #5C5C5C;
  --background: #F5F5F5;
  --footer: #EEEEEE;
}

img, svg{
    max-width: 100%;
}

html,body{
    background-color: var(--background);
}

h1,h2,h3,h4,h5{
    color: var(--primary);
}
h3{ /* As on prior design */
    color: #006bb2;
    font-size: 1.1em;
    margin-bottom: 20px;
}
p{
    margin-bottom: 0;
}
p + p{
    margin-top: 14px;
}

.container{
    max-width: 100%;
    width: 100%;
    padding: 0 15px;
    position: relative;
}
@media (min-width: 768px) {
    .container{
        max-width: 1200px;
    }
}
@media (min-width: 576px) {

}

.bg--primary{
    background: var(--primary);
}
.inline *{
    display: inline-block;
}

/* Header */
.header{
    background: var(--white);
}
.header__col{
    display: block;
}

.header__nav{
    display: flex;
    padding: 0;
    margin: 0;
    margin-left: auto;
    border-left: none;
    margin-bottom: 10px;
}
.header__nav__item{
    display: flex;
    align-items: center;
    border-right: none;
    /* min-width: 100px; */
    flex: 1 1 0px;
}
.header__nav__item + .header__nav__item{
    border-left: 1px solid var(--text-light);
}

.header__nav__item a{
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    padding: 8px 10px;
    text-decoration: none;
    color: var(--text);
    justify-content: center;
    text-transform: uppercase;
    font-size: 10px;
    text-align: center;

    word-wrap: anywhere;
}

.searchbox{
    margin-bottom: 16px;
}
.searchbox input{
    text-align: center;
    align-self: center;
    background: #FFF url('/assets/img/search-icon.png') no-repeat 95% center;
    border-radius: 16px;
    border: 1px solid #CCC;
}

@media (min-width: 576px){
    .header__nav__item a{
        font-size: 14px;
    }
}

@media (min-width: 992px) {
    .header__col{
        display: flex;
    }
    .header__nav{
        margin-bottom: 0;
        border-left: 1px solid var(--text-light);
    }
    .header__nav__item{
        border-left: none !important;
        border-right: 1px solid var(--text-light);
    }
    .header__nav__item a{
        word-wrap: break-word;
        font-size: 15px;
    }
    .searchbox{
        margin-bottom: 0;
        margin-left: 16px;
        position: relative;
        display: flex;
    }
    .searchbox input{
        text-align: initial;
    }
}


/* Main */
.block{
    background: var(--white);
    border-radius: 8px;
    padding: 16px;
    filter: drop-shadow(0px 5px 3px var(--text-light));
    position: relative;
}
.block + .block{
    margin-top: 20px;
}
.block--corner{
    overflow: hidden;
}
.block__corner{
    position: absolute;
    right: 0;
    top: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 80px 80px 0;
    border-color: transparent var(--primary) transparent transparent;
    transform: rotate(0deg);
}

.block__corner__icon{
    position: absolute;
    /* top: 50%;
    left: 50%; */
    top: 20px;
    left: 30px;
    transform: translate(40%, -20%);
    color: var(--white);
    /* background-color: var(--white); */
    /* background-color: lime; */
}
.block__corner__icon i{
    font-size: 24px;
}

.block__title{
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold;
}
* + .block__title{
    margin-top: 16px;
}
.block__title--sm{
    font-size: 17px;
}
.block__title--top-space{
    margin-top: 12px;
}
.block__content{
    color: var(--icon);
}

.block--nav{
    padding: 0;
    margin-bottom: 12px;
}
.block--nav__ul{
    padding: 0;
    margin: 0;
}
.block--nav__ul li{
    display: inline-block;
    list-style: none;
    padding: 5px 1rem;
}
.block--nav__ul li a{
    color: #019cde;
    text-decoration: none;
    font-size: 12px;
}
.block--nav__ul li.selected{
    background-color: #019cde;
}
.block--nav__ul li.selected a{
    color: var(--white);
}

@media (min-width: 992px){
    .block--nav{
        padding: 20px 0;
        margin: 0;
    }
    .block--nav__ul li a{
        font-size: 1rem;
    }

    .block--nav__ul li{
        display: block;
    }
}

.quote-progress{
    background-color: var(--primary);
    padding: 40px 0;
    padding-bottom: 80px;
}
.quote-progress__title{
    color: var(--white);
    margin-bottom: 80px;
}
.quote-progress__bar{
    background-color: var(--secondary);
    height: 10px;
    width: 100%;
    position: relative;
    width: 80%;
    margin: 0 auto;
}
.quote-progress__bar__fill{
    display: block;
    height: 10px;
    background-color: var(--white);
    transition: width 500ms ease-in-out;
}
.quote-progress__dot{
    width: 16px;
    height: 16px;
    background-color: var(--secondary);
    border-radius: 9999px;
    text-align: center;
    display: inline-block;
}
.quote-progress__dot--done{
    background-color: var(--white);
}
.quote-progress__section{
    position: absolute;
    left: 0;
    text-align: center;
    width: 100px;
    transform: translateX(-50%);
    bottom: -9px;
}
.quote-progress__section__title{
    color: var(--white);
    margin-bottom: 18px;
}

.form-area{
    /* margin-bottom: 10px; */
}
.form-area input, .form-area label{
    display: inline-block;
}

.form-nav{
    margin-top: 20px;
}
.form-nav__buttons{
    display: flex;
}
.form-nav__buttons a, .form-nav__buttons button, .next-button{
    /* width: 100px; */
    font-size: 14px;
    padding: 10px 50px;
    background: var(--white);
    border: 0;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
    text-transform: uppercase;
}
.form-nav__buttons button, .next-button{
    background: var(--primary);
    color: var(--white);
}
.form-nav__buttons a{
    background: #E2E2E2;
    color: var(--icon);
}

.form-nav__buttons__next{
    margin-left: auto;
}

/* Footer */
.footer{
    background-color: var(--footer);
    padding: 20px 0;
    margin-top: 24px;
}
.footer__nav{
    margin: 0;
    padding: 0;
    margin-bottom: 20px;
}
.footer__nav__item{
    text-decoration: none;
    display: inline-block;
}

.footer__nav__item a{
    color: var(--primary);
    font-weight: bold;
    text-decoration: none;
}
.footer p{
    color: var(--text);
    font-size: 14px;
}

/* Misc */
.cookie-box{
    background-color: var(--primary);
    padding: 10px 0;
}
.cookie-message{
    margin: 0;
    color: var(--white);
    font-size: 12px;
}
.cookie-box__content{
    display: flex;
    padding: 0 15px;
}
.cookie-close{
    margin-left: auto;
    cursor: pointer;
}

.form-content{
    margin-top: -40px;
    margin-bottom: 40px;
}


.area-row, .form-content{
    margin-left: 0;
    margin-right: 0;
}

.form-content .area
,.area{
    padding-left: 10px;
    padding-right: 10px;
}

.col-block{
    padding-left:15px;
    padding-right:15px;
}


.home > .red {
    border: 1px solid red;
}

.home > .red ~ .red {
    border: none;
}

.aside-tel-icon{
    color: var(--icon);
    margin-right: 8px;
    font-size: 20px;
    vertical-align: super;
}
.aside-tel{
    font-weight: light;
    font-size: 32px;
    color: var(--text);
    text-decoration: none;
}
.opening-times-link{
    text-transform: uppercase;
    color: var(--secondary);
    text-decoration: none;
    font-weight: bold;
}


.home-image, .header-image{
    width: 100%;
    margin-bottom: 0;
}
.bottom-nav__container{
    display: none;
}
@media (min-width: 992px){
    .bottom-nav__container{display: block;}
    .header-image-row{
        margin-bottom: 20px;
    }
    .header-image-row + .bottom-nav__container{
        margin-bottom: 0;
    }
}

.news-post{
    padding-bottom: 12px;
    border-bottom: 1px solid #EDEEF3;
}
.news-post + .news-post{
    margin-top: 12px;
}


.news-article + .news-article{
    margin-top: 22px;
}
.news-article h3{
    font-size: 20px;
}
.news-article a{
    display: block;
    color: black;
    font-size: 14px;
    text-decoration: none;
    margin-top: 12px;
    font-weight: bold;
}

.button{
    margin-top: 10px;
    display: inline-block;
    background: var(--primary);
    padding: 10px 12px;
    text-decoration: none;
    color: white;
}
.button:hover{
    cursor: pointer;
}

.quick-link{
    position: relative;
}
.quick-link__content{
    position: absolute;
    top: 50%;/*116px;*/
    left: 18px;
    font-size: 14px;
}
.quick-link img{
    width: 100%;
}

input[type=text], select{
    width: 100%;
    padding: 6px;
}

#quick-quote-form{
    margin-top: 16px;
}

.cookie-box__content
, .cookie-box__content [class*="col-xs-"]
, .cookie-box__content [class*="col-sm-"]
, .cookie-box__content[class*="col-md-"]
, .cookie-box__content [class*="col-lg-"]{
    align-content: center;
}

.row + .row{
    margin-top: 16px;
}

.icon-check__container{
    display: flex;
	flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.icon-check{
    padding: 10px;
    border: 1px solid var(--text-light);
    border-radius: 8px;
    width: 90px;
    height: 90px;
    text-align: center;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
.icon-check:has(> span input:checked){
    border: 1px solid var(--primary);
}
.icon-check__icon{
    display: block;
    font-size: 28px;
}
.icon-check__text{
    line-height: 16px;
}
.icon-check input{
    display: none;
}

.quick-quote-insure-content{
    display:none;
    text-align:center;
    color:#0C6CB4;
}
.quick-quote-insure-back{
    display: block;
    margin-top: 10px;
}

.form-errors-notice{
    margin-bottom: 16px;
    border: 2px solid #c21313;
    background: #fff5f5;
}

.form-errors-notice--visible{
    display: block;
}

.form-errors-notice__title,
.form-errors-notice__lead,
.form-errors-notice__meta,
.notices,
.notices li,
#notice,
#notice li{
    color: #c21313;
}

.form-errors-notice__title{
    margin-bottom: 8px;
}

.form-errors-notice__lead,
.form-errors-notice__meta{
    margin: 0 0 8px;
    font-weight: 700;
}

.form-errors-notice--flash{
    animation: form-errors-pulse 0.55s ease-in-out 2;
}

@keyframes form-errors-pulse{
    0%,
    100%{
        box-shadow: 0 0 0 0 rgba(194, 19, 19, 0);
        border-color: #c21313;
    }
    50%{
        box-shadow: 0 0 0 6px rgba(194, 19, 19, 0.2);
        border-color: #9f0f0f;
    }
}

.notices,
#notice{
    margin: 0;
    padding: 0;
    list-style: none;
}

.notices li,
#notice li{
    margin-bottom: 6px;
    padding-left: 0;
}

.notices li::before,
#notice li::before{
    content: '* ';
    color: #c21313;
    font-weight: 700;
}

.field-asterisk,
label.error{
    display: inline;
    margin-left: 4px;
    color: #c21313;
    font-size: 1em;
    font-weight: 700;
    line-height: 1;
    vertical-align: baseline;
}

label.error:empty,
span.field-asterisk:empty{
    display: none;
}

#full-quote label.error:not(.field-asterisk){
    font-size: 0;
    line-height: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: 0;
}

.field-invalid{
    border-color: #c21313 !important;
    box-shadow: 0 0 0 1px rgba(194, 19, 19, 0.15);
}

.form-area--invalid > .col-sm-12.col-md-5 > label,
.assumption-row.form-area--invalid .assumption-i-agree-label,
.assumption-row.form-area--invalid .assumption-i-agree{
    color: #c21313;
}

.form-area--invalid input[type="checkbox"],
.assumption-row.form-area--invalid input[type="checkbox"]{
    outline: 2px solid #c21313;
    outline-offset: 2px;
}

.form-area--invalid .col-sm-12.col-md-7 input,
.form-area--invalid .col-sm-12.col-md-7 select{
    border-color: #c21313;
    box-shadow: 0 0 0 1px rgba(194, 19, 19, 0.15);
}
.quick-quote__message{
    margin-bottom: 14px;
}

.quick-quote__ipt{
    margin: 0 0 12px;
    font-size: 0.85em;
    line-height: 1.4;
}
.quote-premium-banner{
    margin-bottom: 20px;
    padding: 20px;
    text-align: center;
    border: 1px solid #d9e8f3;
    background: #f7fbfd;
}

.quote-premium-banner__content{
    margin-bottom: 16px;
}

.quote-premium-banner__total,
.quote-premium-banner__discounted{
    margin: 0 0 8px;
    font-size: 1.1em;
}

.quote-premium-banner__strike{
    margin: 0 0 8px;
    font-size: 1em;
    text-decoration: line-through;
    color: #666;
}

.quote-premium-banner__note{
    margin: 0 0 8px;
    font-size: 0.95em;
    color: #c21313;
}

.quote-premium-banner__disclaimer{
    margin: 0;
    font-size: 0.9em;
    color: #555;
}

.quote-premium-banner__amend{
    margin: 12px 0 0;
    font-size: 0.9em;
}

.quote-premium-banner__amend a{
    color: #0c6cb4;
    text-decoration: underline;
}

.quote-premium-banner__nav{
    margin-bottom: 0;
}
.total-value-note{
    margin-top: 8px;
    margin-bottom: 0;
    font-size: 0.9em;
    color: #555;
}

#equipment_total_value{
    font-weight: 700;
}

.assumptions-list{
    margin-top: 8px;
}

.terms-agree-label{
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
}

.terms-agree-label .field-asterisk{
    margin-left: 4px;
}

.form-area--terms.form-area--invalid{
    outline: 2px solid #c21313;
    outline-offset: 4px;
    border-radius: 4px;
}

.assumption-row{
    margin-bottom: 12px;
    align-items: flex-start;
}

.assumption-i-agree-label{
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    margin: 0;
    cursor: pointer;
    white-space: nowrap;
}

.assumption-i-agree{
    display: inline;
    font-weight: 700;
    line-height: 1.2;
}

.assumption-i-agree-label .field-asterisk{
    margin-left: 0;
}



/* Bottom nav */
.bottom-nav__container{
}

.bottom-nav{
    background: var(--primary);
    border-bottom: 4px solid #019cde;
}
.bottom-nav, .bottom-nav ul{
    margin: 0;
    padding: 0;
}
.bottom-nav li{
    list-style: none;
    display: inline-block;
    cursor: pointer;
    position: relative;
}

.bottom-nav li a{
    color: var(--white) !important;
}
.bottom-nav li ul{
    display: none;
    background-color: #019cde;
}
.bottom-nav li:hover ul{
    border-top: 10px solid #019cde;
    display: block;
    position: absolute;
    background: #019cde;
    z-index: 10;
    width: 150%;
    left: 0;
    top: 100%;
}

.bottom-nav li ul li{
    display: block;
}

.bottom-nav__container{
    margin-bottom: 20px;
}

/* Burger nav */
.burger{
    display: block;
    margin-left: auto;
}
.top-header{
    display: flex; align-items: center;
}
.burger, .burger-close{
    font-size: 30px;
    color: var(--primary);
}
.burger-close{
    color: var(--background);
    margin-top: 20px;
    margin-bottom: 20px;
    float: right;
    margin-right: 25px;
}
.burger-nav{
    content: '';
    display: block;
    clear: both;
}
.burger-nav__container{
    display: none;
    background-color: var(--primary);
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    /* body, overflow: hidden (when this is active) */
}
.burger-nav__container--show{
    display: block;
}

.has-child{
    position: relative;
}
.has-child > a::after{
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: '\f0da';
    font: var(--fa-font-solid);
    /* position: absolute;
    top: 50%;
    transform: translateY(-50%); */
    margin-left: 10px;
}
.has-child--active > a::after{
    transform: rotate(90deg);
    top: 30%;
}
.has-child--active ul{
    display: block !important;
}

.burger-nav__container .bottom-nav li{
    display: block;
}
.burger-nav__container .block--nav__ul li{
    padding: 5px 0;
}
.burger-nav__container .block--nav__ul li a{
    padding: 0 1rem;
}

.burger-nav__container .bottom-nav li:hover ul{
    border-top: 0;
    position: initial;
    display: none;
    width: 100%;
}

.burger-nav__container .bottom-nav{
    border-bottom: 0;
}

@media (min-width: 992px){
    .burger{
        display: none;
    }
    .burger-nav__container, .burger-nav__container--show{
        display: none;
    }
}

.text-alert{
    color: red;
}

.flag-logo{
    position: absolute;
    z-index: 5;
    top: -5px;
    left: 40px;
    width: 120px;
    height: auto;

    background: white;
    padding: 20px;
}

.header.blue-band-header,
.footer.blue-band-footer{
    background: #0087a9;
}
.header.blue-band-header img{
    margin-top: 21px;
}
.header.blue-band-header *,
.footer.blue-band-footer *{
    color: #FFF !important;
}
.header.blue-band-header img,
.footer.blue-band-footer img{
    max-height: 100px;
    width: auto;
    display: block;
}

.progresslogo{
	height:100px;
	float:left;
	padding-right:40px;
}