.Banner {
    background: var(--gradient);
    padding: 30px 0 0;

    h1 .subtitle {
        font-size: 1.1rem;
        line-height: 1;
        display: block;
    }
}

.Banner--header {
    h1 {
        position: relative;
        z-index: 2;
    }
}
.Banner--text {
    display: flex;
    flex-direction: column;
}



.Banner--trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    order: 4;
    align-items: center;
    gap: 20px 0;
    margin-top: 0;
}

.Banner .county {
    color: #2c8dff;
}

.Banner--cta {
    background: #fff;
    padding: 30px 15px;
    text-align: center;
    border-radius: 20px;
    order: 3;
    margin: 30px 0;
}

.Banner--cta a + span {
    display: block;
    margin-top: 20px;
    font-size: 1.3em;
    padding-bottom: 5px;
}

.Banner--cta a + span + span {
    color: #7e96a8;
    font-weight: 300;
}

.Banner--cta {
    background: #fff;
    padding: 30px 15px;
    text-align: center;
    border-radius: 20px;
    order: 3;
}

.Banner--cta form + span {
    display: block;
    margin-top: 20px;
    font-size: 1.3em;
    padding-bottom: 5px;
}

.Banner--cta form + span + span {
    color: #7e96a8;
    font-weight: 300;
}

.Banner--cta h2 {
    margin-bottom: 10px;
}

.Banner--cta h3 {
    font-weight: 600;
    margin-bottom: 20px;
}

span.smaller-head sup {
    font-size: 25px;
    line-height: 0;
    position: relative;
    top: 11px;
    color: #7e96a8;
}
@media screen and (min-width: 1023px) {
    .Banner--cta {
        margin: 0;
    }

    span.smaller-head sup {
        font-size: 38px;
    }
    .Banner--image.hearing-edit {
        margin-top: -280px;
    }

    .Banner--image.grocery-edit {
        margin-top: -318px;
    }

    img.Banner--image.dsnp-grocery-edit {
        margin-top: -342px;
        width: 620px;
    }

    .Banner--image.utility-edit {
        margin-top: -349px;
        width: 464px;
        margin-right: 117px;
    }

    .Banner--image.otc-edit {
        margin-top: -282px !important;
    }

    .Banner--image.save-edit {
        margin-top: -322px !important;
        max-width: 550px;
    }

    .Banner--image.otc-edit-card {
        margin-top: -366px !important;
    }

    img.Banner--image.bday-edit {
        margin-top: -281px !important;
        margin-right: 30px;
    }

    .Banner--image.moving-edit {
        margin-top: -282px !important;
        margin-right: 82px;
    }

    .Banner--image.dental-edit {
        margin-top: -290px;
        margin-right: 70px;
    }


    h1 span.smaller-head {
        font-size: 50px;
        display: block;
        line-height: 0.96;
        position: relative;
        z-index: 2;
    }
}

.Banner--image {
    max-width: 100%;
    order: 5;
    height: auto;
    margin-bottom: 0px;
}

.Banner--icon {
    display: grid;
    grid-template-columns: .5fr 1fr;
}

.Banner--icon img {
    margin: 0px auto;
    max-height: 40px;
}

.Banner--iconText {
    display: grid;
    align-items: center;
    line-height: 1;
}

.Banner--iconText span {
    font-weight: 400;
}

.Banner--iconText h3 {
    margin: 0 0 1px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.Carriers {
    text-align: center;
    order: 3;
    padding: 50px 0;
    margin: -21px auto 0;
    width: 100%;

    img {
        margin: 0px auto;
    }

    .green-color {
        font-weight: bold;
        color: #5bbb47;
    }

    p {
        font-size: 28px;
        margin: 50px 0;
    }
}

.Benefits {
    padding: 0;
    display: flex;
    flex-direction: column;
}

.Benefits--info {
    display: flex;
    flex-direction: column;
    padding: 50px 0 0;
    align-items: center;
}

.Benefits--info .Benefits--img img {
    max-width: 100%;
    height: auto;
}

.Benefits--info .Benefits--text {
    order: 1;
}

.Benefits--info .Benefits--img {
    order: 2;
}

.Benefits--info .Benefits--img {
    margin-top: 60px;
}

.Benefits--info .bordered{
    position:relative;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    max-width:100%;
    padding:46px 38px;
    border:2px dashed #2c8dff;
    border-radius:20px;
    align-items: center;
}

.Benefits--info .bordered svg path {
    fill: #2c8dff !important;
}

.Benefits--info .bordered label:first-child {
    position: absolute;
    top: 0;
    padding: 0 .2em;
    margin: -0.3em auto 0;
    color: var(--text);
    font-size: 18px;
    line-height: 22px;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    background: #fff;
    position: absolute;
    top: -8px;
}

.Benefits--info .bordered ul,
.Benefits--info .bordered li {
    display:block;
    list-style:none;
    margin:0;
    padding:0;
}

.Benefits--info .bordered li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 79px;
    margin: 0 0 1em;
    padding: 0 0 0 109px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    color: #0c395b;
    text-transform: capitalize;
}

.Benefits--info .bordered li .icon {
    position:absolute;
    left:0;
    top:0;
    display:flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:80px;
    height:80px;
    padding:5px;
    background:var(--light);
    border-radius:24px;
    box-shadow:0 24px 50px 0 #0000001A;
}

.Benefits--info .bordered li .icon > * {
    display:block;
    max-width:100%;
    max-height:100%;
    margin:auto;
}

.Benefits--info .bordered .buttons {
    position:absolute;
    bottom:-35px;
    left:0;
    right:0;
    box-sizing:border-box;
    padding: 0;
    width:100%;
    text-align: center;
}

.Benefits--info .bottom-text {
    margin-bottom: 20px;
}

.Benefits--info .num-plans {
    font-weight: 600;
    color: #2c8dff;
}

.Comparison {
    padding: 60px 0 0;
    background: var(--gradient-reversed);
    margin-top: -40px;
}

.Comparison .parts{
    padding:12px 0 170px;
    z-index: 1;
    position: relative;
}

.Comparison .parts h2 span {
    color:#5bbb47;
}

.Comparison .parts br{
    margin:0;
}

.Comparison .parts h2{
    margin:0 0 63px;
    text-align:center;
    font-size: 47px;
    line-height:1.1;
}

.Comparison .parts .items{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}

.Comparison .parts .items h3{
    position:absolute;
    top:0;
    padding:0 .2em;
    margin:-15px auto;
    line-height:1em;
    font-size:26px;
    font-weight:600;
    color:var(--primary);
    background:#f0f7ff;
}

.Comparison .parts .items .double{
    position:relative;
    display:flex;
    justify-content:center;
    box-sizing:border-box;
    width:44%;
    margin:70px 0 0;
    padding:44px 30px;
    text-align:center;
}

.Comparison .parts .items .double:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    border:2px solid var(--secondary);
    border-radius:20px;
    z-index:-1;
}

.Comparison .parts .items .double label{
    position:absolute;
    top:0;
    margin:-0.5em auto 0;
    padding:0 .3em;
    vertical-align:top;
    color:var(--secondary);
    font-size:26px;
    font-weight:600;
    line-height:1em;
    background:#f1f7ff;
}

.Comparison .parts .item .icon{
    position:relative;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:106px;
    height:106px;
    padding:5px;
    background:var(--light);
    border-radius:24px;
    box-shadow:0 24px 50px 0 #0000001A;
}

.Comparison .parts .item h4{
    margin:25px 0;
    font-size:22px;
    line-height:1.3em;
}

.Comparison .parts .item p{
    line-height:1.4em;
    text-transform:capitalize;
}

@media screen and (min-width:800px){
    .Comparison .parts .item p{
        max-width:15vw;
    }
}

.Comparison .parts .items .double .item{
    margin:0 1em;
}

.Comparison .parts .items .double i{
    position:relative;
    width: 48px;
    margin: 117px auto 0;
    height: 54px;
    font-size: 26px;
    line-height:1em;
    font-style:normal;
    border-radius:50%;
    padding:0 10px;
    background:var(--light);
    box-shadow: 0px 24px 50px 0px #0000001A;

}

.Comparison .parts .items .double i:before,
.Comparison .parts .items .double i:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    width:15px;
    height:3px;
    margin:auto;
    background:var(--text);
    opacity:.6;
}

.Comparison .parts .items .double i:after{
    transform:rotate(90deg);
}

.Comparison .parts .items .double b{
    position:absolute;
    top:50%;
    height:0;
    width:5vw;
    max-width:25px;
    margin:-1px 0 0;
    border-top:2px dashed var(--text);
    opacity:.6;
}

.Comparison .parts .items .double b:first-child{
    right:100%;
}

.Comparison .parts .items .double b:last-child{
    left:100%;
}

.Comparison .parts .items .double b:before{
    content:"";
    position:absolute;
    top:50%;
    width:0;
    height:0;
    margin:-7px 0 0;
    border-top:6px solid transparent;
    border-bottom:6px solid transparent;
}

.Comparison .parts .items .double b:first-child:before{
    right:100%;
    border-right:8px solid var(--text);
}

.Comparison .parts .items .double b:last-child:before{
    left:100%;
    border-left:10px solid var(--text);
}

.Comparison .parts .items > .item{
    position:relative;
    box-sizing:border-box;
    width:28%;
    min-height:100%;
    padding:92px 70px 63px;
    text-align:center;
}

.Comparison .parts .items > .item:nth-of-type(2):before{
    content:"";
    position:absolute;
    left:calc(-100% / 28 * 44);
    right:0;
    top:0;
    bottom:0;
    border:2px dashed var(--primary);
    border-radius:20px;
    z-index:-2;
}

.Comparison .parts .items > .item:nth-of-type(3):before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    border:2px dashed var(--primary);
    border-left:none;
    border-radius:0 20px 20px 0;
    z-index:-2;
}

.Comparison .parts .items > i{
    position:relative;
    align-self:center;
    width:48px;
    height:48px;
    margin:0 -24px;
    font-size:26px;
    line-height:1em;
    font-style:normal;
    border-radius:50%;
    background:var(--light);
    box-shadow: 0px 24px 50px 0px #0000001A;

}

.Comparison .parts .items > i:before,
.Comparison .parts .items > i:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    width:15px;
    height:3px;
    margin:auto;
    background:var(--text);
    opacity:.6;
}

.Comparison .parts .items > i:after{
    transform:rotate(90deg);
}

.Comparison .parts .buttons{
    margin:44px 0 0;
    text-align:center;
}

.Comparison .parts .buttons .button{
    box-shadow:0 24px 50px 0 #0000001A;
}

.Contact .Contact--text h3 {
    font-size: 27px;
    margin-bottom: 30px;
    color: #7e96a8;
}

.Contact .Contact--text h2 {
    text-transform: capitalize;
}

.Contact--text h2 span {
    display: block;
}

#zipPlans {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 24px;
}

#zipPlans button {
    width: auto;
    border-radius: 0 30px 30px 0;
    padding: 21px 24px !important;
    text-transform: capitalize;
}

#zipPlans input[type="text"]::placeholder {
    color: #ccc;
}

#zipPlans input[type="text"] {
    font-size: 19px;
    padding: 31px 24px !important;
    box-shadow: none;
    border: 1px solid #ccc;
    border-radius: 30px 0 0 30px;
    max-width: 240px;
}

.Banner--cta a.button {
    background-color: #2c8dff !important;
}

@media (min-width: 1024px) {
    .Banner {
        padding: 60px 0 100px;
    }

    .Banner--header {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
    }

    .Banner--text {
        display: grid;
        grid-template-columns: .7fr 1fr;
        grid-template-rows: 2fr;
        gap: 0;
        flex-direction: row;
    }
    .Banner--image {
        margin-top: -240px;
        margin-left: auto;
        order: 0;
    }

    .Banner--trust {
        order: 0;
        gap: 50px 0;
        margin-top: 0;
        align-self: center;
    }

    .Banner--text p {
        font-size: 22px;
    }

    .Banner--cta .button {
        font-size: 20px;
        padding: 21px 30px;
        width: 80%;
    }

    .Banner--iconText span {
        font-size: 20px;
    }

    .Banner--icon img {
        max-height: none;
    }

    .Carriers {
        order: 0;
        margin: 0;
        padding: 40px 0 5px;
    }

    .Carriers img {
        width: auto;
    }

    .Benefits--info {
        display: grid;
        grid-template-columns: 1fr 0.7fr;
        align-items: center;
        gap: 0 40px;
    }

    .Benefits--info .Benefits--img {
        order: 0;
    }

    .Benefits--info .Benefits--img {
        margin-top: 0;
    }

    .Benefits--info .Benefits--text {
        margin-top: -100px;
    }

    .Benefits--info .bordered label:first-child {
        padding: 0 .3em;
        margin: -0.6em auto 0;
        font-size: 20.6px;
    }

    .Benefits--info .bordered li {
        font-size: 22px;
        line-height: 1.2;
    }

    .Contact {
        padding: 0 0 70px;
    }

    .Contact .Contact--info {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
    }

    .Contact .Contact--info .Contact--img img {
        max-width: 100%;
    }

    .Contact .Contact--text {
        padding: 50px;
    }

    .Benefits--text .buttons {
        padding: 0 20px !important;
    }
}

@media screen and (max-width: 1080px) {
    .Banner .Banner--header {
        text-align: center;
    }

    .Banner .Banner--text p {
        text-align: center;
    }

    .Banner .Banner--trust {
        padding-bottom: 10px;
        padding-top: 11px;
    }

    .Comparison {
        padding: 0;
        margin-top: 0;
    }

    .Comparison .parts{
        padding:60px 0 100px;
    }

    .Comparison .parts h2{
        margin:0 0 36px;
        font-size:32px;
    }

    .Comparison .parts .items{
        flex-direction:column;
        align-items:center;
        width:344px;
        max-width:100%;
        margin:0 auto;
    }

    .Comparison .parts .items .double{
        flex-direction:column;
        justify-content:space-around;
        align-items:center;
        box-sizing:border-box;
        height:626px;
        width:calc(100% - 26px * 2);
        margin:36px 26px 0;
        padding:38px 60px;
    }

    .Comparison .parts .items .double .item{
        margin:0;
    }

    .Comparison .parts .items .item h4{
        margin-bottom:4px;
    }

    .Comparison .parts .items .item p{
        margin:0 auto;
        max-width:150px;
        font-size: 16px;
    }

    .Comparison .parts .items .double i{
        position: absolute;
        left: 0;
        top: 35.5%;
        width: 24px;
        height: 44px;
        margin: 0 0 0 20px;
    }

    .Comparison .parts .items .double b:first-child,
    .Comparison .parts .items .double b:last-child{
        left:50%;
        right:auto;
        width:43px;
        height:108px;
        margin:0 0 0 -1px;
        border-left:2px dashed var(--text);
        z-index:1;
    }

    .Comparison .parts .items .double b:first-child{
        top:auto;
        bottom:100%;
        border-radius:30px 0 0 0;
    }

    .Comparison .parts .items .double b:last-child{
        top:100%;
        border-top:none;
        border-bottom:2px dashed var(--text);
        border-radius:0 0 0 30px;
    }

    .Comparison .parts .items .double b:first-child:before,
    .Comparison .parts .items .double b:last-child:before{
        border:none;
        border-left:5px solid var(--text);
        border-top:4px solid transparent;
        border-bottom:4px solid transparent;
        left:100%;
        top:auto;
        margin:-5px 0;
    }

    .Comparison .parts .items .double b:first-child:before{
        top:0;
    }

    .Comparison .parts .items .double b:last-child:before{
        bottom:0;
    }

    .Comparison .parts .items > .item{
        width:100%;
        padding:44px 60px;
    }

    .Comparison .parts .items > i{
        position:relative;
        margin:-24px 0;
    }

    .Comparison .parts .items > .item:nth-of-type(2):before{
        left:0;
        top:-663px;
    }

    .Comparison .parts .items > .item:nth-of-type(3):before{
        border-top:none;
        border-left:2px dashed var(--primary);
        border-radius:0 0 20px 20px;
    }

    .Comparison .parts .buttons{
        margin:45px 0 0;
    }

    .Contact .Contact--img img {
        width: 100%;
        margin-bottom: -40px;
        margin-top: 60px;
    }

    .Contact .container {
        padding: 0;
    }

    .Contact .Contact--text {
        text-align: center;
        padding: 20px 15px 0;
    }

    .Contact .Contact--text h3 {
        font-size: 21px;
        margin-bottom: 30px;
    }

    .button.call:before {
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .container {
        padding: 0 55px;
    }
    .Banner--image, .Benefits--img img {
        max-width: 270px;
        height: auto;
        margin: 0px auto;
    }
}

@media screen and (max-width: 620px) {
    .Banner--cta .button {
        padding: 21px 28px;
        width: 100%;
    }

    .button.call {
        width: 100%;
        padding: 14px 0;
        font-size: 20px;
        justify-content: center;
    }

    #zipPlans input[type="text"] {
        padding: 30px 24px !important;
        width: 180px;
    }
}

@media screen and (min-width: 768px) {
    .Banner--header h1 {
        font-size: 52px !important;
    }
}