
.cta a {

    font-size: 1.1em;
    padding: 0.6em 1em;

}

main {
    padding: 0.75em 0;
    background-color: var(--c-blue3-o3);
  
}


main h1 {
font-size:300%;
 
}
main h2 { 
font-size:200%;
}

@media screen and (min-width: 768px) {
    main h1 {
        font-size:350%;
         
        }

main h2 { 
    font-size:250%;
    }
    }        
main h3 {
    
font-size:150%;
}

main h4 {
    
font-size:100%;
}
main .content-wrap {
    margin:0;
    padding:0;
    max-width:100%;
}
.breadcrumb {
    padding: var(--wrap);
    max-width: 105em;
    margin: auto;
    margin-bottom:1em;
}
main .wrap,
.component.component3.wc_listing,
main .cover{
    padding: var(--wrap);
    max-width: 88em;
    margin: auto;
    
}
/*.page-title {
    display: none;
}*/

/*
.cover .item {
    position: relative;
}
.cover .item .img-wrap,
.cover .item .img-wrap figure,
.cover .item .img-wrap figure img {
position: absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index: 1;
object-fit: cover;
}
.cover .item .img-wrap figure img {

}
.cover .item .txt-wrap {

    position: relative;
    z-index: 2;
    color:#fff;
}

.cover .item .txt-wrap .wrap {

    padding-top: 1em;
    padding-bottom: 1em;
    min-height: 36em;
    display: flex
;
    align-items: center;
}
*/
 hgroup {
    color:var(--c-blue1);
    text-align: center;
}
.leading {
    margin-bottom:3em;
}

.leading h2 {
    padding-top:1em;
    position: relative;
}
.leading h2:before {
    content: '';
    display: block;
    width: 1em;
    height: 0.1em;
    background-color: var(--c-blue1);
    position: absolute;
    top:-0.2em;
    left:50%;
    transform: translateX(-50%);
}   

@media screen and (min-width: 768px) {

    .leading h2:before {
        left:0;
        transform:none;
    }
}
.intro {
    font-size:1.2em;
    color:#666;
}

@media screen and (min-width: 768px) {
}
.leading ul {
    padding-left:1em;
}
@media screen and (min-width: 768px) {
    .leading .wrap {
        display: flex;
        gap:2em;
    }
    .leading hgroup {
        flex:1;
        text-align: left;
    }
    .leading .intro {
        flex:1;
        margin:1.5em 0;
    
}
}

.key-points {
    background-color: var(--c-blue3-o2);
    padding:1em 0 4em 0;
}

.key-points ul {
 padding: 0; 
 margin:0;
 display: flex;
 gap:1em;  
 flex-direction: column;
}

.key-points ul li{
    padding:1em;
    background-color: #fff;
    border-radius: 0.5em;
    list-style: none;
    flex:1;
}
@media screen and (min-width: 768px) {
    .key-points ul {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .key-points ul li{
        flex:unset;
        width:calc((100% - 1em) / 2);
    }
}

@media screen and (min-width: 1024px) {
    .key-points ul {
        flex-direction: row;
        flex-wrap: nowrap;
    }
    .key-points ul li{
     width:auto;
     flex:1;
    }
}

.key-points ul li h3{
    margin:0.5em 0;
}
.key-points ul li figure img {
    width: 3.5em;
    height: 3.5em; 
    margin:auto;
    display: block;
}
.features {
    background-color: #000;
    color:#fff;
    overflow: hidden;

}
.features .txt-wrap .bg {
transition-duration: 3s;
transition-timing-function: ease-in-out;
opacity: 0;
z-index: 1;
position: absolute;
top:0;
left:0;
width:100%;
height:100%;
animation: breathe 4s infinite;
}
@keyframes breathe {
    0% {
        opacity: 0.9;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.9;
    }
}
.features.active .txt-wrap .bg {
    opacity: 1;
    background: rgb(76,104,128);
    background: radial-gradient(circle, rgba(76,104,128,1) 10%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 70%, rgba(23,47,68,1) 100%);
}
.features .wrap {
    position: relative;
    z-index: 2;
}
/*
.features hgroup {
    color:var(--c-blue3);
}
.features .intro {
    color:#fff;
}*/
.features .swiper-slide {
    position:relative;
    width:100%;
    padding-bottom: 100%;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .features {
        align-items: stretch;
    }
    .features .img-wrap {
      position: relative;
      padding-bottom: 0;
    }
}
.features .img-wrap  img {
    position:absolute;
    top:0;
    left: 0;
    width:100%;
    height:100%;
    object-fit: cover;
    margin:0;
}

 
.features p {
    font-size:1.25em;
    text-align: center;
}
.features .txt-wrap {
    padding: 2em 0;
    position: relative;
    display: flex;
}

.features .features-list ol {
    margin:0;
    padding:2em 0;
    display: flex;
    gap:1.5em;
    flex-direction: column; 
    counter-reset: item;
}
.features .features-list li {
    background-color: rgba(255, 255, 255, 0.8);
    color:#000;
    
    padding: 0.5em 1em 0.5em 0.5em;
    border-radius: 4em;
    position: relative;
list-style: none; 
display: flex;
align-items: center;
cursor: pointer;

box-shadow: 0 0.2em 0.8em rgba(0, 0, 0, 0.1);
}

.features .features-list li:hover {
    font-size: 1.25em;
    margin: 0 -1em;
    transition-duration: 0.1s!important;
    transition-delay: 0s!important;
}
.features .features-list li:before {
    content: counter(item);
    counter-increment: item;
    color: #fff;
    font-weight: bold;
    display: inline-block;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: var(--c-blue-g2);
    margin-right: 0.5em;
    text-align: center;
    line-height: 2;
    flex-shrink: 0;
    /* border: 1px solid var(--c-blue2); */
    font-size: 1.5em;
}
.features .features-list li h3 {
    margin:0;
}

@media screen and (min-width: 768px) {
    .features { 
        position: relative;
        display: flex;
    }
    .features .img-wrap  {
        flex:1;
        width:50%;
    }
    .features .img-wrap .swiper-container {
       position:sticky;
       top:0;
       flex:1;
       left: 0;
       z-index: 1;
    } 

    .features .txt-wrap { 
        flex:1; 
        width:50%;
    } 
    
}
@media screen and (min-width: 768px) {  
    .packages hgroup {
        text-align: center;
    }
}
.swiper-container {
    position: relative;
}
.packages-list {
    padding:2em 0 0 0;
}
.packages-list .swiper-slide {
    width: 80%;
    padding-top:1em;
}
@media screen and (min-width: 768px) {
    .packages-list .swiper-slide {
        width: 30%;
    }
}
.packages-list .swiper-slide .item {
    width: 100%;
}
.packages-list .swiper-wrapper {
    padding:1em;
}

.packages-list .items {
    padding: 1em 1em 4em 1em;
    display: flex;
    flex-direction: column;
    gap:3em;
}

.packages-list .item-wrap {
    box-shadow: 0 0 1em rgba(0,0,0,0.2);
    border-radius: 0.5em;
    position: relative; 
    padding:0em 1em 1em 1em;
    
}
/*@media screen and (min-width:768px) {*/

    .packages-list .items-wrap {
        width:100vw; 
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
        overflow-y: visible;
    }
.packages-list .items {

    display: flex
    ;
            flex-direction: row;
            gap: 1em;
            padding: 4em 1.5em 4em 1.5em ;
            width: 90em;
            margin:0;

}

.packages-list .item {
    flex: 1;

    display: flex
;
    align-items: stretch;
}
    
.packages-list .item-wrap {
    transition-duration: 0.1s;
    transition-timing-function: ease-out;
    background-color: #fff; 
}
@media screen and (min-width: 768px) {
    .packages-list .item-wrap:hover {
        transform: scale(1.05) translateY(-1em);
    }
}

/*}*/

@media screen and (min-width:1024px) {

    .packages-list .items {
        padding: 4em 2em 4em 2em ;
        width: 90em;
    }
}


@media screen and (min-width:82em) {

    .packages-list .items {
        margin: auto; 
    }
}
.packages-list .item h3 {
    color:var(--c-blue1);
 
}

.packages-list .item h3 a {
    color:var(--c-blue1);
}
.packages-list .item .tag{
 background: var(--c-blue-g1);
 color:#fff;
 padding:0.2em 1em; 
 display: block;
 margin:auto; 
 text-align: center;
 min-width: 6em;
position: absolute;
top:0;
left:50%;
transform: translate(-50%,-50%);
font-size: 1.2em;
}

.packages-list .item:nth-child(1) .tag{
    /* darker bronze gradientbackground color*/
    background: linear-gradient(15deg, #142850, #14365f, #13476f, #125d80, #107792, #0d96a5, #09b8b4, #04ccb1);
    text-shadow: 0 0 0.1em rgba(0,0,0,0.2);
}
.packages-list .item:nth-child(2) .tag{
    /* darker  silver gradient background color*/
    background: radial-gradient(circle at 20% 0%, #ff8b17, #e6751f, #cc6021, #b24d22, #963b1f, #7b2b1c, #601d16, #45100e);
    text-shadow: 0 0 0.1em rgba(0,0,0,0.2);
}
.packages-list .item:nth-child(3) .tag{
    /*darker  gold gradient background color*/
    background: linear-gradient(150deg, #bce4dd, #9fc8c7, #84acb1, #6b909b, #537686, #3d5c72, #28435e, #142b4e);
    text-shadow: 0 0 0.1em rgba(0,0,0,0.2);
}
.packages-list .item:nth-child(4) .tag{
    /* darker  white gold gradient background color*/
    background: linear-gradient(330deg, #5e4536, #7b583d, #976b42, #b38046, #ce9748, #e7af49, #fbca5d, #ffe8a9);
    text-shadow: 0 0 0.1em rgba(0,0,0,0.2);
}
.packages-list .item figure,
.packages-list .item figure img {
margin:0;
display:block;
}
.packages-list .item figure {
    margin: 0 -1em;
    border-radius: 0.5em 0.5em 0 0;
    overflow: hidden;
}
.packages-list .item figure img {
width:100%;
}
.packages-list .item .product-name {
    margin:1em auto;
}
.packages-list .item .price {
    display: flex;
    flex-direction: column;
    gap:0em;
    text-align: center;
}
.packages-list .item .price .sale {
    font-size:1.5em;
    font-weight: bold;
    color:var(--c-gold);
}
.packages-list .item .price .regular {
    font-size:1em;
    font-weight: bold;
    text-decoration: line-through;
    color:#888;
}
.packages-list .item .focus-items,
.packages-list .item .diceases,
.packages-list .item .body-parts {
    text-align: left;
    margin-top:1em;
    }

    .packages-list .item .focus-items h4,
    .packages-list .item .diceases h4,
.packages-list .item .body-parts h4{
    margin:1em 0;
    text-align: left;
    font-size: 120%;
}
.packages-list .item .dicease {
    margin:1em 0;
    font-size: 1.25em;
    color:#666;

    display: flex
;
    align-items: center;
    justify-content: center;
}

.packages-list .item>hgroup {

    display: flex;
    margin: 2em auto 1em auto;
    align-items: center;
    justify-content: center;
}
.packages-list .item ul {
    display: grid;
        grid-template-columns:  repeat(2, 1fr);
      
      
        padding: 0;
}


.packages-list .item .plus-items ul {
    grid-template-columns:  repeat(1, 1fr);
    gap:0.5em;
}
.packages-list .item ul li {
    list-style:none; 

    position: relative;
    line-height: 1.25;
}
.packages-list .item .plus-items ul li:not(.highlight)  {
    display: none;
}

.packages-list .item .plus-items ul li:not(.highlight) {
    opacity: 0.4;
}


.packages-list .item .focus-items ul li span {
    display: inline-block;
    padding: 0.25em 1em 0.25em 1.2em;
    border-radius: 1em;

    position: relative;
}

.packages-list .item .focus-items ul li span:before {
    display:block;
  content: "✓";
  color:var(--c-blue1);
  font-size:1.25em;
  line-height: 1;

  position: absolute;
  top: 0.2em;
  left: 0em;
}

.packages-list .item .plus-items ul li span {
    display: inline-block;
    padding: 0.5em 1em 0.5em 2.25em;
    border-radius: 1em;

    position: relative;
}

.packages-list .item .plus-items ul li span:before {
    display:block;
    content: "\f068";
    font-family: "Font Awesome 6 Free";
    color:var(--c-blue1);
    font-size:1em;
    line-height: 1;
    position: absolute;
    top: 0.45em;
    left: 0.45em;
    border-radius: 100%;
    border: 1px solid var(--c-blue1);
    width: 1.25em;
    height: 1.25em;
    line-height: 1;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

.packages-list .item .plus-items ul li:is(.highlight) span:before {

    content: "\f067";
    font-family: "Font Awesome 6 Free";
    background-color:var(--c-blue1);
    color:#fff;
    line-height: 1;
}
.packages-list .item ul li .hint {
    position: absolute;
    bottom: calc(100% + 0.25em);
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--c-blue1);
    color: #fff;
    font-size: 0.75em;
    padding: 0.4em 0.6em;
    border-radius: 0.5em;
    width: 12.2em;
}

.packages-list .item ul li .hint:after {
    content: '';
    position: absolute;
    /* a triangle pointing down */
    border-width: 0.5em;
    border-style: solid;
    border-color: var(--c-blue1) transparent transparent transparent;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}
.packages-list .item ul li.highlight span {
    background-color: var(--c-blue3-o2);
}
 
.packages-list .item ul li a span {
    cursor: pointer;
    transition-duration: 0.1s;
    transition-timing-function: ease-out;
}
.packages-list .item ul li.highlight a:hover span {
    background: var(--c-blue-g1);
    color:#fff;
}

.packages-list .item ul li.highlight a:hover span:before {
    color:#fff;
}
.packages-list .item  .product-name {
    text-align: center;
    font-size:1.25em;
    font-weight: bold;
    color:var(--c-blue1);
    margin-bottom: 0.5em;
}


.packages-list .item  hgroup h3 a:after,
.packages-list .item  .product-name a:after,
.packages-list .item .cta a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    font-weight: 900;
    font-size: 0.5em;
    margin-left: 0.5em;
}
.packages-list .item .cta a:after {
    font-size:0.75em;
}
.packages-list .item .cta {
    text-align: center;
    margin-top: 1.5em;
} 

.packages-list .item .cta a {
    display: block;
    background:var(--c-blue-g1);
    color:#fff!important;
    border:none;
}
.how-it-work {
    padding:1em 0 4em 0;
    background-color: var(--c-blue3-o2);
}

.how-it-work ol {
    display: flex;
    flex-direction: column;
    gap:1em;
    margin:0;
    padding:0;
    counter-reset: item;
}

@media screen and (min-width: 768px) {
    
    .how-it-work ol {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        
    }
    }
    @media screen and (min-width: 1024px) {
        
    .how-it-work ol {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        
    }
    }
.how-it-work li {
    background-color: #fff;
    padding:1.5em;
    border-radius: 0.5em;
    list-style: none;
}
.how-it-work li hgroup {
    display: flex;
    align-items: center;
    gap:0.5em;
    text-align: left;
}
.how-it-work li hgroup:before {
    content: counter(item);
    counter-increment: item;
    color: #fff;
    font-weight: bold;
    display: inline-block;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    background: var(--c-blue-g1);
    margin-right: 0.25em;
    text-align: center;
    line-height: 2;
    flex-shrink: 0;
    font-size: 1.25em;
}

.how-it-work li hgroup h3 {
    margin:0;
}
.how-it-work li {
    margin-bottom: 0;
}

.how-it-work li p {
    margin-bottom: 0;
}
.how-it-work .cta {
    margin-top:2em;
    text-align: center;
}
.features-detail { 
    padding:1.5em 0; 
}
    .features-detail {
        padding:4em 0;

    
    }
    .features-detail .wrap {
        display: flex;
        flex-direction: column;
        gap:4em;
    }

    
@media screen and (min-width: 768px) {
    
    .features-detail .wrap {
        flex-direction: row;
        gap:2em;
    }

    .features-detail .wrap>* {
        flex:1;
    }
    .features-detail .left {
       position: relative;
    }

    .features-detail .left .sticky {
        position: sticky;
        top:8em;
        flex: 1;
        left: 0;
        z-index: 1;
     }
    }

     .features-detail .left .sticky .cta {
        margin-top: 2em; 
        text-align: center;

     }
    .features-detail .left hgroup h2{
        margin:0;
    }
    .features-detail  .item hgroup h3 {
        margin-top:0;
    }

.features-detail .items { 
    display: flex;
    flex-direction: column;
    gap:4em;
}

.features-detail .item,
.features-detail .item hgroup {
    text-align: left;
}
.features-detail .item .txt-wrap {
margin-top:1em;
}
.features-detail .item .cta {
    margin:2em auto; 
}
.features-detail .item .cta a {

}
.features-detail .item ul {
    margin: 0;
    padding: 0; 
        display: grid;
        grid-template-columns: repeat(2, 1fr);
      gap:0.5em;
    
}

.features-detail .item ul li {
    list-style:none; 
}
.features-detail .item .subhead {
    color:var(--c-blue1);
    font-weight: 700;
    font-size:1.25em;
    margin:1em auto;
}
.features-detail .item ul li {
    display: flex;
    align-items: start;
    justify-content: start;
    gap: 0.25em;  
}
.features-detail .item  ul li:before {
    display:block;
  content: "✓";
  color:var(--c-blue1);
  font-size:1.25em;
  line-height: 1.25;
}

.related-products {
    padding:2em 0 4em 0;
}
.related-products .items {
    display:grid;
    grid-template-columns: repeat(1, 1fr);
    gap:1em;
}
.related-products .items figure,
.related-products .items figure img {
    margin:0;
    display: block;
    width: 100%;
}
@media screen and (min-width: 768px) {
    .related-products .items .item {
        transition-duration: 0.1s;
        transition-timing-function: ease-out;
    }
.related-products .items .item:hover {
    transform: scale(1.1);
}
}
.related-products .items .item hgroup {
    text-align: left;
}
.related-products .items .item hgroup h3 {
    font-size: 120%;
    margin:0.75em 0 0.25em 0;
}
.related-products .items .item .price span {
  
}
.related-products .items .item .price span.sale {
    font-size:1.25em;
    font-weight: bold;
    color:var(--c-gold);
}
.related-products .items .item .price span.regular {
    font-size:1em;
    font-weight: bold;
    text-decoration: line-through;
    color:#888;
}


@media screen and (min-width: 768px) {
    .related-products .items {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (min-width: 1024px) {
    .related-products .items {
        grid-template-columns: repeat(4, 1fr);
    }
}

.popup-container.features-detail  {
    padding:0;
}
.popup-container.features-detail .popup  {
    max-width:48em;
    max-height:80dvh;
    overflow-y:auto;
    padding: 1em;
    text-align: left;
}

@media screen and (min-width: 768px) {
    .popup-container.features-detail .popup  {
        padding: 1.5em;
    }
}

@media screen and (min-width: 1024px) {
    .popup-container.features-detail .popup  {
        padding: 2em;
    }
}

.popup-container.features-detail .popup img  {
    width:100%;
    margin:0;
    display: block;
}