﻿

/*------------------------------- Fonts --------------------------------*/

@font-face {
    font-family: 'silkablack';
    src: url('./Fonts/silka-black-webfont.eot');
    src: url('./Fonts/silka-black-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-black-webfont.woff2') format('woff2'),
         url('./Fonts/silka-black-webfont.woff') format('woff'),
         url('./Fonts/silka-black-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkabold';
    src: url('./Fonts/silka-bold-webfont.eot');
    src: url('./Fonts/silka-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-bold-webfont.woff2') format('woff2'),
         url('./Fonts/silka-bold-webfont.woff') format('woff'),
         url('./Fonts/silka-bold-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkaextra_light';
    src: url('./Fonts/silka-extralight-webfont.eot');
    src: url('./Fonts/silka-extralight-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-extralight-webfont.woff2') format('woff2'),
         url('./Fonts/silka-extralight-webfont.woff') format('woff'),
         url('./Fonts/silka-extralight-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkalight';
    src: url('./Fonts/silka-light-webfont.eot');
    src: url('./Fonts/silka-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-light-webfont.woff2') format('woff2'),
         url('./Fonts/silka-light-webfont.woff') format('woff'),
         url('./Fonts/silka-light-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkamedium';
    src: url('./Fonts/silka-medium-webfont.eot');
    src: url('./Fonts/silka-medium-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-medium-webfont.woff2') format('woff2'),
         url('./Fonts/silka-medium-webfont.woff') format('woff'),
         url('./Fonts/silka-medium-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkaregular';
    src: url('./Fonts/silka-regular-webfont.eot');
    src: url('./Fonts/silka-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-regular-webfont.woff2') format('woff2'),
         url('./Fonts/silka-regular-webfont.woff') format('woff'),
         url('./Fonts/silka-regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkasemibold';
    src: url('./Fonts/silka-semibold-webfont.eot');
    src: url('./Fonts/silka-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-semibold-webfont.woff2') format('woff2'),
         url('./Fonts/silka-semibold-webfont.woff') format('woff'),
         url('./Fonts/silka-semibold-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'silkathin';
    src: url('./Fonts/silka-thin-webfont.eot');
    src: url('./Fonts/silka-thin-webfont.eot?#iefix') format('embedded-opentype'),
         url('./Fonts/silka-thin-webfont.woff2') format('woff2'),
         url('./Fonts/silka-thin-webfont.woff') format('woff'),
         url('./Fonts/silka-thin-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/*------------------------------- General styles --------------------------------*/

html {
    font-size: 24px;
}
@media (max-width: 1600px) {
    html { font-size: 22px; }
}
@media (max-width: 1440px) {
    html { font-size: 21px; }
}
@media (max-width: 1280px) {
    html { font-size: 20px; }
}
@media (max-width: 960px) {
    html { font-size: 19px; }
}
@media (max-width: 820px) {
    html { font-size: 18px; }
}


body {
    background: #ebfbfa;
    color: #1e1957;
    font-family: silkaregular, sans-serif;
    font-size: 0.75rem;
}

a:hover {
    color: #2ad2c9;
}

h1, h2, h3, h4 {
    font-family: silkamedium, sans-serif;
}

hr {
    height: 2px;
    background-color: #2ad2c9;
    margin: 2.5em auto;
    border: none;
}

.text-promo-section h2 {
    font-size: 1.75rem;
    margin-top: .8em;
}

span.highlighted {
    color: #2ad2c9;
}

input, select {
    font-size: 0.8rem;
    border-radius: 0.6em;
    border: 1px solid currentColor;
    background-color: #ffffff;
    padding: .7em 1.2em;
    font-family: "silkaregular", sans-serif;
    color: currentColor;
}

.logged-in, .not-logged-in {
    height: 100%;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l7 7 7-7z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position-x: 96%;
    background-position-y: 50%;
}

.larger-text {
    font-size: 1.2rem;
}

.button {
    border-color: currentColor;
    border-radius: 0.6em;
    min-width: inherit;
}

.button:hover {
    color: #fff;
    background: #1e1957;
    border-color: #1e1957;
}

.selected {
    color: #fff;
    background: #1e1957;
    border-color: #1e1957;
}

.tooltip::after {
    color: #00c0b0;
    top: -0.2em;
    margin-left: .2em;
}

.tooltip .tooltiptext {
    background-color: #ececec;
    color: #000;
}

.aligned-form, .aligned-form-full-width, .aligned-form-max-width {
    margin-left: 0;
    margin-right: 0;
}

.theme-icon {
    fill: #fff;
    padding: 4px;
    border-radius: 50%;
    background-color: currentColor;
}

.theme-dark-background {
    color: #fff;
}

.theme-dark-background .button:hover {
    color: #444;
}

.theme-dark-background .larger-text {
    font-size: 1rem;
    letter-spacing: 0.05em;
}

.theme-dark-background .theme-icon {
    fill: #555;
}

.alternating-pairs ul {
  list-style-type: none; 
}

.alternating-pairs li::before { 
    background-color: #aaa;
    border-radius: 50%;
    content: "";
    display: inline-block;
    margin-right: 0.5em;
    margin-bottom: 0.12em;
    height: 0.5em;
    width: 0.5em;
    margin-left: -1em;
}

.checkmark {
    border-radius: 0.3em;
    background-color: #ffffff;
    border: 1px solid currentColor;
}

input[type=range] {
    -webkit-appearance: none;
    background: none;
    padding: 0;
}

@supports (-moz-appearance:none) {
    input[type=range] {
        height: 1em;
    }
}

input[type=range]::-webkit-slider-runnable-track {
    height: 1em;
    background: none;
    border: none;
    border-radius: 1em;
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    border: none;
    height: 1.6em;
    width: 1.6em;
    border-radius: 50%;
    background: #1e1957;
    margin-top: -0.3em;
}

input[type=range]:focus {
    outline: none;
}

input[type=range]::-moz-range-track {
    height: 1em;
    background: none;
    border: none;
    border-radius: 1em;
}

input[type=range]::-moz-range-thumb {
    border: none;
    height: 1.6em;
    width: 1.6em;
    border-radius: 50%;
    background: #1e1957;
}

input[type=range]:-moz-focusring{
    outline: 1px solid white;
    outline-offset: -1px;
}

input[type=range]::-ms-track {
    height: 1em;
    background: none;
    border-color: transparent;
    border-width: 0.4em 0;
    color: transparent;
}

input[type=range]::-ms-thumb {
    border: none;
    height: 1.6em;
    width: 1.6em;
    border-radius: 50%;
    background: #1e1957;
}

input[type="range"]::-ms-fill-lower {
    background-color: #0adbd1; 
}

input[type="range"]::-ms-fill-upper {  
    background-color: #ffffff;
}

/*--------------------------- Specific element styles -----------------------------*/

.cookie-overlay {
    background-color: #2ad2c9;
    color: #000;
}

.cookie-overlay .button {
    color: #fff;
}

.cookie-overlay .button:hover {
    background: #fff;
    color: #1e1957;
}

.menu-container {
    margin-top: 0.5em;
    height: 100%;
}

.menu-dropdown-content {
    background-color: #1e1957;
    text-align: center;
    font-size: 1rem;
    font-family: silkasemibold;
    margin: 1em 2em;
    color: #ebfbfa;
}

.menu-button {
    border-width: 2px;
    font-weight: bold;
}

.theme-dark-background .menu-button {
    color: #fff;
}

.theme-dark-background .menu-button:hover {
    color: #1e1957;
    background-color: #fff;
    border-color: #fff;
}

.theme-eclipse-menu {
    background: #fff;
    background-position: center;
    background-size: cover;
}

.theme-menu-style-coloured-bar .menu-container {
    margin-top: 0;
}

.menu-container a:hover {
    color: inherit;
}


.theme-page-header {
    padding-top: 10em;
    padding-bottom: 4em;
}

.standalone-box-content {
    background-color: rgba(0,0,0,.7);
}

@media (max-width: 840px) {
    .theme-page-header {
        padding-top: 16em;
    }

    .menu-button:hover {
        color: #2ad2c9;
        background: none;
    }
}

.theme-members-header {
    height: 10em;
}

.theme-header-trust-container {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-end;
}

.theme-dark-background .theme-header-trust-container {
    filter: drop-shadow(0 0 8px rgba(0,0,0,.4));
}

.theme-header-trust-icons {
    display: flex; 
    justify-content: space-between;
    flex-flow: row wrap;
    align-items: center;
    padding: 1em 0 3em 0;
}

.theme-cta {
    background-color: #2ad2c9;
    border-color: #2ad2c9;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
}

.theme-cta:hover {
    background-color: #777;
    color: #fff;
}

.theme-dark-background .theme-cta {
    color: #444;
}

.theme-dark-background .theme-cta:hover {
    color: #fff;
}

.theme-cta2 {
    color: #fff;
    background: #1e1957;
    border-color: #1e1957;
    font-weight: bold;
}

.theme-cta2:hover {
    background-color: #fff;
    color: #1e1957;
}

.page-section {
    background-color: #fff;
    padding: 2em 0 3em 0;
}

.page-section.theme-dark-background {
    background-color: #1e1957;
}

.footer-menu {
    position: relative;
    z-index: 10;
    background: #1e1957;
    padding-top: 1em;
    text-align: justify;
}

.footer-menu-column {
    text-transform: none;
    font-family: silkasemibold;
}

.footer-menu-column a {
    color: #fff;
}

.copyright-footer {
    position: relative;
    z-index: 10;
    background: #fff;
}

.modal-popup-content h3 {
    font-weight: bold;
    font-size: 1.2em;
    background: #2ad2c9;
    color: #fff;
    padding: .5em 1em;
    margin: 1em -1em;
}

.micover-menubar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1em 0;
}

.mi-getquote-header {
    display: flex;
    margin-top: -2.5em;
}

.mi-getquote-header hr {
    background-color: #1e1957;
    flex: 1 1 100%;
}

.mi-getquote-header svg {
    width: 20em;
    height: 4em;
}

.top-left-logo {
    display: inline-block;
    margin: 0 4em;
}

.top-left-logo svg {
    height: 3em;
}

@media (max-width: 840px) {
    .top-left-logo {
        margin: 0 4%;
    }

    .top-left-logo svg {
        height: 2em;
        width: 12em;
    }
}

.menu-bar-widget .menu-bar-inner:hover {
    color: #2ad2c9;
}

.micover-bg-aqua .menu-bar-widget .menu-bar-inner:hover {
    color: #b8f4f2;
}

.tapoly-stepper-container {
    display: none;
}

.menu-top-level-item {
    margin: 1.6em 2% 0 0;
}

.theme-standard-header-content {
    display: flex;
    min-height: 14em;
    align-items: center;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: right center;
}

.theme-standard-header h1 {
    font-size: 2.5rem;
    margin-top: 2em;
    margin-bottom: 2em;
}

.theme-jk-header .theme-nu-header-title {
    padding-top: 3.5em;
}

@media (max-width: 960px) {
    :not(.theme-dark-background) > .theme-standard-header-content {
        background-size: 0;
    }
    .theme-standard-header h1 {
        margin-left: auto;
        margin-right: auto;
    }
}

.header-text-with-box h1 {
	margin-top: 0;
    font-size: 3.5rem;
}


.selectable-item {
    border-color: #ccc;
    border-width: 3px 0;
    border-radius: 0;
    margin: 1em 0 0 0;
}

.selectable-item + .selectable-item {
    margin-top: 0;
    border-top-width: 0;
}

.cover-selection-icon {
    height: calc(4em + 8px);
    margin-left: -0.5em;
    padding-left: 0;
}

.StripeElement {
    border-radius: 0.6em;
}

.alternating-pairs .button {
    margin-bottom: 0.5em;
}

#quote-sidebar {
    border: 1px solid currentColor;
    border-right: 0;
}

.icon-array-content hr {
    display: none;
}

.icon-array h2 {
    margin-top: 0.5em;
}

.icon-array img {
    height: 5em;
}

.dashboard-entry {
    border: none;
    border-radius: 1em;
    background: white;
    overflow: hidden;
    margin: 1em 0;
}

.dashboard-entry-header {
    color: #fff;
    background: #1e1957;
    padding: .5em 1em;
}

.dashboard-entry-title {
    font-size: .8rem;
    text-transform: uppercase;
}

.dashboard-entry-content {
    padding: .5em .8em;
}

.dummy-active-button {
    color: #fff;
    background: #1e1957;
    border-color: #1e1957;
}

.mc-faq-buttons {
    display: flex;
    flex-flow: row wrap;
    margin: 3em 10% 4em 10%;
    justify-content: center;
}

.mc-faq-buttons a {
    display: block;
    margin: 0 1em 1.5em 1em;
}

.mc-faq-buttons.button + .mc-faq-buttons.button {
    margin-left: 0;
}


.carousel-dot {
  background-color: #b8c2d1;
}

.carousel-dot-active, .carousel-dot:hover {
  background-color: #1e1957;
}

.carousel-element img {
    width: 100%;
}

#generic-popup-container {
    background-color: #ebfbfa;
}

#generic-popup-content p {
    text-align: justify;
}

#generic-popup-content .quote-field p {
    text-align: right;
}


.theme-table {
    border-collapse: initial;
    border-spacing: 0;
}

.theme-table th {
    background-color: #1e1957;
    border-left: 1px solid #1e1957; 
    border-right: 1px solid #1e1957; 
}

.theme-table th:first-child {
    border-top-left-radius: 1.2em;
}

.theme-table th:last-child {
    border-top-right-radius: 1.2em;
}

.theme-table td {
    border: 1px solid currentColor;
    background-color: #fff;
    padding-left: 1em;
    padding-right: 1em;
    border-right: none;
    border-top: none;
}

.theme-table td:last-child {
    border-right: 1px solid currentColor;
}

.theme-table tr:first-child td {
    border-top: 1px solid currentColor;
}

.theme-table tr:nth-child(2n) td {
    background-color: #fff;
}

/*--------------------------- Team page overrides -----------------------------*/

.team-photo-content img {
    display: block;
    width: 5em;
    border-radius: 20em;
    margin: auto;
}

/*--------------------------- Main homepage styles -----------------------------*/

.micover-bg-navy {
    background-color: #1e1957;
    color: #fff;
}

.micover-bg-aqua {
    background-color: #2ad2c9;
}

.micover-bg-lightaqua {
    background-color: #b8f4f2;
}

.micover-bg-offwhite {
    background-color: #ebfbfa;
}

.micover-bg-navy .button:hover {
    color: #1e1957;
    background: #fff;
    border-color: #fff;
}

.micover-bg-aqua a:hover {
    color: #b8f4f2;
}

.micover-bg-with-stamp {
    background-image: url("./Images/logo-MI-part-aqua.png");
    background-repeat: no-repeat;
    background-size: 14em;
    background-position: 4em 100%;
}

.micover-bg-with-stamp.micover-bg-aqua {
    background-image: url("./Images/logo-MI-part-navy.png");
}

@media (max-width: 1480px) {
    .micover-bg-with-stamp,
    .micover-bg-with-stamp.micover-bg-aqua {
        background-image: none;
    }
}

.micover-box {
    display: inline-block;
    max-width: 20em;
    border-radius: 1.5em;
    padding: 0 1.5em 2em 1.5em;
}

.micover-box h2 {
    font-size: 2rem;
}

.theme-products-page {
    margin: 0 12%;
}

@media (max-width: 900px) {
    .theme-products-page {
        margin: 0;
    }
}

.theme-products-page .aligned-table {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.theme-products-page .aligned-table-row {
    display: block;
    width: 18em;
    background-color: #eee;
    border-radius: 1em;
    margin: 0.5em;
    padding: 1em .7em;
    transition: all .2s linear;
    text-decoration: none;
}

.theme-products-page .aligned-table-label {
    display: inline;
    float: right;
    padding: .4em .5em 1em 1em;
}

.theme-products-page .aligned-table-value {
    display: block;
    padding: .25em .5em;
}

.theme-products-page .aligned-table-row:hover {
    background-color: #e8e7ee;
    color: #fff;
}

.theme-products-page .theme-icon {
    fill: #eee;
}

.theme-products-page .aligned-table-row:hover .theme-icon {
    fill: #e8e7ee;
}

.theme-products-page svg {
    width: 5em;
    height: 5em;
}

.homepage-header {
    padding: .1em 0 3em 0;
    text-align: center;
}

.homepage-header h2 {
    font-size: 2rem;
    margin: 1em 0 1.4em 0;
}

.eclipse-scroller {
    display: flex;
}

.eclipse-scroller > div {
    flex: 1 0 50%;
    min-height: 30vw;
}

@media (max-width: 768px) {
    .eclipse-scroller {
        flex-wrap: wrap;
    }

    .eclipse-scroller > div {
        flex: 1 0 100%;
        min-height: 50vw;
    }
}

.eclipse-scroller-content {
    font-family: silkabold;
    font-size: 2rem;
    padding: 0;
}

.eclipse-scroller-content .carousel-container {
    font-family: silkaregular;
}

.eclipse-scroller-images .carousel-element {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50%;
}

.homepage-socials a {
    display: inline-block;
    border-radius: 5em;
    background: #1e1957;
    padding: .6em;
}

.homepage-socials svg {
    display: block;
    width: 2em;
    height: 2em;
    fill: #00dcd2;
}

.homepage-socials svg:hover {
    fill: #fff;
}

.shaded-icons img,
.shaded-icons svg {
    display: block;
    margin: auto;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: #b8f4f2;
    filter: drop-shadow(0 0 .3em #89b);
}

.shaded-icons .icon-array-content {
    padding: 1em;
}

.icon-list-entry {
    padding: .5em 0;
}

.rounded-icon {
    display: inline-block;
    border-radius: 20em;
    overflow: hidden;
    margin-bottom: .5em;
    border: 2px solid currentColor;
    filter: drop-shadow(0 0 .3em #89b);
    background: #ebfbfa;
}
    
.eclipse-section-img-flush-left,
.eclipse-section-img-flush-right {
    display: flex;
    align-items: center;
}

.eclipse-flush-lr-content {
    flex-grow: 1;
    width: 50%;
    padding: 0 2em;
    text-align: center;
}

.eclipse-flush-pic-over-bubble {
    background: currentColor;
    height: 100%;
    width: 30em;
    overflow: hidden;
    margin-left: auto;
}

.eclipse-section-img-flush-left .eclipse-flush-pic-over-bubble,
.eclipse-section-img-flush-left .eclipse-flush-full-bubble {
    border-top-right-radius: 20em;
    border-bottom-right-radius: 20em;
}

.eclipse-section-img-flush-right .eclipse-flush-pic-over-bubble,
.eclipse-section-img-flush-right .eclipse-flush-full-bubble {
    border-top-left-radius: 20em;
    border-bottom-left-radius: 20em;
}

.eclipse-flush-pic-alone {
    padding: 2em 5%;
    width: 50%;
    flex-grow: 1;
}
.eclipse-flush-pic-alone > div {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.eclipse-section-img-flush-left img,
.eclipse-section-img-flush-right img {
    display: block;
    height: 22em;
    margin: 0 auto;
}

.eclipse-section-img-flush-left .eclipse-flush-full-bubble-background {
    padding: 0 0 0 5vw;
    border-top-right-radius: 20em;
    border-bottom-right-radius: 20em;
}

.eclipse-section-img-flush-right .eclipse-flush-full-bubble-background {
    padding: 0 5vw 0 0;
    border-top-left-radius: 20em;
    border-bottom-left-radius: 20em;
}

.eclipse-flush-full-bubble {
    border-radius: 20em;
    padding: 100% 0 0 0;
    background-size: cover;
    background-position: 50% 50%;
}

@media (max-width: 840px) {
    .eclipse-section-img-flush-left,
    .eclipse-section-img-flush-right {
        flex-wrap: wrap;
    }
    .eclipse-flush-lr-content {
        width: auto;
    }
}

.eclipse-side-bubbles {
    display: flex;
    overflow: hidden;
    justify-content: center;
}

.eclipse-bubbles-otherside {
    flex-direction: row-reverse;
}

.eclipse-sb-content {
    padding: 2vw 0;
    margin: 0 5vw;
    max-width: 40%;
}

.eclipse-bubble,
.eclipse-bubbles {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 18em;
}

.eclipse-bubble {
    width: 24em;
    justify-content: center;
}

.eclipse-bubble > div,
.eclipse-bubbles > div {
    position: relative;
    border-radius: 100em;
    text-align: center;
    background-size: cover;
    background-position-x: 50%;
    padding: 100% 0 0 0;
    margin: 20% 0 0 0;
}

.eclipse-bubble > div {
    margin: 20% 0 20% 0;
}

@media (max-width: 1800px) {
    .eclipse-sb-content {
        padding: 3vw 0;
        max-width: 45%;
    }
}

@media (max-width: 1600px) {
    .eclipse-sb-content {
        padding: 4vw 0;
        max-width: 50%;
    }
}

@media (max-width: 1200px) {
    .eclipse-sb-content {
        padding: 5vw 0;
        max-width: 60%;
    }
}

@media (max-width: 960px) {
    .eclipse-sb-content {
        margin: 0 4vw;
    }
}

@media (max-width: 732px) {
    .eclipse-side-bubbles {
        flex-wrap: wrap;
        flex-direction: row;
    }

    .eclipse-bubble > div,
    .eclipse-bubbles > div {
        margin-top: 1em;
    }

    .eclipse-scroller-content > div {
        flex: 1 0 100%;
        min-height: 60vw;
    }
    .eclipse-sb-content {
        margin: 0 3vw;
        max-width: none;
    }
}

.eclipse-bubbles > div:last-child {
    padding-top: 50%;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.eclipse-bubbles > div > p,
.eclipse-bubbles > div > p {
    margin: 4em 0 0 0;
}

/*------------------ FAQ page styles --------------------*/

.faq-title {
    font-size: 1.5rem;
    padding: .6em 0 .4em 0;
}

.faq-q {
    font-size: 1rem;
    font-family: silkamedium;
    padding: .6em 0 0 0;
}


/*------------------ Side-by-side boxes --------------------*/

.eclipse-side-by-side {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.alternating-text-box,
.alternating-img-box {
    display: flex;
    flex-basis: 40%;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    min-height: 30vw;
}

.alternating-text-content {
    margin: 2em 10% 4em 10%;
}

.alternating-img-box {
    background-size: cover;
    background-position: center;
}

@media (max-width: 768px) {
    .alternating-text-box,
    .alternating-img-box {
        flex-basis: 90%;
        min-height: 14em;
    }
}


/*--------------------------- Plan/package selection -----------------------------*/

.plan-picker-top,
.plan-picker-bottom {
    display: flex;
    justify-content: center;
    margin: 4em 0 0 0;
    text-align: center;
}

.plan-picker-bottom {
    margin: 0 0 4em 0;
}

.plan-picker-element {
    flex: 1 0 10%;
    padding: 1em;
    border: 2px solid #1e1957;
    margin-right: 1em;
    max-width: 16em;
}

.plan-picker-element:last-child {
    margin-right: 0;
}

.plan-picker-top h3 {
    font-size: 1.2rem;
    margin: .5em 0 1em 0;
}

.plan-picker-bottom h3 {
    font-size: 2rem;
    font-family: silkaregular;
    margin: 0;
}

.plan-picker-bottom p {
    margin: 0.2em 0 1em 0;
}

.plan-picker-top .plan-picker-element {
    border-top-left-radius: 2em;
    border-top-right-radius: 2em;
    border-bottom: none;
}

.plan-picker-bottom .plan-picker-element {
    border-bottom-left-radius: 2em;
    border-bottom-right-radius: 2em;
}

.plan-picker-top .plan-picker-element:hover {
    color: #fff;
    background: #1e1957;
    border-color: #1e1957;
}

@media (max-width: 640px) {
    .plan-picker-element {
        padding: 1em .5em;
    }
    .plan-picker-element .button {
        padding: .6em .5em;
    }
}


/*--------------------------- Get quote page styles -----------------------------*/

.tapoly-stepper li.active {
    color: #2ad2c9;
}

.tapoly-stepper li.active + li:after {
    background-color: #2ad2c9;
}

.micover-quote-main {
    display: flex;
    align-items: stretch;
}

.micover-quote-container {
    flex: 1 1 auto;
    text-align: center;
}

.micover-quote-content {
    display: inline-block;
    max-width: 64em;
}

#micover-sidebar-container {
    position: relative;
    flex: 0 1 0%;
    min-width: 0;
    background: #cbf7f5; 
    transition: all 0.5s ease;
    border-top-left-radius: 2em;
}

#micover-sidebar-container.show-sidebar {
    min-width: 22em;
}

#micover-sidebar-fixed {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    z-index: 8;
    overflow: hidden;
}

#micover-sidebar-content {
    padding: .5em 2em 5em 2em;
    margin: 10em 0;
}

#micover-sidebar-content table {
    width: 100%;
    border-collapse: collapse;
}

#micover-sidebar-content td {
    padding: 4px 0;
}

#micover-sidebar-content td:nth-child(2) {
    text-align: right;
}

@media (max-width: 1024px) {
    #micover-sidebar-container {
        position: fixed;
        top: 1em;
        right: 0;
        text-align: center;
        min-width: auto;
        width: 0;
        border-top-left-radius: 22em;
        border-bottom-left-radius: 22em;
    }

    #micover-sidebar-container.show-sidebar {
        width: 16em;
        min-width: auto;
    }
    .micover-plan-section {
        display: none;
    }

    #micover-sidebar-fixed {
        position: static;
    }

    #micover-sidebar-content {
        padding: 2em 1em 2em 2em;
        margin: 0;
    }
}

.cover-selection-text {
    flex: 1 1;
}

#accom-type {
    display: flex;
    flex-flow: row wrap;
}

#accom-type h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2rem;
    height: 2.4rem;
    margin-top: 2em; 
}

#accom-type .radio-style-item {
    flex: 1 1 0px;
    cursor: pointer;
    text-align: center;
    padding: 0 1em;
}

@media (max-width: 860px) {
    #accom-type .radio-style-item {
        flex: 1 1 43%;
    }
}

#accom-type .radio-style-item p {
    margin: 0;
}

#accom-type img,
#accom-type svg {
    display: block;
    width: 6em;
    height: 6em;
    padding: .6em 1em 1.4em 1em;
}

#accom-type .selected img,
#accom-type .selected svg {
    background: #0adbd1;
    color: #fff;
}

#accom-type .selected {
    background: none;
    color: #1e1957;
    border: none;
}

#accom-type .radio-style-item:hover img,
#accom-type .radio-style-item:hover svg {
    background: #1e1957;
    color: #fff;
}

.mi-cover-icon svg {
    width: 6em;
    height: 6em;
    margin: 0 2em 0 -1em;
}

.mi-cover-feature {
    display: flex;
    border-top: 2px solid #1e1957;
    padding: 2em;
    text-align: justify;
    text-align-last: center;
}

.mi-cover-feature2 {
    border-top: 2px solid #1e1957;
    padding: 2em 0 2.5em 0;
    text-align: justify;
    text-align-last: center;
}

.mi-cover-selector .checkbox-element {
    padding-left: 2em;
    font-size: 2rem;
    margin-left: 2em;
}

.cover-selection-name {
    text-align: center;
}

.slider-parent {
    position: relative;
}

.slider-value { 
    position: absolute;
    text-align: center; 
    color: #1e1957; 
    display: inline-block; 
    left: 0;
    font-size: 0.85rem;
    font-family: silkasemibold;
}

.mi-cover-summary {
    border-top: 2px solid #1e1957;
    padding: .5em 0 1em 0;
    text-align: left;
}

.mi-cover-summary table {
    width: 100%;
}

.mi-cover-summary td:nth-child(1) {
    font-family: silkamedium;
    padding: 0.5em 0;
}

.mi-cover-summary td:nth-child(2) {
    text-align: right;
}

#discount-code {
    display: inline-block;
    max-width: 16em;
    margin-right: 1em;
}

/*--------------------- FatZebra get quote payment form --------------------*/

.fatz-payment-form button {
    background: #0adbd1 !important;
}

#pay-now {
    background: #1e1957 !important;
    border-radius: 100px !important;
    color: #fff !important;
}

.fatz-payment-form {
    margin-top: 1em;
    width: 15em;
    height: 15.6em;
    border: 0;
}

input.payment-input {
    font-size: 0.8rem !important;
    border-radius: 0.6em !important;
    border: 1px solid currentColor !important;
    background-color: #ffffff !important;
    padding: .7em 1.2em !important;
    font-family: "silkaregular", sans-serif !important;
    color: currentColor !important;
}

/*--------------------------- Claims page styles -----------------------------*/

.claims-process {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    padding: 3em 0;
}

.cp-top,
.cp-bottom {
    flex-basis: 100%;
    text-align: center;
    vertical-align: top;
}

.cp-top img,
.cp-bottom img,
.cp-top svg,
.cp-bottom svg {
    display: block;
    width: 5em;
    margin: 0 auto;
}

.cp-left {
    flex-basis: 30%;
    border-right: 1px solid currentColor;
    padding: 0 10% 1em 10%;
    text-align: right;
    position: relative;
}

.cp-right {
    flex-basis: 30%;
    border-left: 1px solid currentColor;
    padding: 0 4% 1em 15%;
    text-align: left;
    position: relative;
    left: -1px;
}

.cp-left img,
.cp-left svg {
    height: 8em;
    margin: 0 25% 0 0;
}

.cp-right img,
.cp-right svg {
    height: 8em;
    margin: 0 0 0 15%;
}

.cp-left p {
    text-align: left;
}

.cp-left h4 {
    text-align: left;
}

.cp-left hr,
.cp-right hr {
    width: 25%;
    height: 1px;
    background: currentColor;
    display: inline-block;
    position: absolute;
    margin: 0;
    top: 50%;
}

.cp-left hr {
    right: 0;
}

.cp-right hr {
    left: 0;
}
