/*
 Theme Name:     Rumis Child
 Theme URI:      https://dsherpass.com/
 Description:    Child Theme for Cabtours
 Author:         @brian.raw
 Author URI:     https://www.brianraw.com
 Template:       rumis
 Text Domain:    rumischild
 Version:        1.0.0
*/




/*=============== GOOGLE FONTS ===============*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500&display=swap");

/*=============== VARIABLES CSS ===============*/ 

/*==================== VARIABLES CSS ====================*/
:root {

    /*========== Colors ==========*/
    /* Change favorite color */
    --hue :30;
    --hue-color: 350; /*Purple 250 - Green 142 - Blue 230 - Pink 340*/
    --hue-color-alt : 246;
    
    --menu-height: 61px;
    
    
    --second-color: #282649;    /*hsl(246deg 44% 24%);*/
    /*121 100 19  --> color original */
    /*121 100 29  --> color en light*/
    
    /* HSL color mode */  
    /*--first-color: hsl(var(--hue-color), 99%, 59%);*/
    --first-color: hsl(var(--hue-color), 16%, 50%);
    
    --first-color-second: hsl(var(--hue-color), 100%, 48%);

    --second-color: hsl(var(--hue-color), 100%, 19%); 

    
    --first-color-alt: hsl(var(--hue-color), 57%, 53%);
    --first-color-lighter: hsl(var(--hue-color), 92%, 85%);
    --title-color: hsl(var(--hue-color), 8%, 15%);
    --text-color: hsl(var(--hue-color), 8%, 45%);
    --text-color-light: hsl(var(--hue-color), 8%, 65%);
    --input-color: hsl(var(--hue-color), 66%, 96%);
/*    --body-color: hsl(var(--hue-color), 60%, 99%); */


    --body-color-dark: hsl(var(--hue-color-alt),44%, 14%);

    --body-color: #fff;
    /*--body-color: hsl(var(--hue-color), 99%, 99%);*/
    --container-color: hsl(var(--hue-color), 8%, 18%);
    --scroll-bar-color: hsl(var(--hue-color), 12%, 90%);
    --scroll-thumb-color: hsl(var(--hue-color), 12%, 75%);
    
/*    
    --first-color: hsl(var(--hue-color), 69%, 61%);
    --first-color-second: hsl(var(--hue-color), 69%, 61%);
    --first-color-alt: hsl(var(--hue-color), 57%, 53%);
    --first-color-lighter: hsl(var(--hue-color), 92%, 85%);
    --title-color: hsl(var(--hue-color), 8%, 15%);
    --text-color: hsl(var(--hue-color), 8%, 45%);
    --text-color-light: hsl(var(--hue-color), 8%, 65%);
    --input-color: hsl(var(--hue-color), 70%, 96%);
    --body-color: hsl(var(--hue-color), 60%, 99%);
    --container-color: #fff;
    --scroll-bar-color: hsl(var(--hue-color), 12%, 90%);
    --scroll-thumb-color: hsl(var(--hue-color), 12%, 80%);
*/    
    
    
    --animation-smooth: 0.6s cubic-bezier(.75, 0, .25, 1);
    --animation-graphic: 0.3s ease-in-out;
    --animation-primary: 0.4s cubic-bezier(.75, 0, .25, 1);
    
    
    
    /*========== Social Colors =========*/
    --fb-color:#2d88ff;
    --yt-color:#f00;
    --ta-color:#34e0a1;
    --wa-color:#42cba5;
    

    /*========== Font and typography ==========*/
    --body-font: 'Poppins', sans-serif;
    --brand-font: 'nexa-slab', var(--body-font); 

    /* .5rem = 8px, 1rem = 16px, 1.5rem = 24px ... */
    --big-font-size: 2rem;
    --h1-font-size: 1.5rem;
    --h2-font-size: 1.25rem;
    --h3-font-size: 1.25rem;
    --normal-font-size: .938rem;
    --small-font-size: .813rem;
    --smaller-font-size: .813rem;

    /*========== Font weight ==========*/
    --font-medium: 500;
    --font-semi-bold: 600;

    /*========== Margenes Bottom ==========*/
    /* .25rem = 4px, .5rem = 8px, .75rem = 12px ... */
    --mb-0-25: .25rem;
    --mb-0-5: .5rem;
    --mb-0-75: .75rem;
    --mb-1: 1rem;
    --mb-1-5: 1.5rem;
    --mb-2: 2rem;
    --mb-2-5: 2.5rem;
    --mb-3: 3rem;

    /*========== z index ==========*/
    --z-tooltip: 10;
    --z-fixed: 100;
    --z-modal: 1000;
}

/* Font size for large devices */
@media screen and (min-width: 968px) {
    :root {
        /*--big-font-size: 3rem;*/
        --h1-font-size: 2.25rem;
        --h2-font-size: 1.5rem;
        --h3-font-size: 1.25rem;
        --normal-font-size: 1rem;
        --small-font-size: .875rem;
    /*    --smaller-font-size: .813rem;*/
    }
}


@media screen and (min-width: 995px) {
    :root {
        --big-font-size: 3rem;
    }
}


/*=============== BASE ===============*/
* {
	box-sizing:border-box;
	padding:0;
	margin:0;
}

html {
	scroll-behavior: smooth;
}

body{
	margin: 0;
	font-family: var(--body-font);
    font-size: var(--normal-font-size);
    background-color: var(--body-color);
    color: var(--text-color);
}

body.show__menu {
    overflow:hidden;
}






main {
    transition: transform .3s;
    margin-top: var(--menu-height);
}

main.page__cart,
main.page__checkout {
    margin-top:0;
}


main.body__show-menu {

}


body.body__show-menu {
    overflow: hidden;
}




h1,h2,h3,h4, .h2 {
	color: var(--title-color);
    font-weight: var(--font-semi-bold);
}

.h2 {
    font-size:var(--h2-font-size);
}

ul {
	list-style: none;
	margin:0;
}

a {
	text-decoration: none;
}

img {
	max-width:100%;
	height:auto;
}

.texarea__wrap { 
    padding: .75rem 1rem;
    border: 1px solid #eaeaea;
    border-radius: 0.5rem;
}


.textarea__label {
    font-size: var(--smaller-font-size);
    font-weight: 500;
}


.texarea__wrap:has(textarea:focus-visible) {
    outline: -webkit-focus-ring-color auto 1px;
}

.texarea__wrap:has(textarea:focus-visible) .textarea__label {
    color:var(--title-color);
}



textarea {
    resize:vertical;
    border: none;
    outline: none;
    padding: 0.25rem 0.5rem 0.5rem 0;
    font-size: var(--normal-font-size);
    font-family: var(--body-font);
    background-color: transparent;
}

figure {
    margin:0;
}


p, li {
    line-height:1.5;
}

strong {
    font-weight:500;
}

a,
a:visited {
	color: var(--title-color);
}

select::-ms-expand {
    display: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-position: calc(100% - 0.5rem) center;
    background-size: 0.875rem;
    background-repeat: no-repeat;
    padding: 0.5rem;
    padding-right: 2rem; /* Ajusta el espacio para la flecha */
    cursor: pointer;
    border-radius: 0.125rem;
}

select {
    background-image: url(https://rumis.pe/wp-content/themes/rumis-child/assets/chevron-down.svg);
}

video {
  outline: none;
  background-color:var(--body-color);
}
        
video::-webkit-media-controls {
  opacity: 0;
  visibility:hidden;
}
        
video[autoplay] {
  display: block;
  cursor:pointer;
}
        
ul.list__icon li,
.type__rock ul li,
.toggle__content ul li,
.workshop__target ul li {
    margin-left: 1.5rem; 
    list-style-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyNS43NiAyMTguMDkiPjxkZWZzPjxzdHlsZT4uZHtmaWxsOiM3MDcwNzA7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJhIi8+PGcgaWQ9ImIiPjxnIGlkPSJjIj48Zz48cGF0aCBjbGFzcz0iZCIgZD0iTTcwLjI5LDIxOC4wOWMtMTYuODYtNi43Mi0yNy4xOC0xNS45OC0zNC4wNy0yNy4yOS02LjA5LTEwLjAxLTEzLjk1LTE5LjU4LTIwLjg1LTI5LjQtMS4yMS0xLjcyLTIuNDUtMy43OC0yLjEtNS41Niw0Ljk4LTI1LjU2LDEwLjIyLTUxLjA5LDE1LjYyLTc3LjcyLDguNjYsNS4wMiwxNi4zOCw5LjQyLDIzLjg5LDEzLjk2LDEuMTIsLjY4LDEuNTcsMi4wMywxLjcyLDMuMTEsNS4zNyw0MC4zLDEwLjY3LDgwLjYsMTUuOTYsMTIwLjkxLC4wOCwuNi0uMSwxLjIyLS4xNywyWiIvPjxwYXRoIGNsYXNzPSJkIiBkPSJNMTI1LjQ4LDY4LjI3Yy0xNi4zNSw0Ny4xOC0zMi4zMyw5My4yNi00OC4zLDEzOS4zNGwtMS40OCwuMDJjLS42Mi00LjI1LTEuMjktOC41LTEuODYtMTIuNzUtNC4yOS0zMi4xNy04LjQ2LTY0LjM1LTEyLjk5LTk2LjUtLjU4LTQuMTQsMS4wOC02LjQsNi44OC04LjQ4LDE4LjktNi43NiwzNy40MS0xMy45Niw1Ny43NS0yMS42MloiLz48cGF0aCBjbGFzcz0iZCIgZD0iTTEyNS43Niw2My42OWMtMjEuNjgsOC4xNi00Mi44NywxNi4xNC02NS40NCwyNC42NCwuODYtMzAuMDEsMS43LTU5LjAxLDIuNTMtODguMDJsMS40OS0uM2MyMC4zNiwyMS4xMSw0MC43MSw0Mi4yMSw2MS40Miw2My42OVoiLz48cGF0aCBjbGFzcz0iZCIgZD0iTTI0Ljk1LDcwLjdjLTguNi00Ljk2LTE2LjQ0LTkuNDgtMjQuODItMTQuMzJDMTYuODIsMzkuNDMsMzMuMjksMjIuNjksNDkuNzcsNS45NmwxLjMyLC4zMWMtOC42LDIxLjIxLTE3LjIsNDIuNDItMjYuMTMsNjQuNDRaIi8+PHBhdGggY2xhc3M9ImQiIGQ9Ik01NS4wMywxMi4xNlY4Ni4xOGwtMi4xMywuNTljLTcuMDYtNC4wNS0xNC4yLTguMDUtMjEuMDktMTIuMjItLjk4LS41OS0xLjI3LTIuMTMtLjktMy4wNyw3LjkyLTE5LjcyLDE1Ljk5LTM5LjQxLDI0LjExLTU5LjMyWiIvPjxwYXRoIGNsYXNzPSJkIiBkPSJNMCw2Mi4yYzEuNTksLjQ0LDEuODYsLjQ3LDIuMDUsLjU3cTIxLjU0LDExLjQ3LDE3Ljg0LDI5LjIzYy0yLjk1LDE0LjM0LTUuNzksMjguNjktMTAuMzEsNDMuMDZDNi40MSwxMTAuOTIsMy4yMyw4Ni43OCwwLDYyLjJaIi8+PC9nPjwvZz48L2c+PC9zdmc+);
}



/******* Inputs Type Google *******/
#frm-contact .form__div,
#frm-claims .form__div,
#commentform .form__div {
    position:relative;
    height:3rem; 
}

#frm-contact .form__input,
#frm-claims .form__input,
#commentform .form__input {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:1px solid #eaeaea;
    border-radius:.5rem;
    outline:none;
    padding:0 1rem;
    background:none;
    z-index:1;
    font-size: var(--normal-font-size);
    font-family: var(--body-font);
    color: var(--title-color); 
}

#frm-contact .form__label,
#frm-claims .form__label,
#commentform .form__label {
    position:absolute;
    left:1rem;
    top:1rem;
    padding:0 .25rem;
    background-color:#fff;
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    font-size:var(--normal-font-size);
    line-height: 1;
    z-index: 2;
    pointer-events: none;
}

#frm-contact .form__input:focus + .form__label,
#frm-claims .form__input:focus + .form__label,
#commentform .form__input:focus + .form__label {
    top:-0.35rem; 
    left:0.8rem;
    color:var(--title-color);
    font-size:var(--smaller-font-size);
    font-weight:500; 
    z-index:10;
    pointer-events: auto;
}

#frm-contact .form__input:not(:placeholder-shown).form__input:not(:focus) +  .form__label,
#frm-claims .form__input:not(:placeholder-shown).form__input:not(:focus) +  .form__label,
#commentform .form__input:not(:placeholder-shown).form__input:not(:focus) +  .form__label {
    top:-0.35rem;
    left:0.8rem;
    font-size:var(--smaller-font-size);
    font-weight:500;
    z-index:10;
}

#frm-contact .form__input:focus,
#frm-claims .form__input:focus,
#commentform .form__input:focus {
    outline: -webkit-focus-ring-color auto 1px; 
}

/*Form Terms + check verify*/
.form__terms {
    display: flex; 
    gap: 0.25rem;
}

.form__terms input {
    appearance: none;
    width:1rem;
    height:1rem;
    border:1px solid var(--text-color);
    border-radius:.25rem;
    display: flex; 
    align-items: center;
    justify-content: center;
    cursor:pointer;
    background-color:#fff;
    -webkit-transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    transition: all .25s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);
    margin-top: 0.25rem;
}

.form__terms input:checked {
    background-color:var(--first-color);
    border:1px solid var(--first-color);
}

.form__terms input:before {
    content:"✔";
    color:#fff;
    font-size:.75rem;
    opacity:0;
}

.form__terms input:checked:before {
    opacity:1;
}

.form__terms a {
    color: var(--text-color);
    text-decoration: underline;
    transition:.3s ease;
}

.form__terms a:hover {
    color: var(--title-color);
} 

.grecaptcha-badge {
    display: none!important;
    opacity: 0;
}

/******* Inputs Type Google *******/





/*========== SCROLL BAR ==========*/
::-webkit-scrollbar {
    width: 0.6rem;
    height: 0.6rem;
    background-color:var(--scroll-bar-color);
    border-radius: .5rem;
}

::-webkit-scrollbar-thumb {
    background-color:var(--scroll-thumb-color);
    border-radius: .5rem;
}

::-webkit-scrollbar-thumb:hover {
    background-color:var(--text-color-light);
}

.nav__menu::-webkit-scrollbar {
    width:.25rem;
}









/*==================== LAYOUT ====================*/
.container {
	max-width: 1200px;
    margin-left: var(--mb-1-5);
    margin-right: var(--mb-1-5);
}

.section {
	padding: 2rem 0 4rem;
}

.section__alt {
    padding:4rem 0;
}

.grid,
.comment-respond,
.comment-form {
	display: grid;
    gap: 1.5rem;
}


.flex {
    display:flex;
    gap:1.5rem;
}

.flex-col {
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}

.button, .button:visited,
input[type="button"], 
input[type="reset"], 
input[type="submit"] {
    color: var(--body-color);
    background-color: var(--title-color);
    padding: calc(1rem - 2px) 2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    transition: all .3s ease-in-out;
    border:2px solid var(--title-color);
    font-weight: var(--font-medium);
    user-select: none;
}

.button__whith__icon {
    display: flex;
    align-items: center; 
    position: relative;
    justify-content: flex-end;
}

.button__whith__icon .button {
    padding-right: calc(2rem + 20px); 
}

.button__whith__icon .button__icon {
    position: absolute;
    fill: #fff;
    right: 1.5rem;
    pointer-events: none;
    transition: .3s ease;
}

.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    color: var(--title-color);
    background-color: var(--body-color);
    border-color:var(--title-color);
}

.woocommerce-notices-wrapper .button,
.woocommerce-notices-wrapper .button:visited { 
    padding: 0;
    color: var(--title-color);
    background-color: transparent;
    width: fit-content;
    border: none;
    margin-bottom: 0.5rem;
}

.woocommerce-notices-wrapper .button:hover {
    text-decoration: underline;
}


header#header{
    width: 100%;
    top: 0; 
    left: 0;
    background-color: rgba(255,255,255,1);
    position:fixed;
    box-shadow: 2px 3px 7px rgb(0 0 0 / 0%);
    transition: transform 0.6s cubic-bezier(.6, 0, .4, 1), box-shadow 0.3s ease;
    z-index:99;
}

#header.scroll-down {
    transform: translateY(-102%) rotate(0.001deg);
}

#header.scroll-up {
    box-shadow: 2px 3px 7px rgb(0 0 0 / 8%);
}


/* For medium devices */

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

}


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

	.container {
		margin-left:auto;
		margin-right:auto;
	}
	
    .container__full {
        width: 80%; 
        max-width: 960px;
        margin: auto;
    }
	
	body {
		margin:0;
	}
	
	.section {
		padding: 6rem 0 2rem;
	}
	
	.section__alt {
        padding:4rem 0;
    } 
	
	.header#header.body__show-menu {

	}
	
	.container {
        width: 80%;
        max-width: 1080px;
    }
	
	.footer__container {
		padding:0 1rem;
	}
	
	.header {
		padding:0rem;
	}

}

/*=============== GLOBAL COMPONENTS ===============*/




/************* FLICKITY SLIDER ****************/
:root {
    --animation-primary: .5s cubic-bezier(.3, 1, .3, 1);
}

.flickity-slider-row {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

.flickity__carousel--wrap {
    display: block;
    width: 100%;
    order: 2;
    position: relative;
}

/* ---------- Slider Row - 3 Col -------------- */

:root {
    --gap-padding: clamp(1em, 4vw, 2.5em);
}

.flickity-slider-col-3 .flickity__carousel--wrap {
   overflow: hidden;
   border-radius: 0.5em;
}

.flickity-slider-col-3 ul {
   display: flex;
   --gap: var(--gap-padding);
   --columns: 1;
} 



@media (min-width: 720px){
   .flickity-slider-col-3 .flickity__carousel--wrap {
      overflow: visible;
      border-radius: unset;
   }
   
   .flickity-slider-col-3 ul {
      --columns: 2; 
   }
   
}

@media (min-width: 1024px) {
    .flickity-slider-col-3 ul {
      --columns: 3; 
   }
   
   .flickity-slider-col-3 .flickity__carousel--wrap {
      overflow: hidden;
   }
}

.flickity-slider-col-3 ul li.related__item {
   width: calc((100% / var(--columns)) - (var(--gap) * ((var(--columns) - 1) / var(--columns))));
   margin-right: var(--gap);
   flex-shrink: 0; 
}

.flickity-slider-col-3 ul li.related__item:last-child {
   margin-right: 0;
}

/* Turn Flickity ON */
.flickity-slider-col-3 .flickity-carousel::after {
   content: "flickity";
   display: none;
}

/* Remove Flex from .row for Flickity */
.flickity-slider-col-3 .flickity-carousel {
   display: block;
}

.flickity-slider-col-3 .flickity-viewport {
   border-radius: var(--border-radius-medium);
   overflow: visible;
}



/*********arrows slider*********/

button.btn-arrow {
    border: 0;
    outline: 0;
    padding: 0;
    transform: rotate(0.001deg) scale(1);
    transition: var(--animation-primary);
    opacity: 1;
}
.btn {
    cursor: pointer;
    border: 0;
    background: transparent;
    padding: 0;
    display: none;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    outline: 0;
    border-radius: 50%;
    white-space: nowrap;
}


@media (min-width: 720px){
    .btn {
        display:flex;
    }
}


.flickity-slider-col-3 .btn-next {
    position: absolute;
    right: 0;
    top: 30%;
    transform: translate(50%, -50%) rotate(0.001deg) scale(1);
}


.btn .arrow.first {
    transform: scale(0) rotate(0.001deg);
    transform-origin: left;
}
.btn .arrow {
    transition: transform var(--animation-primary);
}

.arrow {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 3.75em;
    height: 3.75em;
    border-radius: 50%;
    transform: rotate(0.001deg);
}


.btn .arrow.second {
    position: absolute;
    z-index: 2;
    right: 0;
    transform: scale(1) rotate(0.001deg);
    transform-origin: right;
}


.btn .arrow.first .arrow-fill {
    background: var(--color-secondary);
    border: 0;
}
.arrow .arrow-fill {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--body-color-dark);
}

button.btn-arrow.btn-prev .arrow .arrow-content {
    transform: scaleX(-1) rotate(-45deg);
}

.btn .arrow.first .arrow-content {
    color: var(--color-light);
}

.arrow .arrow-content {
    width: 1.4em;
    position: relative;
    display: flex;
    color: var(--color-light);
    transform: rotate(0.001deg);
    transition: transform var(--animation-primary);
}


.arrow .arrow-content svg :is(polyline, line, path) {
    stroke: currentColor;
    stroke-width: 0.075em;
}


.btn:hover .arrow.first {
    transform: scale(1) rotate(0.001deg);
}

.btn:hover .arrow.second {
    transform: scale(0) rotate(0.001deg);
}

button.btn-arrow.btn-next .arrow .arrow-content {
    transform: rotate(-45deg);
}

.flickity-slider-col-3 .btn-prev {
    position: absolute;
    left: 0;
    top: 30%;
    transform: translate(-50%, -50%) rotate(0.001deg) scale(1);
}


.flickity-slider-col-3 .btn-prev[disabled] {
    transform: translate(-50%, -50%) rotate(0.001deg) scale(0);
}

.flickity-slider-col-3 .btn-next[disabled] {
    transform: translate(50%, -50%) rotate(0.001deg) scale(0);
}



/************ FANCY SLIDER ************/
.carousel {
    display: grid;
    gap: 1.5rem; 
}

.carousel .carousel__media {
    width:100%;
    aspect-ratio:1;
    position:relative;
    margin:auto;
    max-height: 30rem;
}

.carousel .carousel__images {
    position:relative;
    height:100%;
    cursor:grab;
}

.carousel .carousel__image {
    position:absolute;
    top:0;
    left:0; 
    height:100%;
    pointer-events: none;
    transition-timing-function: ease-in-out;
    transition-duration: calc( ( ( (var(--order) - 1) * 1.5) + 5 ) * 0.1s );
    filter: blur(calc((var(--order) - 2) * 10px));
    z-index: calc( (var(--count) - var(--order)) * 2);
    transform:  translateX( calc( (var(--order) - 2 ) * -40% ) ) 
                translateY( calc( ( var(--order) - 2) * 17.5%)) 
                scale( calc( 1.2 - ( 0.2 * (var(--order) - 1 ))) );
    opacity: calc( 1.25 - ( 0.3 * (var(--order) - 1 ))); 
}


.carousel.count-5 .carousel__image {
    opacity: calc( 1.20 - ( 0.3 * (var(--order) - 1 )));
    transform:  translateX( calc( (var(--order) - 2 ) * -52.5% ) )
                translateY( calc( ( var(--order) - 2) * 17.5%))
                scale( calc( 1.25 - ( 0.25 * (var(--order) - 1 ))) );
}




.carousel.prev .carousel__image {
    transition: .5s ease-out;
    transition-duration: calc( ( ( (var(--order) - 1) * 1.5) + 3 ) * 0.1s );
}

.carousel .carousel__image:nth-child(1) {
    filter: blur(30px) brightness(1.25);
    z-index: var(--count)!important;
    transform: translateX(100%) translateY(-5%) scale(1.5)!important;
    opacity: calc(1.75 * 0.1);
}

.carousel.count-1 .carousel__image:nth-child(1) {
    filter: none;
    z-index: initial;
    transform: none!important;
    opacity: 1;
}

.carousel.count-1 .carousel__media {
    animation: fadeIn 2.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
}


.carousel .carousel__image img {
    height:100%;
    object-fit:contain; 
    user-select:none;
}

.carousel .arrows {
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); 
    width:100%;
    justify-content: space-between;
    z-index:9;
}

.carousel.count-1 .arrows {
    display:none;
}

.carousel button {
    width: 2.25rem;
    aspect-ratio:1;
    border:1.5px solid var(--text-color-light);
    display:grid;
    place-content:center;
    transition:.3s ease;
    border-radius:50%;
    background-color:transparent;
    padding:0;
    cursor:pointer;
    color:var(--text-color-light);
}

.carousel.arrow:hover {
    border-color: var(--title-color);
    color: var(--title-color);
}

.carousel .carousel__info {
    opacity:0;
    transition: opacity .3s ease-in-out;
    visibility:hidden;
    pointer-events:none;
    position:absolute;
    top:0; 
}

.carousel.count-1 .carousel__info,
.carousel .carousel__info:nth-child(2) { 
    opacity:1;
    visibility:visible;
    pointer-events:auto; 
    position:relative;
}

.carousel .carousel__info .item {
    opacity: 0;
    animation-duration:0.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

.carousel .carousel__info .desc {
    text-wrap:pretty;
    overflow: hidden;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
}

.carousel .more span {
    border-bottom:1px solid currentColor;
}

.carousel.count-1 .carousel__info .item,
.carousel .carousel__info:nth-child(2) .item {
    animation-name: showContentNextY;
}

.carousel.prev .carousel__info:nth-child(2) .item {
    animation-name: showContentPrevY; 
}

.carousel.count-1 .carousel__info .item, 
.carousel .carousel__info:nth-child(2) .item {
        animation-delay: calc(((var(--i) * 2) + 5) * 0.1s);
}


@media screen and (min-width: 450px) {
    .carousel .carousel__info .desc {
        overflow: initial; 
        -webkit-line-clamp: initial;
        text-overflow: initial;
        -webkit-box-orient: initial; 
    }
}

@media screen and (min-width: 767px) {
    .section__home__rocks {
        margin-bottom:3rem;
    }
    
    .carousel {
        grid-template-columns: 2fr 3fr;
        gap: min(5rem, 10%); 
    }
    
    .carousel .carousel__media {
        width:100%;
        aspect-ratio:5/4;
    }
    
    .carousel .carousel__image:nth-child(1) {
        transform: translateX(100%) translateY(-50%) scale(2)!important;
        opacity: calc(2.5 * 0.1);
    }
    
    .carousel .carousel__content {
        position:relative;
    }
    
    .carousel .carousel__infos--wrap { 
        position:absolute;
        top:12.5%;
        width:100%;
    }
        
    .carousel .arrows {
        flex-direction: column;
        gap: 1.5rem;
        width:fit-content;
    }
    
    .carousel.count-1 .carousel__info .item,
    .carousel .carousel__info:nth-child(2) .item { 
        animation-name: showContentNextX;    
    }
    
    .carousel.prev .carousel__info:nth-child(2) .item {
        animation-name: showContentPrevX;  
    }
    
    .carousel.next .carousel__info:nth-child(2) .item {
        animation-delay: calc(((var(--i) * 2) + 7) * 0.1s);
    }
}

/************ MODAL VIDEO ************/

.modal__container {
    position: fixed;
    top: 0;
    left: 0;
    background-color: hsla(var(--hue), 18%, 75%, .8);
    width: 100%;
    height: 100vh;
    display: flex;
    overflow: hidden;
    transition: var(--animation-primary);
    z-index: var(--z-modal);
    visibility: hidden;
    opacity: 0;
    justify-content: center;
    flex-direction: column;
    backdrop-filter: blur(8px);
}

.modal__content{
    transition: all .3s;
    transform: scale(.85) translateY(10%);
}

.video__iframe {
    position: relative;
    background-color: #000;
    line-height:0;
}

.video__iframe iframe {
    aspect-ratio:16/9;
    width: 100%;
    height: 100%;
}


/* Show modal */
.show-modal{
  visibility: visible;
  opacity: 1;
}

.show-modal .modal__content{
   transform: scale(1) translateY(0); 
}

.close__video:after, 
.close__video:before {
    content: "";
    display: block;
    width: 45%;
    height: 3px; 
    background-color: #4a4a4a;
    position: absolute;
    left: 50%;
    margin: auto;
    border-radius: 5px;
    top: 50%;
}

.close__video {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    transition: .15s opacity ease-out;
    z-index: 999;
}

.close__video:before {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.close__video:after {
    transform: translate(-50%, -50%) rotate(45deg);
}

@media screen and (min-width: 1024px) {
    .modal__content {
        padding: 0 15%;
    }
}


/************ REPLACE VIDEO ************/

.thumbnail__content {
    overflow: hidden;
    width: 100%;
    position: relative;
    line-height:0;
    background-color: var(--body-color-dark);
}

.thumbnail__content img,
.thumbnail__content iframe { 
    aspect-ratio:16/9;
    object-fit:cover;
    width: 100%;
}

.thumbnail__content .button__play {
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity:.5;
    cursor:pointer;
    transition:all .2s ease;
}

.thumbnail__content .button__play:hover {
    opacity:1;
    fill:var(--first-color);
}





/************ FANCY TOGGLE ************/

.toogle__items {
    grid-row-gap: 1.5rem;
    flex-direction: column;
    display: flex;
}

.toggle__types {
    
}

.process__wrap .toogle__items {
    grid-row-gap: 1.5rem; 
}

.toogle__item {
    position: relative;
}

.toggle__types .toogle__item {
    padding-top: 1.5rem;
    padding-bottom: 0.75rem;
}

.toogle__item:last-child .divider-line {
    display:none;
}
        
.toogle__item-top {
    margin-bottom: 0.75rem;
    display: flex;
    gap:1rem;
    cursor: pointer;
    justify-content: space-between;
    
}

.toogle__item-top:hover h3,
.toogle__item-top:hover svg,
.active .toogle__item-top h3,
.active .toogle__item-top svg {
    color:var(--title-color);
    fill:var(--title-color);
}

.active .toogle__item-top .arrow__toogle {
    rotate:-180deg;
}

.services__items .toogle__item-top {
    flex-direction:column;
}

@media screen and (min-width: 650px) {
    .services__items .toogle__item-top {
        flex-direction:row;
    }
    
    .toogle__item-top-left {
        width: calc(100% - 7.5rem);
    }
}
       
.toogle__item-top-left {
    align-items: center;
    display: flex;
    transition: .3s ease-in-out;
    grid-column-gap: 1rem;
    margin-left:-2.5rem;
}

.active .toogle__item-top-left {
    margin-left:0;
}

.icon__rock {
    opacity:0;
    filter:blur(2.5px);
}

.active .icon__rock {
    opacity:1;
    filter:blur(0);
}
        
.toogle__item-top-right {
    height: 1.5rem;
    cursor: pointer;
    font-size: 1.1rem;
    position: relative;
    overflow: hidden;
    min-width: 1.5rem; 
}

.toggle__arrow {
    transition: rotate .3s;
    color: var(--title-color);
}

.toogle__item.active .toggle__arrow {
    rotate: 180deg;  
}
        
.divider-line {
    height: 1px;
    width:100%;
    background-color: rgba(0, 0, 0, .3);
    position: absolute;
    top: auto;
    bottom: 0%;
    left: 0%;
    right: 0%;
}
        
.toogle__item-bottom {
    height: 0;
    overflow: hidden;
    transition: height .25s ease-in-out;
}
         
.toogle__item-top-right div {
    -webkit-transition: -webkit-transform 0.25s var(--animation-graphic);
    -moz-transition: -moz-transform 0.25s var(--animation-graphic);
    -ms-transition: -ms-transform 0.25s var(--animation-graphic);
    -o-transition: -o-transform 0.25s var(--animation-graphic);
    transition: var(--animation-graphic);
}
        
.toogle__item-top-right a,
.toogle__item-top-right a:visited {
    color:var(--first-color);
    transition:.3s ease-in-out;
}

.page__archive .toogle__item-top-right a,
.page__archive .toogle__item-top-right a:visited {
    color: var(--first-color);
}
        
.toogle__item-top-right a:hover, 
.toogle__item-top-right a:visited:hover {
    color:var(--first-color);
}
        
.toogle__item.active .toogle__item-top-right div {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
}
        
@media screen and (min-width: 650px) {
            
    .toogle__item-top {
        flex-direction:row;
        justify-content: space-between;
        align-items: flex-end;
    }
    
    .toogle__item-bottom {
        margin-left:2.25rem;
    }
    
}



.types__wrap {
    display:grid;
}
        
.page__rock h2,
.types__wrap h2 {
    font-size: var(--big-font-size);
}
            
.toogle__item-top h3 {
    display:flex;
    gap:0.5rem;
    color: var(--text-color-light);
}
        
.toogle__item-top h3,
.toogle__item-top svg,
.toogle__item-top .arrow__toogle {
    transition: all .3s ease-in-out;
}
            
.active .toogle__item-top h3 {
    gap:0.75rem;
}
        
.types__wrap .types__sticky {
    
}
        
.subtype__images {
    position:relative;
    display:flex;
    width: 100%;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}
        
.subtype__image {
    transition: all 0.75s ease-in-out;
    line-height: 0;
    width:3rem;
    height:3rem;
    cursor: pointer;
    position:relative;
}
        
.subtype__image img {
    border-radius:0.75rem;
}
        
.subtype__image:before {
    content: "";
    position: absolute;
    width: 75%;
    height: 0.5rem;
    background-color: #000;
    display: block;
    border-radius: 50%;
    filter: blur(4px);
    opacity: 0;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    transition: width 1s ease-in-out, opacity .3s ease-in-out;
}
        
.active.subtype__image:before {
    width: 100%;
    height: 0.5rem;
    opacity: 0.5;
}
        
.empty.subtype__image{
    display: none;
}
        
.active.subtype__image {
    scale: 1;
}
        
.active.subtype__image img {
    animation: floatSmall 4s ease-in-out infinite;
}
        
            
@media screen and (min-width: 767px) {
    .types__wrap {
        grid-template-columns:3fr 7fr;
        gap:5rem;
    }
            
    .types__sticky {
        
    }
            
    .types__sticky {
        flex-direction:column;
        position: sticky;
        top: 7.5rem;
        height: fit-content;
        margin-bottom:0;
    }
            
    .subtype__images {
        height:150px;
        justify-content: initial;
        margin-bottom:2rem;
    }
            
    .subtype__image {
        position:absolute;
        opacity:0;
        width:initial;
        height:initial;
        filter: blur(2px);
        scale: 0.9;
        cursor: initial;
    }
            
    .subtype__image:before {
        content:none;
    }
            
    .active.subtype__image {
        filter: blur(0);
        opacity: 1;
    }
            
    .active.subtype__image img {
        animation: none;
    }  
            
}








/************ SIMPLE TOGGLE ************/

.toggle__list {
    display:grid;
    gap:1rem;
    margin-bottom:1.5rem;
}

.toggle__li {
    
}

.toggle__header {
    padding: .75rem 1rem;
    font-weight:500;
    transition:color .3s ease;
    position:relative;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
}


.faqs .toggle__header,
.syllabus .toggle__li {
    box-shadow: 0 2px 4px rgba(0, 0, 0, .15);
    -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, .15);
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, .15);
    border-radius: 0.5rem;
}


.syllabus .active .toggle__content {
    margin-top:0;
}

.syllabus .toggle__content--wrap,
.syllabus .active .toggle__content--wrap {
    border:none;
    padding: 0 1.5rem 1.5rem 1.5rem
}



.active .toggle__header,
.active:hover .toggle__header {
    color:var(--first-color);
}

.faq:hover .toggle__header,
.faq:hover .arrow__faq {
    color:var(--title-color);
}


.toggle__content {
    height:0;
    padding:0;
    overflow: hidden;
    transition: all .3s ease;
    
}

.active .toggle__content {
    margin-top: 0.75rem;
}

.toggle__content--wrap {
    padding: 1rem 1.5rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    transition: all .3s ease;
    margin:0;
    opacity:0;
    transition: all .3s ease;
}

.active .toggle__content--wrap {
    border: 1px solid #ada79f33;
    opacity:1;
}

.arrow__faq {
    display:grid;
    place-content:center;
    transition: all .3s ease;
}

.active .arrow__faq {
    transform: rotate(180deg);
}





/************ FANCY LIGHTBOX ************/

.modal__control {
        
}
    
.modal__control {
    cursor:pointer;
    padding:0.25rem;
    width: fit-content;
}
    
.modal__control--name {
    font-weight: var(--font-medium);
    font-size: var(--small-font-size);
    color:var(--text-color);
}
    
.modal__control,
.modal__control--name {
    transition:.3s ease-in-out;
}
    
.modal__control:hover .modal__control--name,
.active.modal__control  .modal__control--name {
    color: var(--title-color);
}
    
.modal__control:hover,
.active.modal__control {
    transform:translateY(-0.125rem);
} 
    
.more__modal {
    position: fixed;
    top: 0;
    height: 100vh;
    visibility: hidden;
    opacity: 0;
    z-index: 3;
    transition: var(--animation-smooth);
    pointer-events: none;
    width: 100%;
    left: 0;
}
    
.more__modal .container {
    height:100%;
    position:relative;
}
    
.more__modal.show {
    opacity: 1!important;
    visibility: visible;
}
    
.modal__item {
    position: absolute;
    top:0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transition: var(--animation-smooth);
    width: 100%;
    z-index: 3;
    pointer-events: all;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
}
    
.modal__item::-webkit-scrollbar {
    width:0.25rem;
}
    
.more__modal .modal__item {
    box-shadow: 0 -5.9px 2.7px hsl(var(--dropdown-shadow-color,0deg 0% 0%) / 0.025), 
                0 -1.2px 6.9px hsl(var(--dropdown-shadow-color,0deg 0% 0%) / 0.025), 
                0 8px 14.2px hsl(var(--dropdown-shadow-color,0deg 0% 0%) / 0.05), 
                0 21.9px 29.2px hsl(var(--dropdown-shadow-color,0deg 0% 0%) / 0.05), 
                0 49px 80px hsl(var(--dropdown-shadow-color,0deg 0% 0%) / 0.07
            );
    border-radius: 0.35rem;
    transform: translateY(4em) scale(0.95);
    max-width: 30rem;
    padding: 1.75rem 0;
    font-size: var(--small-font-size);
    bottom: 2.5rem;
    top:initial;
    background-color: var(--body-color);
}
    
.modal__person.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
    
.modal__item.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}
    
.modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 1.5rem;
    cursor: pointer;
}
    
.modal__close:hover {
    color:var(--title-color)
}
    
.modal__close svg {
    transition: var(--animation-primary);
    transform: rotate(0deg);  
}
        
.modal__close:hover svg {
    transition: var(--animation-primary);
    transform: rotate(90deg);
}
    
.lightbox-bottom, .lightbox-top {
    padding: 1.25rem 1.75rem;
    display: grid;
}
    
.lightbox-bottom p:last-child {
    margin-bottom: 0;
}
    
.lightbox-top {
    border-bottom: 1px solid #9fa1a339;
    font-size: var(--h3-font-size);
    font-weight: var(--font-semi-bold);
    color:var(--title-color);
}
    
.lightbox-top svg {
    margin-right:0.35rem;
}







/*==================== ANIMATIONS ====================*/
@keyframes float {
    0% { transform:translateY(.5rem); }
    50% { transform:translateY(1rem); }
    100% { transform:translateY(.5rem); }
}

@keyframes floatRock {
    0% { transform:translateY(0.75rem); }
    50% { transform:translateY(-0.75rem); }
    100% { transform:translateY(0.75rem); }
}

@keyframes floatSmall {
    0% { transform:translateY(0rem); }
    50% { transform:translateY(-0.25rem); }
    100% { transform:translateY(0rem); }
}

@keyframes fadeIn {
    0% {
        opacity:0;
        webkit-transform:translateY(2.5rem);
        transform:translateY(2.5rem);
    }
    100% {
        opacity:1;
        webkit-transform:translateY(0);
        transform:translateY(0);
    }
}

@keyframes fadeIntoLeft {
    0% {
        opacity:0;
        webkit-transform:translateX(2.5rem);
        transform:translateX(2.5rem);
    }
    100% {
        opacity:1;
        webkit-transform:translateX(0);
        transform:translateX(0);
    }
}

/*Carousel*/
@keyframes showContentNextX{
    from{
        transform: translateX(-30px);
        filter: blur(5px);
    }to{
        transform: translateX(0);
        opacity: 1;
        filter: blur(0px);
    }
}

@keyframes showContentPrevX{ 
    from{
        transform: translateX(30px);
        filter: blur(5px);
    }to{
        transform: translateX(0); 
        opacity: 1;
        filter: blur(0px);
    }
}

@keyframes showContentNextY{
    from{
        transform: translateY(1.25rem);
        filter: blur(5px);
    }to{
        transform: translateY(0);
        opacity: 1;
        filter: blur(0px);
    }
}

@keyframes showContentPrevY{
    from{
        transform: translateY(-1.25rem);
        filter: blur(5px);
    }to{
        transform: translateY(0); 
        opacity: 1;
        filter: blur(0px);
    }
}



/*==================== NAV ====================*/
.head {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
}

.header .logo {
    margin: auto 0 auto .5rem;
    line-height: 0;
}

.nav__menu {
    position: absolute;
    width: 100%;
    background-color: #fff;
    top: 100%;
    left: -100vw;
    transition: left .3s ease;
    overflow: auto;
    height: calc(100vh - 4rem);
    z-index: 9999;
}

.show-menu {
    display: grid;
    align-content: start;
    left:0;
}


.show-menu::-webkit-scrollbar {
    height: 0;
}

.nav__list--container {

}

.nav__link {
    font-size: var(--normal-font-size);
}

.nav__link:hover,
.current-menu-item .nav__link {
    color: var(--first-color);
}


.first_level > .sub-menu {
    left:-100vw;
    position: absolute;
    top: 0;
    transition: left .3s ease-out;
    background-color: #fff;
    z-index: 1;
    height: 100%;
    width:100vw;
}

.submenu__active.first_level > .sub-menu {
    left: 0;
}

.arrow__submenu-second {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    display: flex;
    cursor: pointer;
}

.sub-menu {
    margin:0;
}

.first_level,
.menu-item-has-children {
    position: initial;
}

.first_level > a,
.first_level.menu-item-has-children > a{
    padding:1rem 2rem;
    position:relative;
}

.first_level a,
.first_level.menu-item-has-children > a {
    border-bottom: solid 1px #f1f1f1;
    line-height: 1.5;
    display:block;
}


.second_level > a,
.subtitle__duplicate {
    padding: 1rem 2rem;
    border-bottom: 1px solid #f2f2f2;
    cursor: pointer;
}

.second_level a {
    display:flex;
}

.second_level a:before {
}

.subtitle__duplicate {
    font-weight: var(--font-medium);
    text-align: center;
    color: var(--title-color);
}

.sub-menu a {
    transition: color .3s ease, transform .3s ease;
} 

.sub-menu a:hover {
    color: var(--title-color);
    transform:translateX(0.5rem);
}

.second_level > .sub-menu {
    padding: 1rem;
    width:100vw;
}

.first_level.menu-item-has-children > a:before,
.first_level.menu-item-has-children > a:after,
.subtitle__duplicate:after,
.subtitle__duplicate:before {
    content: "";
    background-color: var(--title-color);
    display: block;
    height: 2px;
    width: 7px;
    position: absolute;
    top: 50%;
    transition: background-color .3s ease;
}
    
.first_level.menu-item-has-children > a:hover:before,
.first_level.menu-item-has-children > a:hover:after {
    background-color: var(--first-color);
}
    
.first_level.menu-item-has-children > a:before {
    right: 32px;
    transform: rotate(45deg) translateY(-6px);
}
    
.first_level.menu-item-has-children > a:after {
    right: 28px;
    transform: rotate(-45deg);
}

.subtitle__duplicate {
    position:relative;
}
    
.subtitle__duplicate:before,    
.subtitle__duplicate:after {
    left:2rem;
    background-color:var(--title-color);
}   

.subtitle__duplicate:before {
    transform: rotate(-45deg) translateY(-3px);
}    

.subtitle__duplicate:after {
    transform: rotate(-135deg) translateY(-3px);
}


/*--------------- BURGER ICON -----------------*/
.nav-toggle {
    cursor: pointer;
    width: 2.5rem;
    height: 2.5rem;
    justify-content: center;
    display: flex;
    flex-direction: column;
    margin: auto 0;
    padding-top: 0.25rem;
}

.nav-toggle:hover .burger-icon--top {
    margin-bottom:6px;
}

.nav-toggle:hover .burger-icon--mid {
        margin-bottom:6px;
}

.opened.nav-toggle:hover .burger-icon--top {
    margin-bottom: 2px;
}

.burger-icon {
  background: var(--title-color);
    display: block;
    height: 2px;
    width: 24px;
    left: 50%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: all .25s ease-out;
    transition: all .25s ease-out;
    margin: 0 auto 4px auto;
}

.burger-icon--top {
    top: 16px;
}

.burger-icon--mid {
    top: 24px;
}

.burger-icon--bottom {
    top: 32px;
}


.nav-toggle .bar-bot {
  margin-bottom: 0;
}

.opened .bar-top {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: 15% 15%;
          transform-origin: 15% 15%;
}
.opened .bar-mid {
  opacity: 0;
}
.opened .bar-bot {
  -webkit-transform: rotate(45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 15% 95%;
          transform-origin: 15% 95%;
}

/*--------------- BURGER ICON -----------------*/

.sub-menu li:last-child {
    display: none;
}

@media screen and (min-width: 767px) {
        
    .head {
        display:flex;
        justify-content:space-between;
        padding: 0 0;
    }
    
    .nav__menu {
        position: initial;
        overflow: initial;
        height: auto;
        padding: 0 0.5rem;
    }
        
    .nav__list {
        padding: 0;
    }
        
    .nav__list {
        display:flex;
    }
    
    .nav__link {
        font-size: var(--small-font-size);
    }
        
    .nav-toggle {
        display:none;
    } 
        
    .first_level > .sub-menu {
        left:auto;
    }
        
    .first_level,
    .menu-item-has-children {
        position:relative;
        margin:auto;
    }
        
    .arrow__submenu-second,
    .subtitle__duplicate {
        display: none;
    }
        
    .first_level.menu-item-has-children > a:before,
    .first_level.menu-item-has-children > a:after {
        content: "";
        background-color: var(--title-color);
        display: block;
        height: 2px;
        width: 7px;
        position: absolute;
        top: 50%;
        transition:all .3s ease;
    }
        
    .first_level.menu-item-has-children > a:before {
        right: 14px;
        transform: rotate(45deg);
    }
        
    .first_level.menu-item-has-children > a:after {
        right: 10px;
        transform: rotate(-45deg);
    }
        
    .first_level.menu-item-has-children:hover > a:before,
    .first_level.menu-item-has-children:hover > a:after {
        width: 12px;
        transform-origin: 50% 50%;
    }
        
    .first_level.menu-item-has-children:hover > a:before {
        transform: rotate(-45deg);
        right: 10px;
    }
        
    .first_level.menu-item-has-children:hover > a:after {
        transform: rotate(45deg);
        right: 10px;
        
    }
        
    .first_level > .sub-menu {
        position: absolute;
        top: calc(100% + 0rem);
        left: calc(0% - 0.75rem);
        opacity: 0; 
        visibility: hidden;
        background-color: #fff;
        border-radius: 0.75rem; 
        padding: 1.25rem 1.5rem;
        display: grid;
        transition: all .3s cubic-bezier(.6, 0, .4, 1); 
        width: 270%; 
        height:auto;
        filter: drop-shadow(0 -5.9px 2.7px hsl(var(--dropdown-shadow-color, 0deg 0% 0%) / 0.025)) drop-shadow(0 -1.2px 6.9px hsl(var(--dropdown-shadow-color, 0deg 0% 0%) / 0.025)) drop-shadow(0 8px 14.2px hsl(var(--dropdown-shadow-color, 0deg 0% 0%) / 0.05)) drop-shadow(0 21.9px 29.2px hsl(var(--dropdown-shadow-color, 0deg 0% 0%) / 0.05)) drop-shadow(0 49px 80px hsl(var(--dropdown-shadow-color, 0deg 0% 0%) / 0.07));
    }
    
    .first_level:nth-child(1) > .sub-menu {
        width: calc(100% + 1.5rem);  
    }
    
        
    .first_level:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        top: calc(100% + 0.5rem); 
    }
    
    .sub-menu:before {
        content: "";
        height: 1.5rem;
        position: absolute;
        background-color: transparent;
        width: 100%;
        top: -1.5rem;
    } 
    
    
    .sub-menu li:last-child {
        display: initial;
    }
    
    .nav__list .sub-menu svg {
        position: absolute;
        top: -0.75rem;
        left: calc(0% + 3.5rem);  
        fill: #fff; 
    }
        
    .first_level.menu-item-has-children > a{
        padding:1.25rem 2rem 1.25rem .75rem;
        border:none;
        margin-bottom: 0;
        pointer-events: auto;
        box-shadow: none;
        text-align: center;
    }
    
    .first_level > a{
        padding: 1.25rem .75rem;
        border:none;
        margin-bottom: 0;
        pointer-events: auto;
        box-shadow: none;
        text-align: center;
    }
    
    .second_level > a {
        padding: 0;
        text-align: left;
        color: var(--text-color);
        border-bottom: none;
        line-height: 1.866;
    }
    
    .second_level > .sub-menu {
        padding: 0;
        width:auto;
    }
}

 
/*======================= NAV =================================*/

.mobileMenu {
    padding: 2rem;
}

.socials__header--mobile {
    display:flex;
    gap:1.5rem
}

.last__header--mobile {
    display:flex;
    gap:2rem;
    margin-top:1.5rem;
}

.ws__header--mobile {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    margin-top: 0.25rem;
}

.desktopMenu {
    display:none;
    border-bottom: 1px solid rgba(142,142,179,.1);
}

.desktopMenu__wrap {
    display:flex;
    justify-content:flex-end;
    padding: 0.5rem 1.5rem;
    gap:2.25rem;
    align-items: center;
}

.desktopMenu a {
    font-size: var(--small-font-size);
    color: var(--text-color);
    line-height: 1.858;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}



/*Noise*/
.noise {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    position: fixed;
    pointer-events: none;
}
            
.noise:before {
    top: -10rem;
    left: -10rem;
    width: calc(200vw);
    height: calc(200vh);
    z-index: 2000;
    content: "";
    position: absolute;
    pointer-events: none;
    background-position: 50%;
    background-image: url(/assets/noise.png);
    pointer-events: none;
    animation: noise 2s steps(2) infinite;
}
        
@keyframes noise {
    0% {transform: translate3d(0,9rem,0) }
    10% {transform: translate3d(-1rem,-4rem,0)}
    20% {transform: translate3d(-8rem,2rem,0)}
    30% {transform: translate3d(9rem,-9rem,0)}
    40% {transform: translate3d(-2rem,7rem,0)}
    50% {transform: translate3d(-9rem,-4rem,0)}
    60% {transform: translate3d(2rem,6rem,0)}
    70% {transform: translate3d(7rem,-8rem,0)}
    80% {transform: translate3d(-9rem,1rem,0)}
    90% {transform: translate3d(6rem,-5rem,0)}
    to {transform: translate3d(-7rem,0,0)} 
}
        
        
/*Social Hero*/
.social__hero { 
    width: 20px;
    top: 45vh;
    transform: translate(0,-50%);
    right: 20px;
    position: absolute;
    z-index: 1;
}
    
.social__hero .social-ico {
    width: 20px;
    height: 20px;
    position: relative;
    float: left;
    margin: 10px 0;
}
    
.social__hero .social-ico svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 20px;
    opacity: .5;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    fill:var(--title-color)
}
    
.social__hero .social-ico:hover svg {
    transform: translate(-50%,-50%) scale(1.2);
    opacity: 1;
    cursor: pointer;
    fill:var(--first-color)
}
    
@media screen and (min-width: 767px) {
    .social__hero {
        right: 40px;
        top: 50vh;
    }
}




/******** WPML Menú ********/
.wpml-ls-legacy-dropdown-click {
    width: fit-content;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:before,
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after{
    content: "";
    background-color: var(--text-color);
    display: block;
    height: 2px;
    width: 7px;
    position: absolute;
    top: 50%;
    transition: all .3s ease;
    border:none;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:before {
    right: 20px;
    transform: rotate(45deg);
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
    right: 16px;
    transform: rotate(-45deg);
}

.desktopMenu .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    border-color: transparent;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    border-radius: .25rem;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:hover,
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:focus {
    color: var(--text-color);
    background: transparent;
    outline:none;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
    border-color: transparent;
    justify-content: center;
    margin-left: -2px;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a {
    background: transparent;
} 
.wpml-ls-legacy-dropdown-click a:focus, 
.wpml-ls-legacy-dropdown-click a:hover {
    color: var(--title-color);
    background: var(--input-color);
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: 0.25rem;
    overflow: hidden;
    margin-top: 0.125rem;
}

@media screen and (min-width: 767px) {
    .desktopMenu {
        display:block;
    }
    
    .mobileMenu {
        display:none;
        height:0;
        width:0;
        overflow:hidden;
        visibility:hidden;
        padding:0;
    }
}


/*==================== FOOTER ====================*/

.footer__brand {
    display: flex;
    justify-content: center;
}
    
.footer__col {
    display:flex;
    justify-content: center;
}

.footer__bg {
  border-top: 1px solid #eaeaea;
}

.footer__content {
    display: grid;
    gap: 1.5rem;
}

.footer__content li {
    display: flex;
    font-size: var(--small-font-size);
    justify-content: center;
}

.footer__link,
.footer__link:visited {
    color: var(--text-color);
    transition: color .3s ease;
}

a.footer__link:hover,
a.footer__link:visited:hover {
    color:var(--title-color);
    text-decoration:underline; 
}

.footer__link svg{
    width:16px;
}

a.footer__link:hover svg{
    transition:fill .3s ease;
    fill:var(--first-color);
}

.socials__footer {
    display:flex;
    gap:1rem
}

.footer__links {
    display:grid;
    row-gap:0.5rem;
    column-gap:1.5rem;
    margin: 2.5rem 0;
}

.footer__auspicio { 
    margin: 1.5rem 0;
}

.footer__auspicio img { 
        max-width: 14.5rem;
        filter: contrast(0.25);
    }


/****** Payments Footer ******/
.payments__footer {
    display:flex;
    gap:.75rem
}

.paypal__icon {
    width: 36px;
    height: 23px;
    vertical-align: middle;
    fill: currentColor;
    overflow: hidden;
    padding: 5px 4px 3px 4px;
    background-color: #fff;
    border-radius: 3px;
    border: 1px solid #eaeaea;
}
    

/****** Social Footer ******/
.social-ico,
.payment-icon {
    display:flex;
    align-items:center;
}

.social-ico svg {
    fill:var(--title-color);
    transition:fill .25s ease-in-out, transform .25s ease-in-out; 
}

.social-ico:hover svg {
    fill:var(--title-color);
    transform:scale(1.2);
}


/****** Social Copy ******/
.footer__copy {
  font-size: var(--smaller-font-size);
  text-align: center;
  color: var(--text-color); 
  margin-bottom:0;
}

/****** WhatsApp Footer ******/
.whatsapp__fixed {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    border-radius: 50%;
    background-color: #fff;
    padding: 6px;
    line-height: 1em;
    position: fixed;
    bottom: 20px;
    right: 20px;
    transition: all 300ms ease 0ms;
    box-shadow: 0 0 8px 0 var(--input-color);
    z-index: 99;
    align-items: center;
    display: flex;
}

.whatsapp__fixed svg {
    fill:var(--first-color)
}

@media screen and (min-width: 767px) {
    .footer__bg {
        padding: 6rem 0;
    }
    
    .footer__col {
        justify-content: initial;
        align-items: center;
    }
    
    .footer__links {
        display:flex;
        flex-wrap: wrap;
        order:1;
        margin:0;
    }
    
    
    .footer__logo { order:2;}
    .footer__socials { order:1;}
    .footer__auspicio { order:3;} 
    
    .footer__col.footer__socials,
    .footer__col.footer__links,
    .footer__col.footer__auspicio {
        flex-grow:1;
        flex-basis:0;
    }
        
    .footer__col.footer__auspicio {
        justify-content:flex-end;
        margin:0;
    }
    
    .footer__content {
        display:flex;
        justify-content:space-between;
    }
    
    .footer__content li {
        justify-content: initial;
    }
    
    .social-ico svg {
        fill:var(--text-color);
    }
    
    .footer__copy {
        margin-top:1rem;
    }
    
}





/*================= SHOP PAGE ==================*/


.woocommerce-notices-wrapper {
    position: absolute;
    top: 7.5rem;
    left: 2.5rem;
    z-index: 9;
    display: grid; 
    gap: 1rem;
}

.woocommerce-notices-wrapper .woocommerce-message,
.message__wrap .woocommerce-info,
.cart-empty.woocommerce-info {
    background-color: #fff;
    max-width: 20rem;
    padding: 1rem 1.5rem 1rem 1.5rem;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    border-radius: 0.5rem;
    display:grid;
}

.wc-empty-cart-message .message__close {
    display:none;
}


ul.products__list.view__grid {
    display:grid;
    gap: 5rem 5rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));  
}

ul.products__list.view__list {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 22.5rem), 1fr));   
}


.view__list .shop__product {
    border: 1px solid #ebebeb; 
}


.products__list.view__grid .shop__product>a {
    position: relative;
    display:grid;
    gap: 2.5rem;
}

.products__list.view__list .shop__product>a {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.shop__product:hover .shop__product__image img{
    /*transform:scale(1.05);*/
}


.shop__product__image {
    display: flex;
    justify-content: center;
    position: relative;
}

.shop__product__image img {
    width: 100%;
    aspect-ratio: 5/4; 
    object-fit: contain;
    transition: transform .3s ease;
    transform-origin: bottom;
}

.view__grid .shop__product__info h2,
.view__grid .shop__product__info h3 {
    text-align: center;
    position: relative;
    margin: auto;
}

.view__list .shop__product__info h2 {
    
}


@media screen and (min-width: 767px) {
    
    .shop__product__image img {
        max-width:17.5rem;
    }
    
    .shop__product__info h2,
    .shop__product__info h3 {
        font-size: var(--normal-font-size);
    }
    
}


.shop__product__info--header {
    gap:0.75rem;
}

.view__list .shop__product__info--header {
    gap: 0.5rem;
}

.view__list .shop__product__info {
    padding: 1.5rem;
    align-content: start; 
}

.shop__product__info .price { 
    display: flex;
    gap: 0.5rem;
    flex-direction: row-reverse;
}

.view__grid .shop__product__info .price {
    justify-content: center;
}

.view__list .shop__product__info .price { 
    justify-content: flex-end;
}

.shop__product__info .price ins,
.shop__product__info .price ins bdi {
    background-color: transparent;
    font-weight: var(--font-semi-bold);
    color:var(--title-color);
}


.shop__product__info .price del,
.shop__product__info .price bdi {
    color: #9a8a8a;
}



span.onsale {
    position: absolute;
    top: 0.75rem;
    left:0.75rem;
    
}


.shop__product--description {
    font-size:var(--smaller-font-size);
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom:0;
}

.view__grid .shop__product--description {
    display:none;
}



/****** Pagination Products ******/

ul.page-numbers {
    display:flex;
    gap:0.5rem;
    justify-content:center;
}

ul.page-numbers li a,
ul.page-numbers li .page-numbers{
    color: var(--text-color-light);
    display: flex;
    align-items: center;
    height: 100%;
    padding:0.5rem;
    transition: color .3s ease;
}

ul.page-numbers li a:hover {
    text-decoration: underline;
    color: var(--title-color);
}

ul.page-numbers li .current {
    font-weight: var(--font-medium);
    text-decoration: underline;
    color: var(--title-color);
}



section.section__shop__main {
    margin-bottom: min(7.5rem, 7.5vw);
}

.shop__main .woocommerce-info {
    background-color:var(--body-color);
}


@media screen and (min-width: 767px) {
    section.section__shop__main {
        max-width: 1200px;
        width: 87.5%;
        grid-template-columns: auto 1fr;
        gap: 7.5rem;
    }
}



/******** FILTERS *********/
.shop__filters {
    transition: height .3s ease;
    overflow:hidden;
    height:0;
}

.filter__group {
    display: grid;
    gap: 1rem;
}

.shop__filters .filter__group:first-child {
    margin-top:1.5rem;
}


.filters__toogle {
    padding: 0.4rem 0.75rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    border: 1px solid #aeaeae;
    border-radius: 0.2rem;
    transition: .3s ease;
}

.filters__toogle svg { 
    height:100%;
}

.filters__toogle:hover {
    color:var(--title-color);
    cursor:pointer;
    border-color:var(--title-color);
}

@media screen and (min-width: 767px) {
    .shop__filters { 
        transition: none;
        gap: 5rem;
        height: fit-content!important;
        position: sticky;
        top: 5rem;
    }
    
    .shop__filters .filter__group:first-child {
        margin-top:0;
    }
}


.filter__list {
    display:grid;
    gap:0.25rem;
}

.filter__list .checked,
.filter__list .category .active,
.filter__list .category .active a{
    font-weight:var(--font-medium);
    color:var(--title-color);
    text-decoration:underline;
}


/************** Filtro por categorias **************/ 

.top-level-categories h2,
.top-level-categories h3,
.top-level-categories h4,  
.top-level-categories {
    font-size: var(--small-font-size)!important;
    font-weight: initial;
}
    
.sub-subcategory-list, .subcategory-list {
    margin-left: 0.6rem;
}
    
.top-level-categories .category a {
    display: flex;
    justify-content: space-between;
    gap:1rem;
    color: var(--text-color);
}
    
.top-level-categories .category a:hover {
    text-decoration: underline;
}




/*Filtro por material*/
.filter__group.by__attributes li input[type="radio"] {
    display:none;
}


.filter__group.by__attributes label {
    display: flex;
    justify-content: space-between;
    gap:1rem;
    cursor:pointer;
    font-size: var(--small-font-size);
}

.filter__group.by__attributes label:hover {
    text-decoration: underline;
}




/*SHOP ACTIONS*/

.filters__result__count {
    display:flex;
    justify-content:space-between;
    align-items: center;
}

@media screen and (min-width: 767px) {
    .filters__result__count {
        display:none;
    }
}

/***************** Modos de vista *****************/
.result__count p{
    margin-bottom:0;
}

.result__count .count__number{
    font-weight:var(--font-medium);
    color:var(--title-color);
}


.view__buttons {
    display:flex;
    align-items:center;
    flex-wrap: wrap;
}
        
.view__button {
    cursor:pointer;
    display:flex;
    align-items:center;
    transition:.3s ease;
}
        
.view__button:hover,
.view__button.active {
    color:var(--title-color);
}


.shop__actions {
    justify-content:space-between;
    flex-wrap:wrap;
}

.shop__actions .result__count {
    display:none;    
}

       
.shop__action {
    display:flex;
    gap:0.5rem;
    align-items:center;
}        
        
.shop__action .action__label{
    font-size: var(--small-font-size);
    font-weight: var(--font-medium);
}

.shop__action .orderby,
.shop__action .orderby:focus-visible {
    padding:0 2rem 0 0;
    border:none;
    width:10rem;
    outline:none;
}


@media screen and (min-width: 767px) {
    
    .shop__actions .result__count {
        display:initial;
    }
}



/**/
.message__wrap {
    position: relative;
    transition:.3s ease-in-out;
}

.message__wrap.hide {
    opacity:0;
}


.page__cart .woocommerce-message {
    animation: fadeInOut 4s forwards;
}

.page__cart .woocommerce-message a.restore-item {
    display:none;
}


@keyframes fadeInOut {
    0% { opacity: 0; transform:translateY(-1rem);}
    15% { opacity: 1; transform:translateY(1rem);}
    85% { opacity: 1; transform:translateY(1rem);}
    100% { opacity: 0; transform:translateY(-1rem);}
}

.message__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 2rem;
    height: 2rem;
    display: grid;
    place-content: center;
    cursor: pointer;
    transition: opacity .3s ease-in-out;
    opacity:0.5; 
}


.message__close:hover {
    opacity:1;
}




























/*================= PRODUCT PAGE ==================*/

/*=============== GALLERY ===============*/

.gallery {
    display:grid;
    align-content:center;
    justify-content:center;
    margin-bottom:0;  
}


@media screen and (min-width: 767px) {
    .gallery {  
        min-height: calc(100vh - 8rem); 
    }
}

.gallery__card {
    position:relative;
    /*width:208px;*/
    height:268px;
    margin-left:auto;
    margin-right:auto;
    display: block;
    background-color: var(--body-color);
    user-select: none;
}

.gallery__img,
.gallery__card:after {
    position:absolute;
}

.gallery__img {
    margin: auto;
    transition: transform .3s;
    background-color: #fff;
    height: 100%;
    object-fit: contain;
    animation: float 4s ease-in-out infinite;
    width: 100%;
}

.gallery__overflow {
    position:relative;
}

.gallery__thumbnail {
    position:relative;
    width:40px;
    height:60px;
    overflow:hidden;
    margin-left:auto;
    margin-right:auto;
    cursor:pointer;
    transition:transform .3s;
}

.gallery__thumbnail-img {
    position:absolute;
    inset:0;
    margin:auto;
    height: 100%;
    object-fit: contain;
}


/****** Swiper class ******/
.gallery-cards,
.gallery-thumbs {
    width:260px;
}

.gallery-cards:hover .gallery__img {
    transform:translateY(-1rem);
}

.gallery .swiper-wrapper {
    padding:2.5rem 0;
}

.gallery-thumbs {
    height:132px;
}


/* Active thumbnail */
.swiper-slide-active .gallery__thumbnail {
    transform: translateY(-1.25rem) scale(1.2);
}

/* Rotate thumbnail */
.swiper-slide-next .gallery__thumbnail {
    transform:rotate(15deg);
}

.swiper-slide-prev .gallery__thumbnail {
    transform:rotate(-15deg);
}

/* Sliding numbers */
.swiper-pagination-fraction {
    font-size:var(--small-font-size);
    letter-spacing:-1px;
    font-weight:500;
    color:var(--first-color);
    bottom:0;
}

/* Arrow buttons */
.swiper-button-next:after,
.swiper-button-prev:after {
    content:'';
}

.swiper-button-next,
.swiper-button-prev {
    font-size:1.5rem;
    color:var(--title-black);
    top:5.5rem;
}

.swiper-button-next {
    right:-1.5rem;
    transform:rotate(15deg);
}

.swiper-button-prev {
    left:-1.5rem;
    transform:rotate(-15deg);
}


/* Other swiper settings */
/*
.gallery-cards:after {
    content:'';
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    z-index:10; 
}
*/

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type:initial;
}


/*=============== Breakpoints Gallery ===============*/
/* For small devices */
@media screen and (max-width: 320px) {
    .swiper-button-next,
    .swiper-button-prev {
        display:none; 
    }
}

/* For large devices */
@media screen and (max-width: 1024px) {
    .gallery__card {
        width:220px;
        height:328px;
    }
    .gallery__thumbnail {
        width:65px;
        height:91px;
    }
    .gallery-cards,
    .gallery-thumbs {
        width:280px;
    }
}




.product__hero {
    display: grid;
    margin-bottom: 2.5rem;
}

.product__hero h1 {
    width:80%;
    margin: 2.5rem auto 0 auto;
}



@media screen and (min-width: 767px) {
    .product__hero {
        grid-template-columns: repeat(2,1fr);
        margin-bottom: 0;
    }
    
    .product__about--wrap {
        grid-template-columns: repeat(2,1fr);
        gap:10%;
    }
    
    .one__column .product__about--wrap {
        grid-template-columns: repeat(1,1fr); 
        gap:10%;
        min-width: 650px; 
    }
    
    .product__hero h1 {
        display: none;
    }
    
}



ol.flex-control-nav.flex-control-thumbs {
    display: flex;
    gap: 1.5rem;
    margin: 0;
    justify-content: center;
}


ol.flex-control-nav.flex-control-thumbs li {
    list-style:none;
}



.woocommerce-product-gallery__image {
    text-align: center;
}


/**/

.summary p,
.summary h1 {
    margin-bottom:0;
}


.summary > p.price {
    display:grid;
    gap:1.5rem;
}

.summary > p.price:before {
    font-size:2rem;
    color: var(--title-color);
    font-weight: var(--font-semi-bold);
}



.summary.flex-col {
    justify-content:center;
}


form.cart {
    display: flex;
    /*gap: 1.5rem;*/ 
    flex-direction: column;
    margin-bottom: 1.5rem;
}

.product-type-simple form.cart {
    gap: 1.5rem;
}

form.cart button {
    width:fit-content;
}

form.cart label {
    font-weight: var(--font-medium);
}

.summary p.price,
form .price {
    font-size: var(--h2-font-size);
    font-weight: var(--font-medium);
}

.btn-price .woocommerce-Price-currencySymbol {
    font-size: var(--small-font-size);
    display: inline-block;
    transform: translateY(-8px);
}


.product__hero .summary {
    max-width:400px;
    width:80%;
    margin-right:auto;
    margin-left:auto;
    margin-top: 5rem;
}

@media screen and (min-width: 767px) {
    .product__hero .summary {
        margin-left:10%; 
    }
}


.summary table {
    margin-bottom:1rem;
}

.summary table.addons {
    margin-bottom:1rem; 
}

.single_variation_wrap {
    margin-top: 1rem;
}


.summary .value,
.summary .button {
    width: 100%;
}


@media screen and (min-width: 450px) {
    .actions__product {
        display: flex;
    }
}

@media screen and (min-width: 767px) {
    
    
    .summary .value,
    .summary .button {
        width: calc(100% - 3rem);
    }
    
    .actions__product {
        display: grid;
    }
    
    
}

@media screen and (min-width: 876px) {
    .actions__product {
        display: flex;
    }
}


.summary table tbody {
    display: grid;
    gap: 1rem;
}

.summary table tbody tr {
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    flex-wrap: wrap;
    text-align: left; 
}


.summary table select {
    padding: 0.5rem;
    width:100%;
    cursor: pointer;
    border-radius: 0.125rem;
}

.variations select option:first-child {
    display:none;
}

.reset_variations {
    display:none;
}



.quantity {
    border: 1px solid #ccc;
    width: 100%;
    border-radius: 0.125rem;
    display: flex;
    justify-content: space-between;
}

.quantity button {
    border:none;
    background:none;
    color:#ccc;
    cursor:pointer;
}

.quantity button:hover {
    color:#000;
} 

.quantity button svg {
    transition: .2s ease-in-out;  
}

.quantity input {
    border:none;
    text-align:center;
    width: 2.5rem;
    pointer-events:none;
    background-color: transparent;
}


@media screen and (min-width: 450px) {
    .quantity {
        width: fit-content;
    }
}


@media screen and (min-width: 767px) {
    .quantity {
        border: 1px solid #ccc;
        width: calc(100% - 3rem);
        justify-content: space-between;
    }
}



@media screen and (min-width: 876px) {
    
    .quantity {
        border: 1px solid #ccc;
        width: fit-content;
    }
}


.quantity input[type="number"]::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    margin: 0;
}

.quantity input[type="number"] {
    -moz-appearance: textfield;
}


.price__plus__add-to-card {
    align-items: center;
    width: 100%;
}


/*Product description*/
.section__wrap {
    background-color: #f5f5f5;
    display: flex;
}

.one__column.section__wrap {
    justify-content: center;
}


 
/***** Slider Deco Section *****/  
.section__gallery .route__slider {
  height: 32.5rem;
  padding: 1.25rem 0;
  position: relative;
}

@media (max-width:500px) {
  .section__gallery .route__slider {
    height: 28.125rem;
  }
}

.route__slide {
  width: 28.125rem; 
  height: 26.25rem;
  position: relative;
  overflow:hidden;
}

@media (max-width:500px) {
  .route__slide {
    width: 17.5rem !important;
    height: 22.5rem !important;
  }
  .route__slide .route__slide__img img {
    width: 17.5rem !important;
    height: 22.5rem !important;
  }
}

.route__slide .route__slide__img img {
  width: 28.125rem;
  height: 26.25rem;
  object-fit: cover;
}


.swiper-slide-shadow-left,
.swiper-slide-shadow-right {
  display: none;
}

.route__slider__control {
  position: relative;
  bottom: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.route__slider__control svg {
    fill:var(--first-color);
}

.route__slider__control .swiper-pagination-bullet {
    background: var(--input-color);
    opacity:1;
}


.route__slider__control .swiper-button-next {
  left: 58% !important;
  transform: translateX(-58%) !important;
}

@media (max-width:990px) {
  .route__slider__control .swiper-button-next {
    left: 70% !important;
    transform: translateX(-70%) !important;
  }
}

@media (max-width:450px) {
  .route__slider__control .swiper-button-next {
    left: 80% !important;
    transform: translateX(-80%) !important;
  }
}

@media (max-width:990px) {
  .route__slider__control .swiper-button-prev {
    left: 30% !important;
    transform: translateX(-30%) !important;
  }
}

@media (max-width:450px) {
  .route__slider__control .swiper-button-prev {
    left: 20% !important;
    transform: translateX(-20%) !important;
  }
}

.route__slider__control .slider-arrow {
  background: var(--white);
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  left: 42%;
  transform: translateX(-42%);
  filter: drop-shadow(0px 8px 24px rgba(18, 28, 53, 0.1));
  border:1px solid var(--first-color);
}

.route__slider__control .slider-arrow ion-icon {
  font-size: 1.25rem;
  color: #222224;
}

.route__slider__control .slider-arrow::after {
  content: '';
}

.route__slider__control .swiper-pagination {
  position: relative;
  width: fit-content;
  bottom: 0.3125rem;
}

.route__slider__control .swiper-pagination .swiper-pagination-bullet {
  filter: drop-shadow(0px 8px 24px rgba(18, 28, 53, 0.1));
}

.route__slider__control .swiper-pagination .swiper-pagination-bullet-active { 
  background: var(--first-color);
}

.section__gallery--deco .swiper-button-next, 
.section__gallery--deco .swiper-button-prev {
    top: 50%;
}

.swiper-slide.route__slide {
    filter: brightness(0.5);
    transition: .3s ease;
}

.swiper-slide.route__slide.swiper-slide-active {
    filter: brightness(1);
}



/***** Description Section *****/
.column__description {
    padding: 2.5rem 0 0 0;
    align-items:center;
}
        
.column__description p {
    margin-bottom:0;
}
        
.one__column .column__description-wrap {
    padding-bottom: 2.5rem;
}

    
@media screen and (min-width: 767px) {
    .column__description {
        padding:2.5rem 0 2.5rem 10%;
    }
    
    .one__column .column__description {
        padding: 5rem 0% 5rem 0%;
    }
            
    .product__technical--wrap {
        grid-template-columns: 6fr 4fr;
        margin-top: 2.5rem;
    }
    
    .one__column .column__description-wrap {
        padding-bottom: 0;
    }
        
    
}
        
.column__image img {
    height: 100%;
    object-fit: cover;
}


/******* Technical Section *******/
.tbody {
    display:grid;
    gap: 0.25rem;
}
        
.tbody .trow {
    display:grid;
    gap:1.5rem;
    grid-template-columns: 6.5rem 1fr;
}
        
.technical__info {
    align-content: center;
    grid-row-start: 1;
} 



.technical__images {
    flex-direction: column;
    align-content: center;
    flex-wrap: wrap;
}

.technical__image {
    display: grid;
    place-content: center;
    max-width: 450px;
}

.technical__image .max-360{
    max-width: 22.5rem;
    width: 100%;
}


@media screen and (min-width: 767px) {
    .technical__images {
        flex-direction: row;
        flex-wrap:nowrap;
    }
    
    .technical__info {
        align-content: center;
        grid-row-start: initial; 
    }
}


/******* Artist Section *******/

.artist__content {
    align-content: center;
}

.no__bio.no__image .artist__header {
    text-align:right;
}


@media screen and (min-width: 767px) {
    .artist__content {
        grid-template-columns:repeat(2,1fr);
        column-gap: 10%;
        padding: 2.5rem 0;
    }
    
    .artist__img {
        display: grid;
        place-content: center;
        grid-column: 1/2;
        grid-row: 1/3;
    }
    
    .no__bio .artist__img {
        grid-column: 2/3;
    } 
    
    
    .artist__img img {
        height: 100%;
        object-fit: cover;
        max-height: 32.5rem;
    }
    
    .no__bio .artist__header,
    .no__image .artist__header {
        height:fit-content;
        position:sticky;
        top:4.5rem;
        margin-bottom: 2rem;
    }
    
    .no__bio.no__image .artist__header {
        display: grid;
        grid-column-start: 2;
        text-align:initial;
    }
    
    
}
        

/******* Related Products Section *******/
.view__shop {
    text-align:center;
    display:grid;
    place-content:center;
}

.view__shop a {
    color: var(--text-color-light);
    transition: color .3s ease-in-out;
}

.view__shop a:hover {
    color: var(--title-color);
} 

@media screen and (min-width: 767px) {
    .section__related--wrap {
        grid-template-columns: repeat(2,1fr); 
    }
    
    .section__related .section__related--wrap .view__shop {
        grid-column: 2;
        grid-row: 1;
        place-content:center right;
    }
    
    .section__related .products__list.columns__3.view__grid,
    .section__related .woocommerce{
        grid-column: 1/3;
    }
    
    
} 



/*==================== CART PAGE ====================*/

.header__cart {
    background-color: var(--body-color);
}

.header__cart.only-mobile {
    text-align:center;
}

.page__cart .cart__wrap {
    display:grid;
}


.cart__form .shop_table {
    display:grid;
    height:0px;
    overflow:hidden;
    transition:height .3s ease-in-out;
    margin-bottom: 0;
}

.active.cart__form .shop_table {
    /*height: 100%;*/
}

.cart_items {
    gap:2.5rem;
    margin: 0 1.5rem;
    padding: 2.5rem 0 ;
    align-content: start;
}


.cart_item {
    position: relative;
    flex-direction:column;
    border: 1px solid #eaeaea;
    border-radius: 0.5rem;
    padding:1.5rem;
    flex-direction:column;
}


.cart_item td {
    display:flex;
    place-content:center left;
}


.cart_item .cart__item--info {
    width:100%;
    flex-direction:column;
    row-gap:1rem;
}

.cart_item .product-thumbnail {
    justify-content:center;
}


.cart_item .product-thumbnail a img {
    padding: 0 1.5rem;
    max-height: 12rem; 
    object-fit: contain;
}

.cart_item .product-name {
    display: grid;
    place-content: center left; 
}

.product-name a,
.product-name-a {
    font-weight: var(--font-medium);
    font-size: var(--normal-font-size);
    color: var(--title-color);
}

.variation__wrap,
.wc-item-meta li {
    display: flex;
    gap: 0.25rem;
    font-size:var(--smaller-font-size); 
}

.variation__wrap:not(:last-child):after, 
.wc-item-meta li:not(:last-child):after {
    content: "/";
    font-size: 0.7rem;
    margin-top: 0.07rem;
}

.cart_item .variation,
.cart_item .wc-item-meta {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
    row-gap: 0;
}

.variation__wrap p,
.variation__wrap dd,
.wc-item-meta li p {
    margin: 0;
}


.variation__name,
.wc-item-meta-label {
    font-weight: initial;
    display:none;
}

.cart_item .product-price {
    font-size: var(--smaller-font-size);
    margin-bottom: 0.5rem;
}


.cart_item .label { 
    font-size: var(--smaller-font-size);
    font-weight: var(--font-medium);
    color: var(--text-color-light);
    display:grid;
}



.cart_item .product-quantity {
    display:flex;
    gap:1.5rem;
    flex-wrap:wrap;
    justify-content:space-between;
    align-content: center;
}

.cart_item .product-quantity .quantity {
    border: none;
}

.cart_item .product-quantity .button__quantity {
    padding-right: 0;
    padding-left: 0;
}


.cart_item .product-subtotal {
    min-width: 4.5rem;
}


.cart_item .product-remove {
    position: absolute; 
    top: 1rem;
    right: 1rem;
    opacity: 0.25;
    transition: opacity .3s ease-in-out;
}

.cart_item .product-remove:hover {
    opacity:1;
}

.toggle__cart__section {
    background-color: #fafafa;
    border-bottom: 1px solid #d6d6d6;
    border-top: 1px solid #d6d6d6;
}


.toggle__cart {
    display: flex;
    justify-content: space-between;
    padding: 1.25rem 0;
    align-items: center;
    cursor:pointer;
    gap:1.5rem;
}


.toggle__cart--text {
    display: flex;
    gap: 0.5rem;
}

.hidden {
    display:none;
}

.active .hidden {
    display:block;
}

.active .show {
    display:none;
}


.toggle__cart__icon {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    transition: transform .3s ease-in-out;
}

.active .toggle__cart__icon {
    transform:rotate(180deg);
}

.cart__actions {
    display:none;
}




@media screen and (min-width: 514px) {
    
    form.woocommerce-cart-form {
        background-color: #fafafa; 
    }
    
    .cart_items {
        margin:0 0;
    }
    
    .cart_item {
        border: none;
        padding:0;
        flex-direction:row;
    }
    
    .cart_item .product-thumbnail {
        width: 15rem;
        min-width:15rem;
    }
    
    .cart_item .cart__item--info {
        flex-direction:row;
        position:relative;
        width:100%;
        flex-wrap:wrap;
    }
    
    .cart_item .product-name {
        width:15rem;
        min-width:15rem;
    }
    
    .cart_item .variation,
    .cart_item .wc-item-meta {
        display: initial;
    }
    
    
    .variation__wrap:not(:last-child):after,
    .wc-item-meta li:not(:last-child):after {
        content: "";
    }
    
    
    .cart_item .product-quantity {
        justify-content:unset;
    }
    
    .cart_item .product-remove {
        top:0;
    }
}


@media screen and (min-width: 636px) {
    .cart_item {
        flex-wrap:nowrap;
    }
    
    .cart_item .cart__item--info {
        padding-right:1.5rem;
    }
    
    
    .cart_item .cart__item--info {
        flex-wrap: nowrap;
        justify-content: space-around;
    }
}

@media screen and (min-width: 767px) {
    .cart_item .cart__item--info {
        padding-right:0;
        flex-wrap: wrap; 
    }
    
    .toggle__cart__section {
        border-bottom: none;
    }
    
    .toggle__cart {
        border-bottom: 1px solid #d6d6d6;
    }
    
}


@media screen and (min-width: 990px) {
    
    .header__cart {
        background-color: transparent;
    }

    .page__cart .cart__wrap {
        grid-template-columns: repeat(2,1fr);
    }
    
    form.woocommerce-cart-form {
        min-height:100vh;
    }
    
    .toggle__cart__section {
        display:none;
    }
    
    .cart__form .shop_table {
        height: initial!important;
        padding-bottom: 4rem;  
    }
    
    .cart_item .cart__item--info {
        justify-content: unset;
    }
}



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

    .cart_item {
        flex-wrap:nowrap;
    }
    
    .cart_item .cart__item--info {
        padding-right:0;
    }

}

@media screen and (min-width: 1290px) {
    
    .cart_item .cart__item--info {
        flex-wrap:nowrap;
    }

}




@media screen and (min-width: 767px) {
    
    .cart-collaterals {
        margin: 0 auto;
        width: 60%;
        max-width: 25rem;
    }
    
}


.cart__summary h2 {
    font-size:var(--normal-font-size);
}

.cart__summary .cart_totals {
    display: grid;
    gap: 2.5rem;
    margin-bottom: 5rem;
}

.cart__summary table {
    display:grid;
    margin-bottom:0;
    text-align: left;
}

.cart__summary .cart-subtotal {
    display:none;
}

.cart__summary .order-total th {
    display:none;
}

.cart__summary .order-total td .amount,
.order-total td .amount {
    font-size:var(--h1-font-size);
    color:var(--title-color);
    font-weight: var(--font-semi-bold);
}

.cart__summary .wc-proceed-to-checkout .button {
    padding:calc(1rem - 2px) 3rem;
}


.cart__sumary__count {
    font-size:var(--small-font-size);
}

.cart__sumary__count strong {
    font-weight:var(--font-semi-bold);
    color:var(--title-color);
}

.cart__payments label {
    font-size: var(--smaller-font-size);
    color: var(--text-color-light);
    margin-bottom: 0.25rem;
    display: block;
    font-weight: var(--font-medium);
}


.cart__payments .payment-icons.flex {
    filter: grayscale(1);
    opacity: 0.5;
    transform-origin: left;
}



@media screen and (min-width: 990px) {
    .cart__summary .section {
        position:sticky;
        top:6rem;
    }
    
    .header__cart {
        display:grid;
        grid-column: 1/3;
    }
    
    .cart__summary .wc-proceed-to-checkout .button {
        width:fit-content; 
    }
    
}






/*==================== CHECKOUT PAGE ====================*/

.checkout__right {
    background-color:#fafafa;
}

.checkout__form {
    display:flex;
    flex-direction:column-reverse;
}


.order__review table tbody {
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 1.5rem;
}

.order__review table tfoot {
    display:grid;
}

.order__review table tfoot tr {
    display:flex;
    justify-content:space-between;
    font-size: var(--small-font-size);
}

.order__review table tfoot tr th {
    font-weight: normal;
}



.order__review .cart_item {
    display:flex;
    gap:1.5rem;
}

.order__review .cart_item .product-thumbnail {
    width: 4rem;
    min-width: 4rem;
    height: 4rem;
    position: relative;
    border: 1px solid #eaeaea;
    border-radius:5px;
    margin: auto 0;
} 

.order__review .cart_item .product-thumbnail img {
    border-radius: 5px;
}


.order__review .product-quantity {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    background-color: #666;
    color: var(--body-color);
    border-radius: 3rem;
    padding: 2px 6.75px;
    text-align: center;
    display: flex;
    align-items: center;
    font-size: .7rem;
    min-width: 20.8px;
    justify-content: center;
}


.order__review {
    display: grid;
    height: 0px;
    overflow: hidden;
    transition: height .3s ease-in-out; 
}

.order__review table {
    padding: 3.25rem 0 3.25rem 0;
    margin-bottom:0;
}

.order__review .cart_item {
    flex-direction:row;
}

.order__review .cart_item .cart__item--info {
    justify-content: space-between;
}


.order__review .cart_item .product-name {
    width: initial; 
    min-width: initial;
}

.order__review .cart_item .product-name-a, 
.order__review .cart_item .product-name-a a {
    font-size: var(--small-font-size);
}


.order__review .product-total {
    margin-bottom: auto;
    color: var(--title-color);
    font-weight: var(--font-medium);
    font-size: var(--small-font-size);
}


.order__review tr.order-total {
    border-top: 1px solid #eaeaea;
    padding-top: 1.5rem;
    margin-top: 1.5rem;
    color: var(--title-color);
}

.order__review tr.payment-method {
    grid-row-start: 4;
    margin-top: 1.5rem;
    font-size: var(--smaller-font-size);
    color: var(--title-color);
    display: flex;
    flex-direction: column;
    text-align: right;
}

.order__review tr.payment-method th {
    opacity:0.3;
}

.order__review tr.shipping td {
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
    gap:0.5rem
}

.order__review tr.shipping td .shipped_via {
    font-style:italic;
    text-transform: capitalize;
}


.only-desktop {
    display:none;
}

.checkout__left__wrap {
    margin-bottom: 7.5rem;
}
    
    
@media screen and (min-width: 767px) {
    .checkout__form { 
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:2.5rem 0;
    }
    
    .checkout__form .toggle__cart__section {
        display:none;
    }
    
    .order__review {
        position: sticky;
        top: 7.5rem;
        height: initial!important;
    }
    
    .checkout__left__wrap {
        max-width: 30rem;
        margin-left: auto;
    }
    
    .order__review {
        max-width:27.5rem;
        margin-right: auto;
    }
    
    .order__review table {
        padding-bottom: 9rem;
    }
    
    .only-desktop {
        display:block;
    }
    
    .only-mobile {
        display:none;
    }
} 


.customer__details {
    padding-top:2.5rem;
}

.form-row {
    position: relative;
    margin-bottom:0;
}

.heading_fields__group {
    margin-bottom:0.75rem;
}

.customer__details .headding__fields {
    margin-bottom: -0.5rem;
    margin-top: 0.75rem;
}

.customer__details .form-row label {
    border-radius:0.25rem;
    position: absolute;
    font-size: var(--small-font-size);
    display: flex;
    align-items: center;
    background-color: var(--body-color);
    top: 50%;
    left: 0.5rem;
    transform: translateY(-50%);
    z-index: 1;
    padding: 0 0.25rem;
    transition: .3s ease;
}

.customer__details #billing_country_field label,
.customer__details #billing_state_field label,
.customer__details #shipping_country_field label,
.customer__details #shipping_state_field label {
    top: -10px;
    transform: translateY(0%);
    font-size: var(--smaller-font-size);
}

.customer__details .select2-container .select2-selection--single,
.customer__details .select2-container--default .select2-selection--single .select2-selection__rendered,
.customer__details .select2-container--default .select2-selection--single .select2-selection__arrow {
    line-height: 41.6px;
    height: 41.6px;
    font-size: var(--small-font-size);
    color: var(--title-color);
}

.customer__details label abbr {
    display:none;
}

.customer__details .form-row input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border-radius: 5px;
    color: var(--title-color);
}

.customer__details .form-row select {
    width:100%;
    border-radius:5px;
    color: var(--title-color);
}

.form-row input:not(:placeholder-shown) + label,
.form-row input:focus + label {
    top: -10px;
    transform: translateY(0%);
    font-size: var(--smaller-font-size);
}

.toogle__billing {
    font-size: var(--small-font-size);
    display: flex;
    align-items: flex-start;
    gap: 0.25rem;
    cursor: pointer;
}

.toogle__billing input {
    margin-top:3px;
    cursor:pointer;
}

.billing__fields__group {
    height:0px;
    overflow:hidden;
    transition:.3s ease;
}

.billing__fields__group h3 {
    padding-top:1.25rem;
}

.billing__fields,
.shipping__fields,
.contact__fields {
    display:grid;
    gap: 1.25rem 1rem;
}


@media screen and (min-width: 767px) {
    
    .billing__fields,
    .shipping__fields,
    .contact__fields {
        grid-template-columns: repeat(6, 1fr);
    }
    
    .customer__details .form-row { 
        grid-column: 1/7;
    }
    
    .billing__fields #billing_state_field,
    .shipping__fields #shipping_state_field {
        grid-column: 1/3;
    }
    
    .billing__fields #billing_city_field,
    .shipping__fields #shipping_city_field {
        grid-column: 3/5;
    }
    
    .billing__fields #billing_postcode_field,
    .shipping__fields #shipping_postcode_field {
        grid-column: 5/7;
    }

    .form-row.form-row-first {
        grid-column: 1/4;
    }
    
    .form-row.form-row-last {
        grid-column: 4/7;
    }
    
}


/************ Payment ************/

.payment__section h3 {
    margin-bottom:0.75rem;
    padding-top: 1.25rem;
}

.payment__section p {
    margin-bottom: 0;
}

.payment__methods {
    border: 1px solid #eaeaea;
    border-radius: 5px;
}

.payment__methods li {
    border-bottom:1px solid #eaeaea;
}

.payment__methods li:last-child {
    border-bottom:none;
}


.payment__methods li label {
    cursor: pointer;
    font-weight: var(--font-medium);
    color: var(--title-color);
    display: flex;
    padding: 0.75rem 1.5rem 0.75rem 2.75rem;
    width: 100%;
    justify-content: space-between;
}


.payment__method__title {
    display: flex;
    position: relative;
}

.payment__method__icons {
    display: flex;
    align-items: center;
    filter: grayscale(1);
    opacity: .5;
    transition: .3s;
}

.payment__methods li.payment_method_bacs .payment__method__icons {
    gap:1rem; 
}

.payment__method__title:hover .payment__method__icons,
.payment__methods input:checked + label .payment__method__icons {
    filter: grayscale(0);
    opacity:1;
}


.payment__method__title input {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1.5rem;
}

.payment_box {
    padding: 0 1.5rem 1rem 1.5rem;
    font-size: var(--small-font-size);
}

.payment_box .yape__instructions {
    margin: 0 auto; 
}


.woocommerce-privacy-policy-text {
    margin-bottom: 1.25rem;
    font-size: var(--small-font-size);
}

.payment__section #place_order {
    width: 100%;
}


/****** Payment Instructions ********/
.thankyou__instructions .instructions__steps {
    margin: 0.75rem 0 1rem 1rem;
    list-style: none;
}
 
.thankyou__instructions .instructions__steps h3 {
    text-decoration: underline;
    margin-bottom: 0.25rem;
    font-size:var(--small-font-size); 
} 

.thankyou__instructions .instructions__steps strong {
    color: var(--title-color);
}

ul.instructions__contact {
    box-shadow: 0 5px 10px rgba(0,0,0,0.075);
    padding: 1.25rem;
    border-radius: 0.5rem;
    margin: 0.5rem 0 1.5rem;
    display: grid;
}

ul.instructions__contact li {
    display:flex;
    justify-content:space-between;
    padding:0.25rem;
    column-gap: 1.5rem;
    flex-wrap: wrap;
}

ul.instructions__contact li:not(:last-child, .bank__logo) {
    border-bottom: 1px solid #eaeaea;   
}

ul.instructions__contact li.bank__logo {
    padding-bottom:0.5rem;   
}

ul.instructions__contact li label {
    color:var(--text-color-light);
}

ul.instructions__contact li a,
ul.instructions__contact li span {
    color:var(--title-color);
}

ul.instructions__contact li span {
    text-align:right;
}

ul.instructions__contact li a:hover {
    text-decoration:underline;
}
 

/******* Yape Instructions *******/
.yape__instructions {
    max-width: 17.25rem; 
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin: 1rem auto;
    text-align: center;
    color: var(--title-color);
}

.yape__description {
    font-size: var(--smaller-font-size);
}

.yape__image {
    max-width: 12rem;
    margin: auto;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    padding: 1.25rem;
    border-radius: 0.5rem;
    display:grid;
}

.yape__number {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
    border: 2px dashed #01d0b5;
    border-radius: 0.5rem;
    padding: 0.75rem 1.5rem;
    align-content: center;
}

#numero {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
}

#copiarYapeBtn {
    background-color: #01d0b5;
    color: var(--body-color);
    padding: 0.125rem 0.5rem;
    font-size: var(--smaller-font-size);
    border-radius: 0.25rem;
    cursor: pointer;
    border: 2px solid #01d0b5;
    transition:.3s ease;
}

#copiarYapeBtn:hover {
    background-color: var(--body-color);
    color: #01d0b5;
}

.yape__wa a.button {
    display: block;
    background-color: #5f0b72;
    color: var(--body-color);
    border-radius: 0.25rem;
    border:2px solid #5f0b72;
}

.yape__wa a.button:hover {
    background-color: var(--body-color);
    color: #5f0b72;
}

.rtn__cart {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

.rtn__cart a {
    display: flex;
    align-items: center;
    font-size: var(--small-font-size);
    gap: 0.25rem;
    opacity: 0.3;
    transition: .3s ease;
}

.rtn__cart a:hover {
    opacity:1;
}


/*Notifications Checkout*/

.page__checkout .checkout__form .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
    position:absolute;
} 


.checkout__form .woocommerce-error {
    position: fixed;
    max-width: 20rem;
    top: 3rem;
    right: 3rem;
    z-index: 2;
    background-color: transparent;
    display: grid;
    gap: 1rem;
}

.checkout__form .woocommerce-error li {
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    padding: 1.25rem 1.75rem;
    border-radius: 0.75rem;
    background-color: var(--body-color);
    word-wrap: break-word;
}



/*================= THANKYOU PAGE ==================*/

.thankyou__content {
    padding-top:2.5rem;
}

.thankyou__content p {
    margin-bottom:0;
}

.thankyou__header {
    font-size: var(--small-font-size);
    position: relative;
    text-align: center;
}

.thankyou__subheader {
    border: 1px solid #eaeaea;
    border-radius: 0.5rem;
    overflow: hidden;
}

.thankyou__map {
    line-height: 0;
}

.thankyou__text {
    padding: 1rem 1.5rem;
    font-size: var(--small-font-size);
}

.thankyou__text h2 {
    font-size: var(--normal-font-size);
    margin-bottom: 0.25rem;
}

.thankyou__check {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}


@media screen and (min-width: 767px) {
    
    .page__thankyou .checkout__left { 
        margin-left: 4rem;
    }
    
    .thankyou__header {
        text-align: initial;
    }
    
    .thankyou__check {
        position: absolute;
        right: calc( 100% + 1.5rem);
        top: 0.25rem;
    }
}


/********** Check Icon **********/

.checkmark {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke: #7ac142;
    animation: scale .3s ease-in-out .9s both;
    margin: auto;
}

.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #7ac142;
    fill: none;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    stroke-linecap: round;
    stroke-linejoin: round;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

@keyframes stroke {
  100% { stroke-dashoffset: 0; }
}
@keyframes scale {
  0%, 100% { transform: none; }
  50% { transform: scale3d(1.1, 1.1, 1); }
}

/********** Check Icon **********/


.thankyou__map iframe { 
    width:100%;
}

.thankyou__customer .card,
.thankyou__instructions.card {
    padding: 1rem 1.5rem; 
    border:1px solid #eaeaea;
    border-radius: .5rem;
    font-size:var(--small-font-size);
}

.thankyou__customer address {
    margin-bottom:0;
    font-style: normal;  
}

.thankyou__customer h2,
.thankyou__instructions h2 {
    font-size:var(--normal-font-size);
    margin-bottom:0.25rem;
}







/*================= CONTACT PAGE ==================*/

.title__page h1 {
    text-align: center; 
    font-size: var(--h1-font-size);
    margin: 0 0 6rem 0; 
}

.claims__book .title__page h1 {
    margin: 0 0 1rem 0;
} 

.legal__info {
    font-size:var(--small-font-size);
    text-align:center;
}

.legal__info address {
    margin:0;
    font-style: normal;
}

.contact__text {
    margin: 0 8rem 4rem 0;
}

.contact__information {
    display: flex;
    margin-bottom: var(--mb-2-5);
    gap: 0.75rem;
}

.contact__title {
    font-weight: var(--font-medium);
}

.contact__subtitle, 
.contact__subtitle a {
    font-size: var(--small-font-size);
    color: var(--text-color-light);
    transition: all .3s ease;
    white-space: nowrap;
}

.contact__subtitle:hover, 
.contact__subtitle a:hover {
    color:var(--first-color);
}

.social__contacts {
    display: flex;
    gap: 1rem;
    margin-top: 0.5rem;
}

@media screen and (min-width: 767px) {
    .contact__container {
        grid-template-columns: repeat(2, 1fr);
    }
}

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














/*================= ROCK PAGE ==================*/

.section__rock__hero {

}

.section__rock__hero--wrap {
    
}

.rock_technicals {
    grid-template-columns:repeat(2,1fr);
    padding-top:1.5rem;
}
        
.data__item .label {
    font-weight:var(--font-medium);
    color:var(--text-color-light);
    font-size:var(--smaller-font-size);
}
        
.data__item .data {
    color:var(--title-color);
} 

.right__section {
    display: grid;
    align-content: space-around;
}

.rock__resume small {
    font-weight: var(--font-medium);
    color: var(--text-color-light);
    font-size: var(--small-font-size);
}
    
.rock__resume h1 {
    font-size:calc(var(--big-font-size) * 1.75);
    line-height:1.2;
    margin-bottom:0.75rem;
    margin-top:0;
}
        
.rock__resume {
    
}
        
.left__section {
    display: grid;
    place-content: center;
}
        
.rock__image {
    position:relative;
    max-width: 27.5rem;
    animation: float 4s ease-in-out infinite;
}

.rock__image img {
    width:100%;
}
          
.rock__image video, 
.rock__image img {
    -webkit-animation: fadeIn 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
    animation: fadeIn 2.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
    max-height: 30rem;
}


/**** Description Section ********/
.info__text {
    align-content: center;
    gap:0;
}
    
.info__text h2 {
    margin-bottom:0.25rem;
}
    
.more__names {
    display: flex;
    gap: 1rem;
    padding-top: 0.75rem;
}
    
.info__media {
    position: relative;
    display: grid;
    place-content: center;
}
    
.info__media img {
    position: relative;
    width: 100%;
    margin: auto;
    border-radius: 0.5rem;
    display: grid;
}
    
.info__media img.thumb__3d {
    width: 85%;
}
    
.info__media.video:before {
    content: "";
    width: 100%;
    display: block;
    /*border: 1px solid;*/
    border-radius: 0.5rem;
    aspect-ratio: 16/9;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #eaeaea;
}
    
.icon__play {
    position: absolute;
    top: 50%;
    left:50%;
    transform: translate(-50%, -50%);
    color:var(--body-color);
    z-index:1;
}
    
.icon__play svg {
    width:4.5rem;
    height:4.5rem;
    cursor:pointer;
    opacity:0.8;
    transition:.3s ease;
    scale:0.975;
}
    
.icon__play svg:hover {
    opacity:1;
    scale:1;
}
    
.section__info--wrap {
    gap:2.5rem;
}
    
@media screen and (min-width: 767px) {
    .section__info--wrap {
        grid-template-columns: 5fr 5fr;
        gap:7.5rem;
    }
}
        
        
        
@media screen and (min-width: 767px) {
    .section__rock__hero {
        margin-top:2.5rem;   
    }
    
    .section__rock__hero--wrap {
        grid-template-columns:5.5fr 4.5fr;
        gap:5rem;
    }
        
    .left__section {
        display: grid;
        place-content: center start;
    }
        
    .rock__resume p {
        max-width: 22.5rem;
    }
}
        
.type__rock ul li {
    margin-bottom: 1rem;
}

.type__rock ul li::marker {
    margin-top:0.25rem;
}


/********** Extracction Section ***********/

.extraction__info--text h3 {
    margin-bottom:0.25rem;
}
    
.extraction__wrap {
    background-color:#fafafa;
}
        
.extraction__image img {
    height:100%;
    object-fit:cover;
}
        
.extraction__info {
    display: grid;
    align-content: center;
}
    
.locations p:last-child {
    margin-bottom:0.5rem;
}
    
.locations.toogle__items {
    gap: 0.25rem;
}
    
.location__title {
    font-weight: var(--font-medium);
    cursor: pointer;
    opacity:0.5;
    margin-left:-1.5rem;
    transition: .3s ease;
}
        
.location__title svg {
    opacity:0;
    transition:.3s ease;
}
        
.active .location__title {
    margin-left: 0;
}
         
.active .location__title,
.active .location__title svg {
    opacity:1;
}
        
@media screen and (min-width: 650px) {
    .locations .toogle__item-bottom {
        margin-left: 0rem;
    }
}
        
        
.location__descriptions {
    position: relative; 
}

.location__descriptions .modal__item {
    filter:blur(4px);
}
        
.location__descriptions .modal__item.active {
    filter:blur(0);
}
        
@media screen and (min-width: 767px) {
    
    .section__extraction {
    }
    
    .extraction__wrap {
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:5%;
    }
    
    .not__image .extraction__wrap {
        grid-template-columns: none;
    }
    
    .extraction__info {
        max-width: calc(540px - 5%);
        margin-right: 21%;
        margin-left: 0;
    }
    
    .not__image .extraction__info {
        margin-right:auto;
        margin-left:auto;
    }
    
    .extraction__image {
        grid-column:1;
        grid-row:1;
        max-height: calc(100vh - 7.5rem);
    }
}



/********** Galería Usos **********/
.uses__gallery {
    columns: 2;
    column-gap: 1rem;
    row-gap: 1rem;
}
        
.uses__gallery img {
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    line-height: 0;
    display: block;
    opacity:0;
    transform: translateY(2.5rem);
    transition:0.5s ease-in-out;
    transform-origin:bottom;
    width: 100%;
}
        
.uses__gallery img[src$=".png"] {
    padding:1.5rem;
}
         
.uses__gallery img.visible {
    opacity:1;
    transform: translateY(0);
}
        
@media screen and (min-width: 767px) {
    .section__uses--wrap {
        grid-template-columns: 4fr 6fr;
        gap:5rem;
    }
    
    .not_gallery .section__uses--wrap {
        grid-template-columns: none;
    }
    
    .section__uses .uses__gallery {
        margin-top:3.5rem;
        margin-bottom:1.5rem;
    }
}
        
@media screen and (min-width: 995px) {
    .section__uses .uses__gallery {
        margin-top:5rem;
    }
}















/*================= WORKSHOP PAGE ==================*/

.page__workshop .thumbnail__content {
    margin-bottom:1.5rem;
}

.workshop__hero h1 {
    font-size:calc(var(--big-font-size) * 1);
}

    
.workshop__side--wrap {
    border-radius: 0.725rem;
    box-shadow: 0 8px 18px rgba(92,84,122,.1);
    padding: 1.5rem 1.5rem;
}
    
.share__links {
    display: flex;
    gap: 1.5rem;
    width: fit-content;
}
    
     
@media screen and (min-width: 767px) {
    
    .section__workshop__details {
        margin-top:6rem;
    }
    
    
    .workshop__details--wrap {
        grid-template-columns:6fr 4fr;
        gap:10%;
    }
    
    
        
    .workshop__side--wrap {
        position: sticky;
        top: 7.5rem;
        max-width:21rem;
        margin-left:auto;
    }
    
    .workshop__hero .button__workshop {
        width:fit-content;
    }
    
}


.detail__items {
    display:grid;
    gap:1.5rem;
    grid-template-columns: 1fr 1fr;
    font-size:var(--small-font-size);
}

.detail__items p {
    margin-bottom:0;
}

.detail__items [class^="item__"]:last-child {
    margin-bottom:1.5rem;
}

.detail__items .item__dirigido {
    grid-column: 1/3;
}

.detail__items h3 {
    font-size:var(--normal-font-size);
}

.button__workshop {
    border-radius:.25rem;
}


/********* Workshop Form *********/

.toggle__booking {
    display:flex;
    justify-content:space-between;
    font-size:var(--small-font-size);
    color:var(--title-color);
    padding: 0.75rem 1.5rem;
    font-weight:var(--font-medium);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    background-color:var(--body-color);
    align-items: center;
    box-shadow: 0 -8px 18px rgba(92,84,122,.1);
    cursor:pointer;
}
    
.workshop__side--wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    background-color: var(--body-color);
    box-shadow: 0 -8px 18px rgba(92,84,122,.1);
    transform:translateY(105%);
    transition: transform .3s ease;
}
    
.show.workshop__side--wrap,
.active.workshop__side--wrap {
    transform:translateY(0%);
}

.button.disabled {
    opacity:0.75;
    pointer-events:none
}
    
.detail__items ul.list__icon li {
    margin-left:0.75rem;
}
    
.workshop__side p {
    margin-bottom:0;
}
    
.workshop__side select {
    padding: 1.75rem 1rem 0.5rem 1rem;
    width: 100%;
    cursor: pointer;
    border-radius: 0.5rem;
}
    
    
.workshop__select .label {
    position: absolute;
    pointer-events: none;
    font-size: var(--smaller-font-size);
    padding: 0.65rem 0.5rem 0 1rem;
    font-weight: var(--font-medium);
}
    
.workshop__side select option:first-child {
    display:none;
} 
    
    
.workshop__price {
}
    
.workshop__currency {
    font-size:var(--small-font-size);
}
    
  
.workshop__details {
    gap: 1.5rem;
}
    
.workshop__details h2 {    
    margin-bottom:1rem;
}
    
.workshop__target ul,
.workshop__gallery {    
    margin-bottom:1.5rem;
}

.workshop__hero--info {
    display:grid;
    align-content: end;
}
    
.workshop__hero--image img {
    -webkit-animation: fadeIntoLeft 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
    animation: fadeIntoLeft 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
}

.page__workshop .uses__gallery img {
    opacity:1;
    transform:none;
}
    
@media screen and (min-width: 767px) {
    
    .active.workshop__side--wrap {
        animation: shadowAnimation 3s ease-in-out 1s;
    }
    
    .workshop__side--wrap {
        z-index: initial;
        box-shadow: 0 8px 18px rgba(92,84,122,.15);
        transform:none;
        transition: none;
        position: sticky; 
        top: 7.5rem;
        max-width: 21rem;
        margin-left: auto;
    }
    
    .toggle__booking {
        position: initial; 
        box-shadow: none;
        display:none;
    }
    
    .workshop__side .modal__close {
        display:none;
    }
    
    .workshop__hero--wrap {
        grid-template-columns:1fr 1fr;
        gap: 10%;
    }
    
    .workshop__hero--image {
        height:calc(100vh - 4rem);
        padding: 1.5rem 0;
    }
    
    .workshop__hero--image img {
        height:100%;
        object-fit:cover;
        border-radius: 0.75rem;
    }
}






















/*================= HOME PAGE ==================*/

/********* Hero Section *********/
.home__page {
    overflow:hidden;
}

.section__hero {
    min-height: calc(100vh - var(--menu-height));
    align-items: center;
}

.section__hero h1 {
    color:var(--text-color-light);
    text-align:center;
}

.double__line {
    font-size: var(--h3-font-size);
}

.main__line {
    font-size:var(--big-font-size);
    color:var(--title-color);
}

.last__line {
    display: flex;
    align-items: center;
    flex-direction:column;
}

.hero__title {
    display:grid;
    align-content: center;
}

.hero__media--wrap {
    margin: auto;
    max-width: 32.5rem;
    max-height:100vh;
    animation: float 4s ease-in-out infinite;
    position:relative;
}

.hero__media video, 
.hero__media img {
    -webkit-animation: fadeIn 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
    animation: fadeIn 2.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0.15s both;
}

.hero__media video {
    height:100%;
    margin:auto;
}

.hero__media img {
    height:100%;
    object-fit:contain;
}


@media screen and (min-width: 767px) {
    .section__hero {
        min-height: calc(100vh - var(--menu-height));
        align-items: center;
    }
    
    .section__hero--wrap {
        grid-template-columns: auto 3fr;
        column-gap:max(12.5%, 7.5rem);
    }
    
    .section__hero h1 {
        writing-mode: vertical-rl;
        transform: rotate(180deg) translateX(-5.5rem); 
        text-align: initial;
    }
    
    .first__line{
        height: 100%;
        display: inline-flex;
        justify-content: flex-end;
        padding-bottom: 0.25rem;
    }
    
    .last__line {
        flex-direction:row;
        gap: 0.75rem;
    }
    
    .double__line {
        display: inline-flex;
        flex-direction: column;
        line-height: 1.25;
        font-size: var(--h3-font-size); 
    } 
    
    .hero__media {
        transform: translate(1.5rem, -1.5rem);
    } 
    
    .hero__media--wrap {
        height:100%;
        max-height:27.5rem; 
    }
}

/********* Video Section *********/
.section__video__home .container__full {
    max-width: 767px;
}

.section__video__home .container__full.observer {
    opacity:0;
    transform:translateY(2.5rem);
    transition: .5s ease-in-out; 
}

.section__video__home .container__full.observer.visible {
    opacity:1;
    transform:translateY(0);
}


/********* Sculptures Section *********/
.section__scultures--cat h2 {
    font-size: var(--big-font-size);
    padding-bottom:2.5rem;
}
    
.section__scultures--cat .container {
    max-width:676px;
}
        
.grid__categories {
    row-gap:5rem;
}
    
.category__image,
.category__image img {
    position:relative;
}
    
.category__image {
    padding-bottom:10%;
    display:grid;
    place-content:center; 
}
    
.category__image img {
    width: 80%;
    margin: auto;
    transition: transform .3s ease; 
    transform-origin:bottom;
    aspect-ratio: 4 / 5;
    object-fit: contain; 
}
    
.category__name {
    margin:auto;
    position: absolute;
    bottom: 1.5rem;
    left: 2.5rem;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    width: auto; 
}
    
.category__item a:hover .category__name {
    text-decoration:underline;
}
    
.category__item a:hover .category__image img { 
    transform: scale(1.02);
}
    
.category__image:before {
    content:"";
    width: calc(100% - 3rem);
    left: 50%;
    transform: translateX(-50%);
    height:47.5%;
    bottom:0;
    background-color: #f5f5f5; 
    position:absolute; 
}
        
.category__item {
    align-content: start;
    position:relative;
}
        
.category__item a {
    display:grid;
    gap:0.75rem;
}
        
.category__item .observer {
    opacity:0;
    transform:translateY(2.5rem); 
    transition: 0.5s ease-in-out;
}
        
.category__item .observer.visible {
    opacity:1;
    transform:translateY(0rem);
}
        
.category__item:nth-child(3) {
    grid-row-start: 2;
}
    
@media screen and (min-width: 480px) {
    .grid__categories {
        grid-template-columns: 1fr 1fr;
        row-gap: 8.5rem;
        padding-bottom: 12.5rem;
    }
    
    .category__item:nth-child(3) {
        grid-column-start: 2;
        transform: translateY(14.5rem);
        grid-row-start: 1;
    }
    
    .category__item:nth-child(4) {
        transform: translateY(16.5rem);
    }
    
    .category__name {
        position: initial;
        writing-mode: initial;
        transform: none;
        width:calc(100% - 3rem);
    }
}

@media screen and (min-width: 767px) {
    .grid__categories {
        column-gap: 3.5rem;
    }
} 







/********* Workshops Section *********/
.home__page h2 {
    font-size:var(--big-font-size);
}
    
.section__home__workshops h2 .color-light{
    color:var(--text-color-light);
    display:block;
    font-size:var(--h3-font-size);
}
    
.home__workshops--wrap { 
    row-gap:3.5rem;
}
    
.home__workshop--content {
    align-content: start;
    gap: 0.5rem;
}
    
.home__workshop--actions {
    gap:1rem;
}
    
.home__workshop--data { 
    font-size: var(--smaller-font-size);
    color: var(--text-color-light);
    column-gap: 3.5rem;
    align-items: center;
    flex-wrap:wrap;
}
    
.home__workshop--data .label {
    color:var(--title-color);
    font-weight: var(--font-medium);
}
    
.section__home__workshops .button {
    border-radius:0.25rem;
    width:fit-content;
    position:relative;
    font-size:var(--small-font-size);
}
        
.section__home__workshops .button:hover {
    background-color:transparent;
}
        
.home__workshop--btn {
    position:relative;
    width:fit-content;
}
        
.sfere:before,
.sfere:after {
    content:"";
    position: absolute;
    border-radius: 50%;
    background-color:var(--text-color-light);
    opacity:.25;
    aspect-ratio:1;
}
        
.home__workshop--btn:before {
    width: 3rem;
    top: -1.5rem;
    right: -1.5rem;
}
        
.home__workshop--content p {
    max-width: 22rem;
    font-size: var(--small-font-size);
    margin-top: 0.5rem;
}
        
.home__workshop--image {
    max-width:17.5rem;
    margin:auto;
    padding-right:1.5rem;
}
    
.home__workshop--image img {
    position:relative;
}
        
.home__workshop--image--wrap {
    position:relative;
}
        
.home__workshop--image--wrap:after {
    width: 7.5rem;
    top: -2.5rem;
    right: -2.5rem;
}
    
.home__workshop--image--wrap:before {
    width: 4rem;
    bottom: -0.5rem;
    left: 3rem;
}
    
    
@media screen and (min-width: 767px) {
    .home__workshops--wrap {
        display:grid;
        grid-template-columns: 5fr 6fr;
        column-gap: min(3.5rem, 12%);
        align-content:center;
        padding: 3rem 0;
    }
    
    .home__workshop--image {
        grid-row: 1/3;
        grid-column-start: 2;
    }
}    



/********* CTA Section *********/
.section__cta {
    text-align:center;
}



/********* Products Section *********/

.home__products .view__shop {
    margin-top:3.5rem;
}


.observer.product {
    opacity: 0;
    transform: translateY(2.5rem);
    transition: all 0.5s ease-in-out;
}
 
.observer.visible.product { 
    opacity:1;
    transform: translateY(0rem);
}

.esculturas__list__title {
    font-size:var(--big-font-size); 
}
 

@media screen and (min-width: 767px) {
    .home__products {
        grid-template-columns: repeat(2, 1fr);
        row-gap:3.75rem;
    } 
    
    .home__products .products__list,
    .home__products .esculturas__list { 
        grid-column: 1 / 3;
    }
    
    .home__products .view__shop {
        grid-column: 2;
        grid-row: 1;
        place-content: center right;
        margin-top:0;
    }
    
    .home__products .view__shop a {
        width:8rem;
        font-size:var(--small-font-size);
    }
    
    .home__products .view__shop a:hover span
    
    .home__products .view__shop a:hover span { 
        border-bottom:1px solid currentColor;
        
    }
    
    .observer.product:nth-child(1) { transition-delay:0.0s; }
    .observer.product:nth-child(2) { transition-delay:0.3s; }
    .observer.product:nth-child(3) { transition-delay:0.6s; }  
    
}
 









/************ REVEAL CALL TO ACTION ************/ 
@keyframes fadeInUp { to {opacity: 1; transform: translateY(0); filter:blur(0px);} }
@keyframes fadeInRight { to {opacity: 1; transform: translateX(0);} }
@keyframes fadeOpacity { to {opacity: 1;} }

.a__r--text {
    overflow: hidden;
    font-size: var(--big-font-size);
    font-family: var(--brand-font);
    line-height: 1.25;
    
}

.visible .a__r--text .r-animation {
    display:inline-block;
    opacity: 0;
    transform: translateY(100%);
    animation: fadeInUp 0.75s forwards;
}

.a__r--btn {
    display: flex;
    justify-content: center;
    gap: 0.25rem;
    align-items: center;
    font-size: var(--small-font-size);
    width: fit-content;
    margin: auto;
}

.a__r--btn .r-animation,
.a__r--btn svg {
    opacity:0;
}

.a__r--btn svg {
    transform:translateX(-0.5rem);
    overflow:visible;
    transition: .3s ease;
}

.a__r--btn svg path {
    transition: .3s ease;
}

.a__r--btn:hover svg path {
    transform:translateX(0.375rem);
}

.visible .a__r--btn .r-animation {
    animation: fadeOpacity 0.4s forwards; 
    animation-delay:calc( ((var(--countwords) * 0.25) + 0.25) * 1s); 
}

.visible .a__r--btn svg {
    animation: fadeInRight 0.3s forwards;
    animation-delay:calc( ((var(--countwords) * 0.25) + 0.40) * 1s);
}

.visible .a__r--text .r-animation { animation-delay: calc((var(--order) - 1) * 0.2s); }



/************ SCRAMBLE LINK ************/ 
.scramble__link,
.scramble__link:visited {
    font-size: var(--smaller-font-size);
    display: flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--text-color-light);
    transition: color .3s ease-in-out;
    width:fit-content;
}

[data-text-scramble]:after {
   content: attr(data-scramble-suffix);
   opacity:.3;
}

.scramble__link:hover {
    color:var(--title-color);
}

.scramble__link svg {
    width:0px; 
    transition:.25s ease-in-out;
}

.scramble__link:hover svg { 
    width:16px;
    margin-right:0.25rem; 
}




/************ SCRAMBLE LINK ************/ 
.ball {
    display: block;
    background: black;
    margin: 0;
    border-radius: 50%;
    height: var(--size);
    width: var(--size);
    background: radial-gradient(circle at 100px 100px, #5cabff, #000);
}
.ball .shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 50%);
    -webkit-transform: rotateX(90deg) translateZ(-150px);
    -moz-transform: rotateX(90deg) translateZ(-150px);
    -ms-transform: rotateX(90deg) translateZ(-150px);
    -o-transform: rotateX(90deg) translateZ(-150px);
    transform: rotateX(90deg) translateZ(-150px);
    z-index: -1;
}
.stage {
    width: var(--size);
    height: var(--size);
    -webkit-perspective: 1200px;
    -moz-perspective: 1200px;
    -ms-perspective: 1200px;
    -o-perspective: 1200px;
    perspective: 1200px;
    -webkit-perspective-origin: 50% 50%;
    -moz-perspective-origin: 50% 50%;
    -ms-perspective-origin: 50% 50%;
    -o-perspective-origin: 50% 50%;
    perspective-origin: 50% 50%;
} 







.esculturas__list header {
                align-content: end;  
            }
            
            .archive__esculturas h1 {
                font-size:var(--big-font-size);
            }
            
            .archive__esculturas h2 {
                text-align: center; 
            }
            
            
            .esculturas__list {
                gap: 7.5rem 5rem;
                grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
            }
            
            .esculturas__list .thumbnail__escultura {
                display:block;
                aspect-ratio:4/5;
                width:100%;
                transition: transform .3s ease;
            }
            
            
            
            
            .esculturas__list .thumbnail__escultura img {
                display:block;
                height:95%;
                object-fit: contain;
            }
            
            .esculturas__list h2 {
                padding: 0 1.5rem;
                text-align: center;
            }
            
            .esculturas__list article:hover .thumbnail__escultura {
                transform: scale(1.035); 
            }
            
            .esculturas__list article:hover h2 {
                text-decoration: underline;
            } 

