/*
--------------------------------------------------------------------------------
  GLOBALES
--------------------------------------------------------------------------------
*/

:root {
  
  /* Body */
  --bs-font-sans-serif: 'Barlow', sans-serif;
  --bs-body-color: #000;

  /* Links */
  --bs-link-color: #000;
  --bs-link-hover-color: rgba(0, 0, 0, 0.5);

  /* Royal */
  --ry-heading-font-family: 'Barlow Condensed', sans-serif;
  --ry-lightgrey: rgba(0, 0, 0, 0.03);

  --size-3: 1rem;
  
}

html {
  font-size: 1rem;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  overflow-x: hidden !important;
  background-color: rgba(0, 0, 0, 0.04);
}

.body-container {
  background-color: #fff;
  max-width: 1600px;
  margin: 0 auto;
}

/*
--------------------------------------------------------------------------------
  LAYOUT
--------------------------------------------------------------------------------
*/

/* Containers */


/* Sections */
section,
.vc_section {
  padding: 4rem 0;
  margin: 0;
}

.section-xxl {
  padding: 7rem 0;
}

/* Row */
.row {
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 1.5rem;
}

.g-xl {
  --bs-gutter-x: 5rem;
  --bs-gutter-y: 2.5rem;
}

.g-none {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

/* WPBakery */
.wpb_button, 
.wpb_content_element, 
ul.wpb_thumbnails-fluid > li {
  margin-bottom: 2rem;
}

.wpb_content_element:last-child {
  margin-bottom: 0;
}

/* Main */

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-stretch: normal;
  font-style: normal;
  letter-spacing: normal;
  text-transform: uppercase;
}

h1, h2, h3,
.h1, .h2, .h3 {
  font-family: var(--ry-heading-font-family);
  font-weight: 600;
  line-height: 1.2;
}

h4, h5, h6,
.h4, .h5, .h6 {
  font-family: var(--bs-font-sans-serif);
  font-weight: 700;
  line-height: 1.3;
}


/* Text */
b, strong {
  font-weight: 700;
}

i {
  font-style: italic;
}

.small, small {
  font-size: .785em;
}

/* Font size */
.text-large {
  font-size: 1.25rem;
}

.text-medium {
  font-size: 1.125rem;
}

.text-regular {
  font-size: 1rem;
}

.text-small {
  font-size: 0.875rem;
}

.text-tiny {
  font-size: 0.75rem;
}


/* Links */
a:focus-visible {
  outline: none;
}

/* Images */
img {
  height: auto !important;
  max-width: 100% !important;
}

iframe,
lottie-player {
  max-width: 100%;
}

/* Botones */
.btn {
  --bs-btn-padding-x: 1.5rem;
  --bs-btn-padding-y: 0.75rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 700;
  --bs-btn-line-height: 1.5;
  --bs-btn-border-width: 0;
  --bs-btn-border-radius: 100px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.btn:hover {
  box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
  opacity: 1;
}

.btn-link {
  --bs-btn-color: #000;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-border-width: 1px;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #000;
  --bs-btn-focus-shadow-rgb: 255, 255, 255;
  text-decoration: none;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #000;
  --bs-btn-border-width: 2px;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-border-color: #000;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #000;
  --bs-btn-border-color: #000;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #000;
  --bs-btn-hover-border-color: #000;
  --bs-btn-focus-shadow-rgb: 255,255,255;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #000;
  --bs-btn-active-border-color: #000;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: rgba(0, 0, 0, 0.8);
  --bs-btn-disabled-border-color: #000;
}

.btn-dark:hover {
  box-shadow: 0px 8px 17px rgba(0, 0, 0, 0.3);
}

/* Colors */

/* Languages selector */
#trp-floater-ls {
  box-shadow: none;
  border-radius: 0;
}

#trp-floater-ls.trp-color-light {
  background: #fff;
}

#trp-floater-ls.trp-bottom-left {
  left: 0;
}

#trp-floater-ls-current-language a, 
#trp-floater-ls-language-list a {
  padding: 0.25rem 0.5rem;
  font-size: 0.625rem;
}

#trp-floater-ls-language-list a:hover {
  background-color: #000;
}

/*
--------------------------------------------------------------------------------
  HEADER
--------------------------------------------------------------------------------
*/

/* Navbar Fixed */
.navbar-fixed {
  align-items: center;
}

.navbar-toggler {
  font-weight: 600;
  text-transform: uppercase;
  vertical-align: middle;
}

/* Navbar */
.navbar {
  --bs-navbar-color: rgba(0, 0, 0, 1);
  --bs-navbar-hover-color: rgba(0, 0, 0, 0.5);
  --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
  --bs-navbar-active-color: rgba(0, 0, 0, 1);
  --bs-navbar-padding-y: 1.875rem;
  --bs-navbar-brand-padding-y: 0;
  --bs-navbar-nav-link-padding-x: 1rem;

  --bs-navbar-toggler-padding-y: 0.5rem;
  --bs-navbar-toggler-padding-x: 0.6rem;
  --bs-navbar-toggler-font-size: 0.9375rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: #fff;
  --bs-navbar-toggler-border-radius: 100px;
  --bs-navbar-toggler-focus-width: 0;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.6875rem;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-font-weight: 700;
}

.navbar-nav .nav-link {
  font-style: italic;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.navbar-nav > .current-menu-item > .nav-link,
.navbar-nav > .current-menu-ancestor > .nav-link {
  background-image: url('data:image/svg+xml;utf8,<svg width="100" height="1.5" viewBox="0 0 100 1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 1H100" stroke="black" /></svg>');
  /* background-image: url(../images/line.svg); */
  background-repeat: repeat-x;
  background-size: auto;
  background-clip: content-box;
  background-position: center bottom;
  background-origin: content-box;
}

/* Dropdown menu */
.dropdown-toggle::after {
  background-image: url('data:image/svg+xml;utf8,<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.8977 7.70247C6.67802 7.92214 6.32192 7.92214 6.10225 7.70247L0.367387 1.96759C0.14772 1.74792 0.14772 1.39182 0.367387 1.17214L0.632557 0.906944C0.852225 0.687269 1.20838 0.687269 1.42805 0.906944L6.49997 5.97889L11.5719 0.906944C11.7916 0.687269 12.1477 0.687269 12.3674 0.906944L12.6326 1.17214C12.8522 1.39182 12.8522 1.74792 12.6326 1.96759L6.8977 7.70247Z" fill="black"/></svg>');
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 0.8125rem auto;
  width: 1.5em;
  height: 1.5em;
  border: none;
  margin-left: 0.5rem;
  vertical-align: bottom;
}

.navbar .nav-item .dropdown-menu { 
  margin-top: 0;
}

.dropdown-menu {
  --bs-dropdown-min-width: 8.5rem;
  --bs-dropdown-padding-x: 1rem;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-border-radius: 0;
  --bs-dropdown-border-width: 0;
  --bs-dropdown-box-shadow: 0px 32px 64px -12px rgba(0, 0, 0, 0.14);
  --bs-nav-link-padding-y: 0.5rem;
  --bs-navbar-nav-link-padding-x: 0;
  --bs-navbar-nav-item-padding-x: 0;
  --bs-navbar-nav-item-padding-y: 0;
  /* --bs-nav-link-font-size: 1rem; */
  --bs-nav-link-font-weight: 400;
  box-shadow: var(--bs-dropdown-box-shadow);
}

.dropdown-menu .nav-item + .nav-item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/* Show on hover only when not floating menu */
#navbarNav:not(.show) .nav-item:hover .dropdown-menu { 
  display: block;
}

/* Buttons */
.nav-item-account {
  padding: 0.1875rem 0;
}

.navbar .btn {
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  font-style: normal;
}

.navbar .btn-cart {
  margin-left: 1rem;
  font-size: 0.9375rem;
  font-weight: 600;
}


/******** Fixed ********/
.navbar-fixed.stick {
  position: fixed;
  right: 22px;
  bottom: 25px;
  z-index: 9999;
  display: block !important;
}

.navbar-fixed.stick .navbar-toggler {
  display: inline-block;
}

.navbar-fixed.stick .collapse:not(.show) {
  display: none !important;
}

.navbar-fixed.stick .navbar-nav {
  flex-direction: column;
  width: 100%;
}

.navbar-fixed.stick .navbar-buttons {
  background: #fff;
  border-radius: 100px;
  box-shadow: 0px 8px 17px rgba(0, 0, 0, 0.3);
  padding: 0.75rem 1.5rem;
}

.navbar-fixed.stick .navbar-collapse {
  background: #FFFFFF;
  box-shadow: 0px 8px 17px rgba(0, 0, 0, 0.3);
  border-radius: 27px;
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  width: 247px;
}

.navbar .navbar-fixed.stick .btn {
  --bs-btn-padding-x: 1.25rem;
  font-size: 1rem;
}

.navbar-fixed.stick .navbar-nav {
  --bs-nav-link-font-size: 1rem;
}

.navbar-fixed.stick .navbar-nav .nav-item + .nav-item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.navbar-fixed.stick .navbar-nav .nav-item > a {
  display: inline-block;
  padding-left: 0;
  padding-right: 0;
}

.navbar-fixed.stick .navbar-nav .nav-item-account .btn-link {
  --bs-btn-padding-x: 0;
  --bs-btn-hover-border-color: #fff;
}

.navbar-fixed.stick .navbar-nav .nav-item-account .btn-link:hover {
  box-shadow: none;
}

.navbar-fixed.stick .dropdown-menu {
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0;
  --bs-dropdown-box-shadow: none;
  position: inherit;
}

.navbar-fixed.stick .dropdown-menu .nav-item + .nav-item {
  border-top: none;
}

.navbar-fixed.stick .dropdown-menu .nav-link {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}



/* Promo */
#promo {
  background-color: var(--ry-lightgrey);
  padding: 1rem 0;
  text-align: center;
  font-size: 0.875rem;
}


/*
--------------------------------------------------------------------------------
  GENERAL BLOCKS
--------------------------------------------------------------------------------
*/

/* Video lightbox */
.video-lightbox {
  position: relative;
}

.video-lightbox .btn-play {
  background: url(../images/icon-play.svg) no-repeat 0 0;
  display: block;
  width: 56px;
  height: 56px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Widget Nav Menu */
.widget_nav_menu .widgettitle {
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.widget_nav_menu .menu {
  list-style: none outside none;
  padding: 0;
  margin: 0;
}

.widget_nav_menu .menu-item + .menu-item {
  margin-top: 0.25rem;
}

.widget_nav_menu .menu a {
  text-decoration: none;
}

/* Content bottom cols */
#content-bottom-cols {
  padding-top: 0;
  clear: both;
}

h2.widgettitle {
  margin-bottom: 3.125rem;
}

.widget_custom_html + .widget_custom_html {
  margin-top: 4rem;
}


/*
--------------------------------------------------------------------------------
  PAGE - HOME
--------------------------------------------------------------------------------
*/

/* Hero */
.full-image * {
  width: 100%;
}

/* Photowall */
.vc_col-has-fill > .vc_column-inner {
  height: 100%;
}

.photowall-row {
  --bs-gutter-x: 0.5rem;
}

.photowall-caption {
  margin: 1.5rem 0;
  padding: 56px 50px 101px 50px;
  text-align: center;
}

.photowall-caption > .wpb_wrapper {
  max-width: 507px;
  margin: 0 auto;
}

/* Heading row */
.heading-row {
  align-items: end;
  margin-bottom: 3.125rem;
  text-transform: uppercase;
}

.heading-row > div:last-child {
  text-align: right;
}

.heading-row h2 {
  margin-bottom: 0;
  margin-top: 1rem;
}

/* Creation block */
.home-creation-block {
  font-weight: 600;
}

.home-creation-block .wpb_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.home-creation-block .wpb_single_image {
  margin-bottom: 1.5rem;
}

/* About block */
.home-about-title {
  text-align: center;
  margin-bottom: 4rem;
}

.home-about-content {
  max-width: 860px;
  padding-bottom: 2.5rem;
}

/*
--------------------------------------------------------------------------------
  PAGE: CREATION
--------------------------------------------------------------------------------
*/
.creation-features-row {
  --bs-gutter-y: 4.5rem;
}


/*
--------------------------------------------------------------------------------
  PAGE: ABOUT
--------------------------------------------------------------------------------
*/
.hero {
  background-color: #F5F5F5;
}

#about-hero {
  padding: 1.5rem 0;
  text-align: center;
}

.history-row > div.col-md-5 {
  width: 44%;
}

.history-row > .col-md-7 {
  width: 56%;
}


/*
--------------------------------------------------------------------------------
  PAGE: ACADEMY
--------------------------------------------------------------------------------
*/


/* Academy */
.academy-row {
  --bs-gutter-x: 5rem;
  --bs-gutter-y: 3rem;
}

/* Trips */
#academy-trips {
  padding-top: 3.4375rem;
  padding-bottom: 5.25rem;
}

.trips-caption {
  text-align: center;
  margin-bottom: 5.75rem;
}

.trips-caption h2 {
  font-style: italic;
  margin-bottom: 1rem;
}

.trips-caption p {
  max-width: 445px;
  margin: 0 auto;
  font-size: 1.125rem;
}

.trips-row {
  --bs-gutter-x: 4rem;
  --bs-gutter-y: 0;
  max-width: calc(1018px + var(--bs-gutter-x));
  margin: 0 auto;
}

.trips-card {
  background: #F7F7F7;
  padding-bottom: 45px;
}

.trips-card h3 {
  margin: 1.25rem 2.5rem 0.5rem 2.5rem;
}

.trips-card p {
  margin: 0 2.5rem 2.5rem 2.5rem;
}

.trips-card .btn {
  margin: 0 2.5rem;
}

/* Club */
.club-row {
  --bs-gutter-x: 5rem;
  --bs-gutter-y: 3rem;
  align-items: center;
}

.club-row h2 {
  margin-bottom: 1.5rem;
}

.club-card {
  border: 1px solid #000;
  padding: 1rem;
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  text-decoration: none;
}

.club-card .picture {
  margin-right: 1rem;
  width: 142px;
  height: 85px;
  background-color: rgba(0, 0, 0, 0.03);
  text-align: center;
}

.club-card h3 {
  margin-bottom: 0;
}

/* Teacher */
.teacher-row {
  --bs-gutter-x: 5rem;
  --bs-gutter-y: 3rem;
  align-items: center;
}

.teacher-card {
  border: 1px solid #000;
  padding: 1rem;
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  text-decoration: none;
}

.teacher-card .picture {
  margin-right: 1rem;
  width: 48px;
  height: 48px;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 50%;
  text-align: center;
}

.teacher-card .picture img {
  border-radius: 50%;
}

.teacher-card h3 {
  margin-bottom: 0;
  margin-right: 0.5rem;
}

/*
--------------------------------------------------------------------------------
  PAGE: CONTACT
--------------------------------------------------------------------------------
*/

/* Form */
.wpforms-container .wpforms-description {
  margin-bottom: 1.25rem;
  font-size: 1.125rem;
}

.wpforms-container .wpforms-field {
  padding: 0.75rem 0;
}

.wpforms-container .wpforms-field-label {
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
  padding: 0.7rem;
  border: 1px solid #000;
  color: #000;
}

.wpforms-container ul {
  padding-left: 0;
}

.wpforms-container textarea.wpforms-field-medium {
  height: 180px;
}

.wpforms-container .wpforms-field-checkbox a {
  font-size: 0.8125rem;
  font-weight: 700;
}

.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0 0.75rem 0 0;
  vertical-align: text-bottom;
}

.wpforms-container .wpforms-submit-container {
  padding-top: 29px;
}

/* Block */
.contact-block .wpb_single_image {
  margin-bottom: 1.5rem;
}

.contact-block .h4 {
  font-family: var(--bs-font-sans-serif);
  font-weight: 700;
  margin-bottom: 1rem;
}

.contact-block p {
  margin-bottom: 1.5rem;
}


/*
--------------------------------------------------------------------------------
  WOOCOMMERCE BLOCKS
--------------------------------------------------------------------------------
*/


/* Category list */
.woocommerce ul.products {
  margin-bottom: 0;
}

/* .woocommerce ul.products li.product.product-category,
.woocommerce-page ul.products li.product.product-category {
  margin-bottom: 3rem;
} */

.woocommerce ul.products li.product-category a img {
  margin: 0;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  position: absolute;
  right: 13px;
  bottom: 28.5px;
  background: #000;
  color: #fff;
  padding: 12px 24px;
  font-family: var(--bs-font-sans-serif);
  border-radius: 100px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
}

.woocommerce ul.products li.product-category a .woocommerce-loop-category__title:hover {
  box-shadow: 0px 8px 17px rgba(0, 0, 0, 0.3);
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title .count {
  display: none;
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 1.5rem 0;
  padding: 0;
  font-size: 0.8125rem;
  color: #000;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.woocommerce .woocommerce-breadcrumb a {
  color: #000;
  text-decoration: none;
  font-weight: 400;
}

.woocommerce .woocommerce-breadcrumb .delimiter {
  font-weight: 400;
  margin: 0 0.5rem;
}

/* Paginado */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-size: 1rem;
  font-weight: 400;
  padding: 0.5rem 0.75rem;
  min-width: 1.75rem;
  min-height: 2rem;
}

.woocommerce nav.woocommerce-pagination ul li a.next,
.woocommerce nav.woocommerce-pagination ul li a.prev {
  line-height: 0.8;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
 background: rgba(0, 0, 0, 0.03);
 color: #000;
}


/*
--------------------------------------------------------------------------------
  WOOCOMMERCE: CATEGORY
--------------------------------------------------------------------------------
*/

/* Hero */
section.category-hero {
  padding: 0;
}

/* Filter */
.woocommerce-notices-wrapper {
  width: 75%;
}

.woocommerce .woocommerce-ordering {
  margin-top: -5rem;
  margin-bottom: 5rem;
}

.woocommerce .woocommerce-ordering select {
  appearance: none;
  background: url(../images/dropdown-toggle.svg) no-repeat calc(100% - 12px) 50%;
  border: 1px solid #000;
  padding: 12px 24px;
  width: 220px;
  color: #000;
}

/* Product List */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
  margin-bottom: 5rem;
  margin-right: 2rem;
  width: calc(25% - 1.5rem);
}

.woocommerce ul.products li.product.product-category, 
.woocommerce-page ul.products li.product.product-category {
  margin-bottom: 2rem;
}

.woocommerce ul.products li.last, 
.woocommerce-page ul.products li.last {
  margin-right: 0;
}

/* Thumbnails */
.woocommerce .products .product .thumbnails {
  background: rgba(0, 0, 0, 0.03);
}

.woocommerce .products .product .thumbnails img {
  mix-blend-mode: multiply;
  /* height: 304px !important; */
  /* width: 304px; */
  object-fit: cover;
  padding: 0;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
}

.woocommerce .products .product .thumbnails img:nth-of-type(2) {
  display: none;
}

.woocommerce .products .product:hover .thumbnails img:nth-of-type(2) {
  display: block;
}
.woocommerce .products .product:hover .thumbnails img:nth-of-type(1) {
  display: none;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title, 
.woocommerce ul.products li.product h3 {
  font-style: italic;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 1rem 0 0 0;
  color: #000;
}

/* Category */
.woocommerce ul.products li.product .woocommerce-loop-product__category {
  font-size: 1rem;
  font-weight: 400;
  color: #000;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: 1.25rem;
  font-weight: 700;
  color: #000;
  margin: 0.5rem 0 0 0;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

.woocommerce .products .product a img {
  background-color: rgba(0, 0, 0, 0.03);
}

.woocommerce ul.products li.product .onsale {
  margin: 0.5rem;
}

/* Outofstock */
.woocommerce .products .product.outofstock .thumbnails {
  opacity: 0.5;
}

/* Product marks */
.woocommerce span.onsale {
  background-color: #000;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  padding: 0.5rem;
  margin: 0.5rem;
  border-radius: 0;
  min-height: auto;
  min-width: auto;
}

.woocommerce span.onsale.itsnew {
  background-color: #fff;
  color: #000;
}

.woocommerce span.onsale.soldout {
  background-color: #fff;
  color: rgba(0, 0, 0, 0.5);
}


/* Woocommerce buttons */
.woocommerce #respond input#submit, 
.woocommerce a.button, 
.woocommerce button.button, 
.woocommerce input.button {
  font-size: 1rem;
  line-height: 1.5;
  padding: 0.75rem 1.5rem;
  font-weight: 700;
  border-radius: 100px;
  color: #fff;
  background-color: #000;
  text-transform: uppercase;
}

.woocommerce #respond input#submit:hover, 
.woocommerce a.button:hover, 
.woocommerce button.button:hover, 
.woocommerce input.button:hover {
  color: #fff;
  background-color: #000;
  box-shadow: 0px 8px 17px rgba(0, 0, 0, 0.3);
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
 background-color:#000;
 color:#fff;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
 background-color:#000;
 color:#fff
}

.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
 color:#fff;
}

/* Woocommerce Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none outside none;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a {
  text-decoration: none;
}

.woocommerce-account .addresses .title {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
}

.woocommerce-account .addresses .title::after,
.woocommerce-account .addresses .title::before {
  display: none;
}

/* Woocommerce Form */
.woocommerce form .form-row {
  margin-bottom: 1rem;
}

.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea {
  line-height: 1.5;
  padding: 0.5rem 0.75rem;
  border: 1px solid #000;
}

.select2-container--default .select2-selection--single {
  border-color: #000;
  border-radius: 0;
}

.select2-container .select2-selection--single {
  height: 40px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #000;
  line-height: 40px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  padding-left: 0.75rem;
  padding-right: 2.5rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  width: 40px;
  height: 38px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: #000;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-bottom-color: #000;
}

/* Woocommerce Info */
.woocommerce-info {
  border-top-color:#000;
}

.woocommerce-info::before {
  color: #000;
}

/* Carrito */

/* Cupón */
.woocommerce table.cart td.actions .coupon {
  display: flex;
}

.woocommerce #content table.cart td.actions .coupon .input-text, 
.woocommerce table.cart td.actions .coupon .input-text, 
.woocommerce-page #content table.cart td.actions .coupon .input-text, 
.woocommerce-page table.cart td.actions .coupon .input-text {
  width: 130px;
  margin-right: 1rem;
}

.woocommerce a.button[name="apply_coupon"], 
.woocommerce button.button[name="apply_coupon"], 
.woocommerce input.button[name="apply_coupon"] {
  color: #000;
  background-color: #fff;
  border: 2px solid #000;
}

.woocommerce a.button[name="apply_coupon"]:hover, 
.woocommerce button.button[name="apply_coupon"]:hover, 
.woocommerce input.button[name="apply_coupon"]:hover {
  box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.1);
}

/* Product Scroller */
.container-scroller {
  --bs-gutter-x: 0;
  padding-left: .75rem;
}

.container-scroller > * {
  margin: 0;
}

.product-scroller {
  --column-percent: 21.5%;
}

.product-scroller ul.products {
  display: grid;
  gap: 2rem;
  grid-auto-flow: column;
  grid-auto-columns: var(--column-percent);
  padding: 0;
  clear: none;

  overflow-x: auto;
  /* -webkit-overflow-scrolling: touch; */
}

.product-scroller ul.products::after,
.product-scroller ul.products::before {
  display: none;
}

.product-scroller ul.products > * {
  scroll-snap-align: start;
}

.product-scroller ul.products li.product {
  display: grid;
  grid-template-rows: min-content;
  gap: 1rem;
  padding: 0;
  margin: 0 !important;
  float: initial !important;
  width: initial !important;
}

.product-scroller ul.products li.product .thumbnails img {
  height: auto !important;
}

@media (hover: hover) {
  .product-scroller ul.products {
    overflow-x: hidden;
    padding-bottom: 2rem;
  }
  .product-scroller ul.products:hover {
    overflow-x: scroll;
    padding-bottom: 0.95rem;
  }
}


/*
--------------------------------------------------------------------------------
  WOOCOMMERCE: PRODUCT
--------------------------------------------------------------------------------
*/

/* Remove woo columns gallery and summary */
.woocommerce #content div.product div.images, 
.woocommerce div.product div.images, 
.woocommerce-page #content div.product div.images, 
.woocommerce-page div.product div.images {
  float: none;
  width: 100%;
}

.woocommerce #content div.product div.summary, 
.woocommerce div.product div.summary, 
.woocommerce-page #content div.product div.summary, 
.woocommerce-page div.product div.summary {
  float: none;
  width: 100%;
}

/* Gallery */
.woocommerce div.product div.images.woocommerce-product-gallery {
  padding-left: 95px;
}

.woocommerce div.product div.images .flex-control-thumbs {
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 100%;
  float: none;
  margin: 0 0 1rem 0;
}

/* Properties */
.single-product-extra {
  padding-left: 95px;
}

.single-product-block {
  background-color: #F7F7F7;
  padding: 2rem;
  margin-bottom: 2rem;
}

.single-product-table th {
  font-weight: 400;
  padding-left: 0;
}

.single-product-table td {
  font-weight: 700;
}

/* Rating */
.rating-container {
  background-color: #D9D9D9;
  display: inline-block;
  vertical-align: bottom;
}

.rating {
  position: relative;
  width: 262px;
  height: 24px;
  background: linear-gradient(to right, black, black);
  background-repeat: no-repeat;
  background-position: 0px 0px;
  background-size: 0px 100%;
}

.rating:after {
  position: absolute;
  content: '';
  height: 100%;
  width: 100%;
  background: radial-gradient(10px at center, transparent 5px, #F7F7F7 6px);
  background-position: 0px 0px;
  background-size: 26px 100%;
}

.rating-1 {
  background-size: 26px 100%;
}

.rating-2 {
  background-size: 52px 100%;
}

.rating-3 {
  background-size: 78px 100%;
}

.rating-4 {
  background-size: 104px 100%;
}

.rating-5 {
  background-size: 130px 100%;
}

.rating-6 {
  background-size: 156px 100%;
}

.rating-7 {
  background-size: 182px 100%;
}

.rating-8 {
  background-size: 208px 100%;
}

.rating-9 {
  background-size: 234px 100%;
}

.rating-10 {
  background-size: 260px 100%;
}

/* Shock Absortion */
.single-product-shock-absortion {
  background-image: url(../images/icon-shock-absortion.svg);
  background-repeat: no-repeat;
  background-position:  calc(100% - 2rem) 50%;
  padding-right: 172px;
}

/* Technologies */
.tech-icons {
  display: flex;
  flex-wrap: wrap;
}

.tech-icon {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
  display: block;
  width: 58px;
  height: 58px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.tech-icon-control {
  background-image: url(../images/icon-control.svg);
}

.tech-icon-soft {
  background-image: url(../images/icon-soft.svg);
}

.tech-icon-fiber {
  background-image: url(../images/icon-fiber.svg);
}

.tech-icon-core {
  background-image: url(../images/icon-core.svg);
}

.tech-icon-3d {
  background-image: url(../images/icon-3d.svg);
  width: 120px;
}

.tech-icon-grip {
  background-image: url(../images/icon-grip.svg);
  width: 100px;
}

.tech-icon-fiber-glass {
  background-image: url(../images/icon-fiber-glass.svg);
  width: 98px;
}

.tech-icon-soft-pro {
  background-image: url(../images/icon-soft-pro.svg);
  width: 98px;
}

.tech-icon-balance-pro {
  background-image: url(../images/icon-balance-pro.svg);
  width: 96px;
}

.tech-icon-power-pro {
  background-image: url(../images/icon-power-pro.svg);
  width: 105px;
}

.tech-icon-poly {
  background-image: url(../images/icon-poly.svg);
  width: 100px;
}

.tech-icon-eva {
  background-image: url(../images/icon-eva-black-core.svg);
  width: 122px;
}

.tech-icon-3k {
  background-image: url(../images/icon-3k-carbon.svg);
  width: 87px;
}

.tech-icon-12k {
  background-image: url(../images/icon-12k-carbon.svg);
  width: 87px;
}

.tech-icon-16k {
  background-image: url(../images/icon-16k-carbon.svg);
  width: 87px;
}

/* Collections */
.single-product-collections {
  max-width: 400px;
}

.collection-icon {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
  display: block;
  width: 322px;
  height: 54px;
  max-width: 100%;
}

.collection-icon + .collection-icon {
  margin-top: 9px;
}

.collection-icon-aniversario-33 {
  background-image: url(../images/collection-33.svg);
}

.collection-icon-control-x {
  background-image: url(../images/collection-control-x.svg);
}

.collection-icon-line {
  background-image: url(../images/collection-r-line.png);
  width: 54px;
  height: 54px;
}

.collection-icon-whip-23 {
  background-image: url(../images/collection-whip-23.svg);
}

/* Summary */
.woocommerce div.product p.price, 
.woocommerce div.product span.price {
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7;
  float: left;
}

.woocommerce div.product .summary span.onsale {
  position: static;
  margin: 0 0 0 0.5rem;
  float: left;
}

.woocommerce-product-details__short-description {
  font-size: 1.125rem;
  line-height: 1.7;
  clear: both;
}

.woocommerce div.product form.cart {
  clear: both;
}

.woocommerce div.product form.cart .variations th.label {
  display: flex;
}

.woocommerce div.product form.cart .variations th.label .help-link {
  margin-left: auto;
  font-weight: 400;
}

.woocommerce div.product form.cart .variations label {
  text-transform: uppercase;
}

.woocommerce div.product form.cart .variations select {
  appearance: none;
  background: url(../images/dropdown-toggle.svg) no-repeat calc(100% - 12px) 50%;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 12px 24px 12px 12px;
  width: 100%;
  margin-right: 0;
  color: #000;
}

.woocommerce div.product form.cart .reset_variations[style*="hidden"] {
  display: none;
}

.woocommerce div.product form.cart div.quantity-label {
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.woocommerce div.product form.cart .variations td.help {
  background: url(../images/icon-weight.svg) no-repeat 8px 50%;
  background-color: rgba(0, 0, 0, 0.03);
  border-radius: 4px;
  max-width: 432px;
  padding: 10px 8px 10px 50px;
  font-size: 13px;
  font-weight: 700;
  margin-top: 1rem;
}

.woocommerce .quantity .qty {
  width: 4rem;
  text-align: left;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 12px;
  height: 48px;
}

.woocommerce div.product p.price ins, 
.woocommerce div.product span.price ins {
  text-decoration: none;
}


/* Help popup */
.modal-content {
  padding: 2.25rem;
}

.modal-header {
  border-bottom: none;
  padding: 0;
  align-items: flex-start;
}

.modal-header .btn-close {
  margin: 0.5rem 0 0 auto;
}

.modal-title {
  line-height: 1.2;
}

.modal-body {
  padding: 1.5rem 0;
}

.modal-body .col b {
  font-weight: 600;
}

.modal-body .col p {
  font-weight: 600;
  border: 1px solid #000;
  padding: 0.75rem;
  line-height: 1.5;
  margin-top: 0.5rem;
}

.modal-body .exclusive-service {
  background: url(../images/icon-exclusive-service.svg) no-repeat 1rem 50%;
  background-color: rgba(0, 0, 0, 0.03);
  font-size: 0.75rem;
  padding: 1rem 1rem 1rem 6.125rem;
}

.modal-body .h5 {
  font-family: var(--ry-heading-font-family);
  background: url(../images/stars.svg) no-repeat 100% 50%;
  padding-right: 100px;
}

.modal-footer {
  padding: 0;
  border-top: none;
}

.modal-footer .btn {
  width: 100%;
  margin: 0;
}


/* Accordion features */
.accordion-product-features {
  --bs-accordion-color: #000;
  --bs-accordion-bg: #fff;
  --bs-accordion-active-color: #000;
  --bs-accordion-active-bg: #fff;

  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  
  --bs-accordion-btn-focus-border-color: #fff;
  --bs-accordion-btn-focus-box-shadow: none;

  --bs-accordion-body-padding-x: 0;
  --bs-accordion-body-padding-y: 1rem;

  margin-top: 2rem;  
}

.accordion-product-features .accordion-item {
  border: none;
}

.accordion-product-features .accordion-header {
  font-size: 1.25rem;
  border-top: 1px solid #000;
}

.accordion-product-features .accordion-button {
  padding: 1rem 0.25rem 1rem 0.25rem;
  text-transform: uppercase;
  box-shadow: none;
  letter-spacing: 0.05em;
  font-family: var(--bs-font-sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
}

.accordion-product-features .accordion-body {
  padding-top: 0;
}


/* Add to cart */
.woocommerce div.product form.cart .variations td, 
.woocommerce div.product form.cart .variations th {
  display: block;
}

.woocommerce div.product form.cart div.quantity {
  float: none;
}

.woocommerce div.product form.cart .button {
  float: none;
  display: block;
  width: 100%;
  margin-top: 1.5rem;
  font-size: 1.25rem;
}

.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt.disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce #respond input#submit.alt:disabled[disabled],
.woocommerce #respond input#submit.alt:disabled[disabled]:hover,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled,
.woocommerce a.button.alt:disabled:hover,
.woocommerce a.button.alt:disabled[disabled],
.woocommerce a.button.alt:disabled[disabled]:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled:hover,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button.alt:disabled[disabled]:hover,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled,
.woocommerce input.button.alt:disabled:hover,
.woocommerce input.button.alt:disabled[disabled],
.woocommerce input.button.alt:disabled[disabled]:hover {
 background-color:#E5E5E5;
}

/*
--------------------------------------------------------------------------------
  FOOTER
--------------------------------------------------------------------------------
*/

/* Features */
#features {
  background-color: #F7F7F7;
  padding: 4rem 0;
}

.feature img {
  margin-right: 1.5rem;
}

/* Generales */
.section-dark {
	--bs-bg-opacity: 1;
	--bs-text-opacity: 1;
	background-color: rgba(var(--bs-black-rgb),var(--bs-bg-opacity));
	color: rgba(var(--bs-white-rgb),var(--bs-text-opacity));
}

.section-dark a {
	--bs-link-opacity: 1;
	color: rgba(var(--bs-white-rgb),var(--bs-link-opacity));
}

.section-dark a:hover,
.section-dark a:focus {
	--bs-link-opacity: 0.5;
	color: rgba(var(--bs-white-rgb),var(--bs-link-opacity));
}

#footer-top .h5 {
  font-style: italic;
}

/* Social block */
.social-block {
  margin-top: 1.75rem;
}

.social-block-title {
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* Menus */
.nav-contact .nav-item + .nav-item {
  margin-top: 0.5rem;
}

.nav-contact .nav-link {
  padding: 0 0 0 2rem;
  word-wrap: anywhere;
  min-height: 1.375rem;
}

.nav-contact .nav-link:hover {
  opacity: 0.5;
  color: #fff;
}

.nav-contact .icon-email {
  background: url(../images/email.svg) no-repeat 0 0;
}

.nav-contact .icon-phone {
  background: url(../images/phone.svg) no-repeat 0 0;
}

.nav-contact .icon-pin {
  background: url(../images/pin.svg) no-repeat 0 0;
}

/* Copyright */
.copyright-text {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

.copyright-cards {
	background: url(../images/payment-cards-1.jpg) no-repeat 0 0;
	background-size: contain;
	display: block;
	width: 128px;
	height: 49px;
}

#cookie-law-info-bar {
  width: 80%;
  right: 0;
  left: auto;
}