.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;
}  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;
}
}
.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 .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; 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;
} .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{ 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{ 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{ 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{ 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; 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;
}