/* ===========================
    TYPOGRAPHY 
=========================== */
/*@import url('https://fonts.cdnfonts.com/css/lota-grotesque-alt-1');*/


@font-face {
    font-family: 'Lota Grotesque';
    src: url('../webfonts/LotaGrotesque-Bold.woff2') format('woff2'),
        url('../webfonts/LotaGrotesque-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lota Grotesque';
    src: url('../webfonts/LotaGrotesque-RegularIt.woff2') format('woff2'),
        url('../webfonts/LotaGrotesque-RegularIt.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Lota Grotesque';
    src: url('../webfonts/LotaGrotesque-BoldIt.woff2') format('woff2'),
        url('../webfonts/LotaGrotesque-BoldIt.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Lota Grotesque';
    src: url('../webfonts/LotaGrotesque-SemiBold.woff2') format('woff2'),
        url('../webfonts/LotaGrotesque-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lota Grotesque';
    src: url('../webfonts/LotaGrotesque-Regular.woff2') format('woff2'),
        url('../webfonts/LotaGrotesque-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lota Grotesque';
    src: url('../webfonts/LotaGrotesque-SemiBoldIt.woff2') format('woff2'),
        url('../webfonts/LotaGrotesque-SemiBoldIt.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}


.fa-brands, .fab, .fa { 
    font-style: normal;
}
 
@font-face {
    font-family: 'icomoon';
    src:  url('../webfonts/icomoon.eot?c0w4rl');
    src:  url('../webfonts/icomoon.eot?c0w4rl#iefix') format('embedded-opentype'),
      url('../webfonts/icomoon.woff?c0w4rl') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak-as: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Toggle icons */
.icon-add_plus {
    width: 24px;
    height: 24px;
    position: relative;
    transition: transform 0.3s ease-in-out;
}
.icon-add_plus span {
    width: 16px;
    height: 3px;
    position: absolute;
    right: 0;
    bottom: 8px;
    border-radius: 20%;
    background-color: var(--lime-on-white);
    transition: transform 0.3s ease-in-out;
}
.icon-add_plus span:nth-child(2) {
    transform: rotate(90deg);
}
.toggle_title_lv2.open .icon-add_plus span:nth-child(2) {
    transform: rotate(0deg);
}

.icon-wavy_check:before {
    content: "\e915";
}
.icon-arrow_left_md:before {
    content: "\e900";
}
.icon-arrow_right_md:before {
    content: "\e914";
}
.icon-star_filled:before {
    content: "\e912";
}
.icon-star_outlined:before {
    content: "\e913";
}
.icon-download:before {
    content: "\e911";
}
.icon-check:before {
    content: "\e910";
}
.icon-arrow_up_right_lg:before {
    content: "\e901";
}
.icon-calendar:before {
    content: "\e902";
}
.icon-chat_conversation:before {
    content: "\e903";
}
.icon-chevron_down:before {
    content: "\e904";
}
.icon-clock:before {
    content: "\e905";
}
.icon-double_quotes_r:before {
    content: "\e906";
}
.icon-mail:before {
    content: "\e907";
}
.icon-map_pin_2:before {
    content: "\e908";
}
.icon-map_pin:before {
    content: "\e909";
}
.icon-map:before {
    content: "\e90a";
}
.icon-phone:before {
    content: "\e90b";
}
.icon-shield_check:before {
    content: "\e90c";
}
.icon-timer:before { 
    content: "\e90d";
}
.icon-truck:before {
    content: "\e90e";
}
.icon-whatsapp:before {
    content: "\e90f";
}
  
/* ===========================
    COLORS & FONT STYLES
=========================== */ 
:root {
    --green-100:    #013730;
    --green-80:     #025348;
    --green-70:     #036E5F;
    --green-50:     #049582;
    --green-40:     #35C4B1;

    --lime-on-white:#06E030;
    --lime-100:     #38FA5D;
    --lime-30:      #A9F9B9;

    --cool-gray-100:#BAD8D8;
    --cool-gray-50: #E5F0F0;
    --white:        #FFFFFF;

    --warning-100:  #E6504D;
    --warning-70:   #EF928F;
    --warning-40:   #F9D3D2;

    --font-family:  "Lota Grotesque";

    --weight-bold:      700;
    --weight-semibold:  600;
    --weight-regular:   400;
}

/* ===========================
    GRID SETTINGS
=========================== */ 
:root {
    --bootstrap-padding:  15px;
    --bootstrap-margin:   -15px;
}
.row > *,
.container, 
.container-fluid {
    padding-left: var(--bootstrap-padding);
    padding-right: var(--bootstrap-padding);
} 
.row {
    margin-top: 0;
    margin-right: var(--bootstrap-margin);
    margin-left: var(--bootstrap-margin);
}
.row > * {
    margin-top: 0;
}

/* ===========================
    GENERAL STYLES
=========================== */ 
html { 
    scroll-behavior: initial!important;
    background-color: var(--white);
}
html, 
body {
    position: relative;
    width: 100%;
    min-height: 100%;
}
/* Do not add padding or margin to the body */ 
body {
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
    padding: 0;
    color: var(--green-80);
    font-family: var(--font-family);
    font-size: 19px;
    line-height: 1.35;
    font-weight: var(--weight-regular);
}
main {
    padding: 0;
    padding-top: 80px;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-family);
    font-weight: var(--weight-semibold);
    color: var(--green-100); 
    display: block;
    margin-top: 0;
    margin-bottom: 1.15rem;  
    font-style: italic;
}
/*
h1, h2, h3, .h1, .h2, .h3 { 
    font-weight: var(--weight-semibold);
}
*/
/*
h4, h5, h6, .h4, .h5, .h6 {
    font-weight: var(--weight-semibold);
}
*/
h1, .h1  {
    font-size: 32px; 
    line-height: 1.1;
}
h2, .h2 {
    font-size: 29px; 
    line-height: 1.15;
}
h3, .h3 {
    font-size: 25px;
    line-height: 1.2;
}
h4, .h4 {
    font-size: 23px; 
    line-height: 1.2;
}
h5, .h5 {
    font-size: 21px;
}
h6, .h6 {
    font-size: 16px;
    letter-spacing: 0.7px;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
}
h6.h2 {
  letter-spacing: inherit;
  text-transform: none;
}
a {
    text-decoration: underline;
    color: var(--green-40);
}
a:hover {
    text-decoration: underline;
    color: var(--green-70);
}
a:focus,
a:active {
    outline: 0;
    outline-offset: -2px;
    text-decoration: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}
p,
li {
    font-size: 1em;
    margin-bottom: 1.2rem; 
    color: var(--green-80);
}
ul ul,
ul ol,
ol ol,
ol ul { 
    margin-top: 1rem;
}
blockquote {
    border-left: 4px solid var(--lime-100); 
    margin: 1em 0;
    padding: 0.8em 1.5em 0.1em;
}
.element_invisible {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    left: 0;
    top: 0;
    opacity: 0;
    max-width: 200px;
    max-height: 200px;
}
.text.uppercase {
  text-transform: uppercase;
}
.the_button,
input[type=button],
input[type=submit] {
    all: unset;
    text-decoration: none;
    background-color: var(--lime-100);
    border: 2px solid var(--lime-100);
    color: var(--green-80);
    border-radius: 12px;
    padding: 12px 26px;
    font-weight: var(--weight-semibold);
    font-family: var(--font-family);
    font-style: italic;
    text-shadow: none;
    font-size: 20px;
    line-height: 110%;
    text-transform: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: fit-content;
    cursor: pointer;
}
.the_button:hover, 
.the_button:focus,
.naked_button:hover,
.naked_button:focus {
    text-decoration: none;
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
    color: var(--green-80); 
}
.naked_button:hover,
.naked_button:focus {
    color: var(--lime-on-white); 
}
.the_button.outlined {
    background-color: transparent!important;
    border-color: var(--lime-on-white);
    color: var(--lime-on-white);
}
.the_button.outlined:hover {
    background-color: var(--lime-on-white);
    border-color: var(--lime-on-white);
    color: var(--lime-on-white);
}
.the_button.green-70 {
  background-color: var(--green-70);
  border-color: var(--green-70);
  color: var(--white);
}
.the_button.green-80,
.the_button.green-80:hover {
  background-color: transparent;
  border-color: var(--green-80);
  color: var(--green-80);
}

.naked_button {
    color: var(--lime-on-white);
    font-weight: var(--weight-bold);
    text-decoration: none;
    font-style: italic;
    font-size: 21px;
    line-height: 110%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    width: fit-content;
    gap: 6px; 
} 
.naked_button span,
.naked_button:hover span {
    text-decoration: none!important;
}
.kensei_02 {
    -webkit-transition: all 0.2s ease-in-out;
         -o-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
}
.kensei_03 {
    -webkit-transition: all 0.35s ease-in-out;
         -o-transition: all 0.35s ease-in-out;
            transition: all 0.35s ease-in-out;
}
.responsive_image,
.responsive_image img{
    width: 100%;
    height: auto;
}
section,
.section {
    padding: 60px 0 40px; 
    width: 100%;
    background-color: var(--white);
    z-index: 9;
    position: relative; 
}
.flex_section {
    padding: 0 0 60px; 
    overflow: hidden;
}

/* ===========================
    BREADCRUMB
=========================== */ 
#breadcrumb {
    font-weight: var(--weight-regular);
    padding-bottom: 20px;
}
#breadcrumbs {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#breadcrumb a {
    color: var(--green-80);
    text-decoration: none;
}
#breadcrumb a:hover {
    color: var(--green-40);
    text-decoration: underline;
}
#flexible_content #breadcrumb {
    padding-bottom: 0;
}
#breadcrumb #home_url {
    color: var(--lime-100);
    font-weight: var(--weight-bold);
}
#flexible_content.has_breadcrumb #the_content {
    padding-top: 20px;
}
/* ===========================
    HERO  
=========================== */

#hero_section {
    padding-top: 135px;
    min-height: 420px;
    background-color: var(--green-100);
    border-radius: 0 0 28px 28px;
    padding-bottom: 54px;
    margin-bottom: -30px;
    position: relative;
    z-index: 99;
    overflow: hidden;
}
#hero_section :is(h1, h2, h3, h4, h5, h6) {
    color: var(--white);
}
#hero_section :is(p, li, em, strong, span) {
    color: var(--cool-gray-50);
}
#hero_image .responsive_image {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 15px 15px 0 #39fb5d;
    right: 15px;
} 
#hero_heading .flex_section {
    padding: 0;
}
#hero_content {
    position: relative;
}
#white_stripes {
    pointer-events: none;
    width: 50%;
    height: 20px;
    position: absolute;
    top: 40px;
    right: 0;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: flex-end;
    display: none;
}
#white_stripes span {
    position: relative;
    display: block;
    width: 100px;
    height: 2px;
    margin-bottom: 32px;
    background-color: var(--lime-100);
    flex: 0 0 auto;
}
#white_stripes span:after {
    content: '';
    display: block;
    width: 50vh;
    height: 100%;
    position: absolute;
    top: 0;
    right: -50vh;
    background-color: var(--lime-100);

}
#white_stripes span:nth-child(1) {
    width: 90%;
}
#white_stripes span:nth-child(2) {
    width: 95%;
}
#white_stripes span:nth-child(3) {
    width: 100%;
}

#workshop_localizator #hero_section #hero_heading {
    text-align: center;
}
#workshop_localizator #hero_image {
    display: none!important;
}
#workshop_localizator .justify-content-between,
#workshop_localizator #hero_heading .row {
    justify-content: center!important;
}
#workshop_localizator #hero_section h1::after {
    margin-left: auto;
    margin-right: auto;
}
#workshop_localizator #white_stripes {
    display: none;
}
/* ===========================
    HERO - Video  
=========================== */
#mouse {
    width: 32px;
    height: auto;
    position: absolute;
    display: block;
    bottom: 40px;
    left: 50%;
    -webkit-transform: translate(-50%,0px);
            -ms-transform: translate(-50%,0px);
        transform: translate(-50%,0px);
}
@-webkit-keyframes mousebounce {
    0%    {   -webkit-transform:  translate(0px,-6px);   }
    50%   {   -webkit-transform:  translate(0px, 2px);   }
    100%  {   -webkit-transform:  translate(0px,-6px);   } 
}
@keyframes mousebounce {
    0%    {   
    -webkit-transform:    translate(0px,-6px);  
    transform:            translate(0px,-6px);
    }
    50%   {   
    -webkit-transform:    translate(0px,2px);   
    transform:            translate(0px,2px);
    }
    100%  {   
    -webkit-transform:    translate(0px,-6px);
    transform:            translate(0px,-6px);
    } 
}
#mouse line {
    -webkit-animation: mousebounce 0.9s linear infinite;
    animation:         mousebounce 0.9s linear infinite;
}
#video_background {
    top: 0;
    left: 0;
    width: 100vw;
    height: calc(100vh + 200px);
    background-size: cover;
    background-position: center;
    position: fixed;
    z-index: -1;
    overflow: hidden;
    top: -200px;
}
#video_background video { 
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
    background: var(--white);
    -webkit-transition: 1s opacity;
    -o-transition: 1s opacity;
    transition: 1s opacity; 
}
#hero_text {
    height: 100vh;
    position: relative;
}
#hero_text * {
    text-align: left;
    color: #fff;
}
#hero_text p {
    font-weight: var(--weight-semibold);
    font-size: 1.2em;
}
#hero_effect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    height: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* ===========================
    MAIN WIDGET
=========================== */
#main_widget {
  display: flex;
  max-width: 520px;
  margin-top: 24px;
  border-radius: 16px;
  border: 2px solid var(--lime-100);
  overflow: hidden;
  font-family: sans-serif;
}
.widget_button {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    padding: 24px;
    flex: 1;
    text-decoration: none!important;
}
.widget_button span[class^="icon-"] {
    font-size: 24px; 
    margin-bottom: 10px;
}
.widget_button .description {
    display: block;
    text-align: center;
}
.widget_button .description strong,
.widget_button .description span {
    display: block;
}
.widget_button .description strong {
    font-size: 22px;
}
.widget_button .description span {
    text-transform: uppercase;
    font-size: 14px;
}
#cita_online {
    background-color: var(--green-80);
}
#cita_online * {
    color: var(--white);
}
#atencion_24h,
#workshop_closed_btn {
    background-color: var(--lime-100);
}
#workshop_closed_btn {
    font-style: italic;
    padding: 15px;
}
#atencion_24h *,
#workshop_closed_btn * {
    color: var(--green-80)!important;
}
#cita_online:hover .icon-calendar,
#atencion_24h:hover .icon-phone{
    transform: scale(1.15);
}
.widget_button:hover .description {
    transform: scale(1.05);
}
/* ===========================
    HERO & SLIDER - Content
=========================== */
.slide_content * {
    color: var(--white);
    text-align: left;
} 
.slide_content *:not(a) {
    text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.30);
}
.slide_content *:after {
    color: var(--white);
}
.slide_content blockquote {
    border-color: var(--white);
}
.slide_content .container {
    position: relative;
    top: 50%;
    /*text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.35);*/ 
    -webkit-transform: translateX(0) translateY(-50%);
        -ms-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
}

/* ===========================
    SLIDER
=========================== */
.slider_container, 
#generic_slider,
#home_slider {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.slider_container {
    height: 100%;
}
#generic_slider{
    height: calc(80vh - 70px);
    min-height: 480px;
}
#home_slider {
    height: calc(90vh - 70px);
    min-height: 480px;
} 
.swiper-slide {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.swiper-slide { 
    background-size: cover!important; 
    background-position: center!important;
    background: transparent;
}
.swiper-pagination-bullet {
    background-color: transparent;
    width: 12px;
    height: 12px; 
    opacity: 1;
}
.swiper-pagination.swiper-pagination-clickable {
    bottom: 20px;
}
.swiper-pagination-bullet {
    background-color: var(--white);
    width: 28px;
    height: 4px;
    border-radius: 0;
    display: inline-block;
    position: relative;
    opacity: 0.5;
}
.swiper-pagination-bullet:after {
    content: '';
    display: block;
    height: 20px;
    width: 100%;
    position: absolute;
    background: transparent;
    margin-top: -10px;
}
.swiper-pagination-bullet {
    border: 1px solid var(--white);
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: 1;
    /*background-color: var(--lime-100);
    border-color: var(--lime-100);*/
}
.swiper-pagination-fraction {
    color: var(--white);
    font-weight: var(--weight-semibold);
    font-size: 1.1em;
    bottom: 30px;
}
.swiper-button-next, 
.swiper-button-prev {
    color: var(--white);
}
.swiper-button-next {
    right: 20px;
    left: auto;
}
.swiper-button-prev {
    left: 20px;
    right: auto;
}
.swiper-button-next:after, 
.swiper-button-prev:after {
    font-size: 36px;
}

/* ===========================
    HERO & SLIDER - Cards
=========================== */ 
#card_slider_wrapper {
    padding: 120px 0;
    background-color: var(--green-100);
    overflow: hidden;
} 
.slide_card { 
    min-height: 360px;
}
#card_slider_wrapper .slider_container {
    overflow: initial;
    padding-bottom: 60px;
}
#card_slider_wrapper .swiper-slide-prev {
    opacity: 0.5;
}
.slide_card { 
    padding: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-line-pack: end;
        align-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}
#cards_slider {
    position: relative;
}
#cards_slider .swiper-pagination-fraction {
    bottom: 10px;
    font-weight: var(--weight-semibold);
}
#cards_slider .swiper-button-next,
#cards_slider .swiper-button-prev {
    top: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    bottom: 0;
}
#cards_slider .swiper-button-next:after, 
#cards_slider .swiper-button-prev:after {
    font-size: 24px;
}
#cards_slider .swiper-slide {

}
#cards_slider .swiper-slide .responsive_image {
    padding: 20px;
}
#cards_slider .swiper-slide .responsive_image img {
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
    opacity: 0.95;
    max-width: 210px;
}

/* ===========================
    FLEXIBLE CONTENT
=========================== */
#flexible_content {
    background-color: var(--white);
    z-index: 9;
    position: relative;
}
#no_flex {
    width: 100%;
}
.gallery #no_flex {
    display: none;
}
#the_content .text_sidebar blockquote,
.flex_generic_content blockquote {
    margin-top: 0;
}
/* Clon: Intro */
.flex_section.text-left {
    text-align: left;
}
.flex_section.text-center,
.flex_section.text-featured {
    text-align: center; 
}
.flex_section.text-center .the_button,
.flex_section.text-featured .the_button {
    margin-left: auto;
    margin-right: auto;
}
.flex_section h2 {
    color: var(--green-100);
} 
.flex_section.text-left h2::after,
.flex_section.text-left .h2::after,
#hero_section h1::after,
body.home #hero_section h2::after,
main#reviews_template h1::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background-color: var(--lime-on-white);
    margin: 16px 0 12px; 
}
.flex_section.text-featured h2 {
    font-size: 32px;
}
/* Clon: Layout */
.flex_section.background_white {
    background-color: var(--white);
}
.flex_section.background_white .featured-link {
    color: var(--lime-on-white);
}
.flex_section.background_white .toggle_card_lv2,
.flex_section.background_white .toggle_content_lv2.add_padding {
    border-color: var(--cool-gray-50);
}
.flex_section.background_lime {
    background-color: var(--lime-100);
}
.flex_section.background_lime .special_ul > li span {
    color: var(--green-70);
}
.flex_section.background_lime .featured-link {
    color: var(--green-80);
}
.flex_section.background_lime .toggle_card_lv2,
.flex_section.background_lime .toggle_content_lv2.add_padding,
.flex_section.background_lime .numbered-box {
    border-color: var(--lime-on-white)!important;
}
.flex_section.background_lime.text-left h2::after {
    background-color: var(--green-50);
}
.flex_section.flex_featured_cards.background_lime .card_content {
    background-color: var(--green-80);
}
.flex_section.flex_featured_cards.background_lime .card_content .featured-link {
    color: var(--lime-100);
}
.flex_section.flex_featured_cards.background_lime .card_content h3{
    color: var(--white);
}
.flex_section.flex_featured_cards.background_lime .card_content p {
    color: var(--cool-gray-50);
}
.flex_section.background_lime .swiper-slide {
    background-color: var(--lime-30);
}
.flex_section.background_lime .slider_container > span {
    background-color: var(--green-80);
    color: var(--white);
}
.flex_section.background_lime .icon-add_plus span {
    background-color: var(--green-70);
}
.flex_section.background_lime .reviews span {
    color: var(--green-80);
}
.flex_section.background_green {
    background-color: var(--green-80);
}
.flex_section.background_green h2,
.flex_section.background_green .card_content h3,
.flex_section.background_green .toggle_title_lv2 h4,
.flex_section.background_green .ordered-text {
    color: var(--white);
}
.flex_section.background_green.text-left h2::after {
    background-color: var(--lime-100);
}
.flex_section.background_green p,
.flex_section.background_green li,
.flex_section.background_green .special_ul > li > div {
    color: var(--cool-gray-50);
}
.page-template-finder .flex_section.flex_generic_content ul {
    list-style: none;
    padding: 0;
    column-count: 3;
    column-gap: 2rem;
    margin-top: 24px;
}
.page-template-finder .flex_section.flex_generic_content ul li {
    break-inside: avoid;
    display: flex;
}

.page-template-finder .flex_section.flex_generic_content li::before {
    content: "\e910";
    display: inline-block;
    font-size: 24px;
    color: var(--lime-100);
    font-family: 'icomoon' !important;
    speak-as: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none; 
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    margin-right: 6px;
}   

.page-template-finder .flex_section.flex_generic_content li::before,
.page-template-finder .flex_section.flex_generic_content li a {
    display: inline-block;
    vertical-align: -webkit-baseline-middle;
}
.flex_section.flex_generic_content.background_green li a {
    color: var(--cool-gray-50);
}
.flex_section.flex_generic_content.background_green li a:hover {
    color: var(--lime-100);
}
.flex_section.background_green .featured-link,
.flex_section.background_green .special_ul > li span {
    color: var(--lime-100);
}
.flex_section.background_green .toggle_card_lv2,
.flex_section.background_green .toggle_content_lv2.add_padding {
    border-color: var(--green-70)!important;
}
.flex_section.background_green .numbered-box {
    border-color: var(--green-50);
    color: var(--white);
}
.flex_section.flex_featured_cards.background_green .card_content h3,
.flex_section.flex_product_cards.background_green .card_content h3 {
    color: var(--green-100);
}
.flex_section.flex_featured_cards.background_green .card_content p,
.flex_section.flex_product_cards.background_green .card_content p {
    color: var(--green-80);
}
/* .flex_section.flex_product_cards.background_green .card_content {
    background-color: var(--lime-100);
} */
.flex_section.flex_product_cards.background_green .flex-column {
    background-color: var(--lime-100);
}
.flex_section.flex_product_cards.background_green .card_content p a {
    color: var(--green-50);
}
.flex_section.flex_product_cards.background_green .card_content .featured-link {
    color: var(--green-80);
}
.flex_section.background_green .reviews p {
    color: var(--cool-gray-50);
}
.flex_section.background_green .slide_content p {
    color: var(--green-100);
}
.flex_section.background_green .reviews span {
    color: var(--lime-100);
}
.flex_section.background_gray {
    background-color: var(--cool-gray-50);
}
.flex_section.background_gray .featured-link {
    color: var(--green-50);
}
.flex_section.background_gray .toggle_card_lv2,
.flex_section.background_gray .toggle_content_lv2.add_padding,
.flex_section.background_gray .numbered-box {
    border-color: var(--white);
}
.flex_section.flex_featured_cards.background_gray .card_content {
    background-color: var(--white);
}
.flex_section.flex_featured_cards.background_gray .card_content .featured-link {
    color: var(--lime-on-white);
}
.flex_section.flex_slider_reviews .swiper-slide {
    padding: 32px;
}
.flex_section.flex_slider_reviews:not(.background_white) .swiper-slide {
    background-color: var(--white);
    /* background-color: var(--cool-gray-100); */
}
.flex_section.flex_slider_reviews.background_white .review_heading .sphere {
    background-color: var(--white);
}
.flex_slider_reviews .review_body {
    
}
.flex_section.flex_slider.background_gray .swiper-slide {
    background-color: var(--cool-gray-50);
}
.flex_section.background_gray .slider_container > span {
    background-color: var(--green-50);
    color: var(--white);
}
#flexible_content .flex_section:first-child {
    padding-top: 90px;
}
#flexible_content .flex_section:last-child {
    padding-bottom: 90px;
}
.flex_section.padding_all {
    padding: 60px 0;
}
.flex_section.padding_up {
    padding: 60px 0 16px;
}
.flex_section.padding_down {
    padding: 16px 0 60px;
}
.flex_section.padding_none {
    padding: 0;
}
/* Flex Section Grid */
.flex_slider_grid .responsive_image {
    padding: 20px;
}
.flex_slider_grid .responsive_image img {
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
    opacity: 0.95;
    max-width: 210px;
}
.flex_slider_grid .grid_col {
  display: flex;
  justify-content: center;
  align-items: center;
}
/* Clon: Button */
.flex_section .the_button {
    background-color: var(--lime-100);
    color: var(--green-80);
    border-color: var(--lime-100);
}
.flex_section.background_lime .the_button {
    background-color: var(--green-70);
    color: var(--white);
    border-color: var(--green-70);
}
.flex_section.background_gray .the_button {
    background-color: var(--green-70);
    color: var(--white);
    border-color: var(--green-70);
}
.flex_section .the_button.outlined {
    background-color: transparent;
    color: var(--green-80);
    border-color: var(--green-80);
}
.flex_section.background_green .the_button.outlined {
    color: var(--lime-100);
    border-color: var(--lime-100);
}

.flex_section.background_gray .naked_button {
    color: var(--green-50);
}
.centered_button .the_button {
    margin-left: auto;
    margin-right: auto;
}
/* Widget Search */
.flex_section .widget_search form {
    display: flex;
    align-items: center;
    background-color: var(--cool-gray-50);
    border-color: var(--cool-gray-50);
    border-radius: 12px;
    overflow: hidden;
}
.flex_section.background_lime .widget_search form {
    background-color: var(--lime-30);
    border-color: var(--lime-30);
}
.flex_section.background_green .widget_search form,
.flex_section.background_gray .widget_search form {
    background-color: var(--cool-gray-100);
    border-color: var(--cool-gray-100);
}
.flex_section .widget_search form span {
    font-size: 24px;
    color: var(--green-80);
    padding: 8px 0 8px 12px;

    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}
.flex_section .widget_search form span::after {
    content: "";
    display: block;
    width: 2px;
    height: 37px;
    opacity: 30%;
    background-color: var(--green-80);
}
.flex_section .widget_search .search-input {
    flex: 1;
    background-color: transparent;
    border: none;
    padding: 14px;
    color: var(--green-80);
    font-size: 19px;
    outline: none;
}
.flex_section .widget_search .search-input::-ms-clear,
.flex_section .widget_search .search-input::-webkit-search-cancel-button {
  display: none;
}
.flex_section .widget_search .search-submit {
    background-color: var(--lime-100);
    border: none;
    padding: 16px 4px;
    color: var(--green-80);
    font-weight: var(--weight-semibold);
    font-size: 19px;
    line-height: 114%;
    text-align: center;
}
.flex_section.background_lime .widget_search .search-submit {
    background-color: var(--green-80);
    color: var(--white);
}
.flex_section.background_gray .widget_search .search-submit {
    background-color: var(--green-50);
    color: var(--white);
}
/* A. Generic Content */
/* B. Text and Image */
.flex_text_n_image .responsive_image,
.flex_text_n_video .embed-responsive,
.flex_ordered_ul .responsive_image {
    position: relative;
    margin-bottom: 32px
}
.flex_text_n_image .responsive_image img,
.flex_ordered_ul .responsive_image {
    border-radius: 12px;
}
.flex_text_n_image .tag,
.flex_text_n_video .tag,
.flex_ordered_ul .tag {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 9;

    background-color: var(--lime-100);
    border-radius: 5px;
    padding: 8px 16px;

    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 6px;
}
.flex_text_n_image .tag span,
.flex_text_n_video .tag span,
.flex_ordered_ul .tag span {
    font-size: 24px;
}
.flex_text_n_image .tag figcaption,
.flex_text_n_video .tag figcaption,
.flex_ordered_ul .tag p {
    margin: 0;
    color: var(--green-80) !important;
}
/* C. Text and Video */
.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border-radius: 12px;
}
.embed-responsive-16by9::before {
    padding-top: 56.25%;
}

.embed-responsive::before {
    display: block;
    content: "";
}
.embed-responsive .embed-responsive-item, 
.embed-responsive embed, 
.embed-responsive iframe, 
.embed-responsive object, 
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.embed-responsive .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; 
    cursor: pointer;
    -webkit-transition: all 0.35s ease-in-out;
            -o-transition: all 0.35s ease-in-out;
            transition: all 0.35s ease-in-out;
}
.embed-responsive .overlay.open {
    opacity: 0; 
}
.embed-responsive .overlay img {
    position: absolute;
    opacity: 0.8;
    width: 15%;
    width: 100px;
    height: auto;
    pointer-events: none;
    left: 50%;
    top: 50%;
    -webkit-transition: all 0.35s ease-in-out;
            -o-transition: all 0.35s ease-in-out;
            transition: all 0.35s ease-in-out;
    -webkit-transform: translateX(-50%) translateY(-50%) translateZ(0);
        -ms-transform: translateX(-50%) translateY(-50%) translateZ(0);
            transform: translateX(-50%) translateY(-50%) translateZ(0);
}
.embed-responsive .overlay:hover img {
    opacity: 1;
} 
/* D. Special list */
.flex_special_ul .special_ul {
    padding: 0;
    margin: 0;
    padding-top: 16px;
}
.flex_special_ul .special_ul > li {
    list-style: none;
    padding: 0;
    display: block;
    text-align: left;

    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 6px;
}
.flex_special_ul .special_ul > li.hidden {
    display: none;
}
.flex_special_ul .special_ul > li span {
    font-size: 24px;
    color: var(--lime-on-white);
}
.flex_special_ul .special_ul.two_columns > li,
.flex_special_ul .special_ul.random > li {
    float: none;
    padding-right: 15px;
    display: inline-block;
    vertical-align: bottom;
}
.flex_special_ul .special_ul.two_columns > li {
    width: calc(50% - 4px);
}
.flex_special_ul .special_ul.random > li {
    width: auto;
}
.flex_special_ul .special_ul > li > div {
    color: var(--green-80);
}
.flex_special_ul .featured-link {
    width: 100%;
    background-color: transparent;
    font-weight: var(--weight-bold);
    font-style: italic;
    font-size: 22px;
    line-height: 24.2px;
    border: none;
    padding: 0;
    text-align: left;

    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 6px;
}
.flex_special_ul .featured-link span {
    font-size: 24px;
}
.flex_special_ul .featured-link.expanded span {
    transform: rotate(180deg);
}
.flex_special_ul .the_button,
.flex_toggle_card .the_button,
.flex_ordered_ul .the_button {
    margin-top: 32px;
}
.flex_icons_ul .the_button {
    margin-top: 24px; 
}
.flex_special_ul #list_description ul {
    list-style: none;
    padding-left: 0;
}
.flex_special_ul #list_description ul li {
    position: relative;
    padding-left: 32px;
}
.flex_special_ul #list_description ul li:before {
    content: "\e910";
    font-family: 'icomoon' !important;
    font-size: 24px;
    color: var(--lime-on-white);
    position: absolute;
    left: 0;
    top: 0;
    line-height: 1;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak-as: never;
    display: inline-block; 
}
.special_list_extra_content {
    padding-top: 10px;
}
.flex_latest_posts .the_button,
.flex_featured_cards .the_button,
.flex_product_cards .the_button {
    margin-top: 16px;
}
.flex_icons_ul .icon-list-item [class^="icon-"] {
    font-size: 48px;
    color: var(--lime-on-white);
}
.flex_icons_ul .icon-list-item img {
    width: 48px;
    height: auto;
}
.flex_icons_ul.background_green .icon-list-item [class^="icon-"] {
    color: var(--lime-100);
}
.flex_icons_ul.background_lime .icon-list-item [class^="icon-"] {
    color: var(--green-70);
}
/* E. Toggle cards */
/*
.flex_toggle_card {

}
*/
.tab_ul {
    margin-top: 32px;
    margin-bottom: 32px;
}
.toggle_card {
    padding: 0;
    margin: 0;
    background-color: var(--white);
    border: 2px solid var(--green-100); 
}
.add_padding {
    padding: 1rem 1rem 0.90em;
    display: block;
}
.toggle_title_lv1, 
.toggle_title_lv2 {
    position: relative;
    padding-right: 50px;
}
.toggle_title_lv1 h3,
.toggle_title_lv1 span {
    font-size: 1.1em;
}
.toggle_title_lv2 h4 {
    font-weight: var(--weight-semibold);
    font-style: italic;
    font-size: 23px;
    line-height: 27.6px;
    text-align: left;
}

.toggle_title_lv1 h3,
.toggle_title_lv2 h4 {
    margin: 0;
}
.toggle_card_lv2 a {
    text-decoration: none;
}
.toggle_content_lv1,
.toggle_content_lv2 {
    display: none;
}
.toggle_content_lv1 > .add_padding {
    background-color: var(--white);
    border-top: 2px solid var(--green-80);
    padding: 30px 20px 15px;
}
.toggle_card_lv1,
.toggle_card_lv2 {
    margin-bottom: 0;
}
.toggle_card_lv2 {
    border-top: 2px solid var(--green-80);
}
.toggle_card_lv2:last-child {
    border-bottom: 2px solid var(--green-80);
}
.toggle_card_lv2 .add_padding {
    padding: 20px 8px 20px 0;
}
.toggle_content_lv2.add_padding {
    padding: 0 32px 6px 0;
    /* border-top: 2px solid var(--green-80); */ 
    background-color: transparent; 
    margin-top: -8px;
}
.toggle_content_lv2.add_padding p {
    text-align: left;
}
.toggle_content_lv2 ul {
    padding-left: 30px;
}
.toggle_content_lv2 li {
    list-style: initial;
}
.sub_ul_toggle > li.toggle_card_lv2 {
    list-style: none;
}
.sub_ul_toggle {
    padding: 0;
    margin: 0;
}
.toggle_title_lv1.open .fa-angle-down:before,
.toggle_title_lv2.open .fa-angle-down:before {
    content: "\f106";
} 
.flex_toggle_card img {
    margin-bottom: 1rem;
}
.flex_toggle_card.background_lime .featured-link {
    color: var(--green-50);
}
.flex_toggle_card .featured-link {
    display: inline-block;
    width: 100%;
    font-weight: var(--weight-bold);
    font-style: italic;
    font-size: 22px;
    line-height: 24.2px;
    text-align: left;
    text-decoration: none;
}
.toggle_card_lv2 {
    border-top: 2px solid var(--cool-gray-50);
}
.sub_ul_toggle .toggle_card_lv2:last-child {
    border-bottom: 2px solid var(--cool-gray-50);
}
/* F. Ordered List */
.flex_ordered_ul .responsive_image img {
    border-radius: 12px;
}
.flex_ordered_ul .ordered_ul { 
    margin-top: 32px;
    margin-bottom: 0;
    list-style: none;
    padding: 0;
}
.flex_ordered_ul .ordered-list-item {
    display: flex;
    align-items: center;
}
.flex_ordered_ul .ordered-list-item:last-child {
    margin-bottom: 0;
}
.flex_ordered_ul .numbered-box {
    border: 2px solid var(--cool-gray-50);
    border-radius: 8px;
    min-width: 50px;
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 16px;
    font-weight: var(--weight-semibold);
    font-size: 19px;
    line-height: 19px;
}
.flex_ordered_ul .ordered-text {
    font-weight: var(--weight-regular);
    font-size: 19px;
    line-height: 24.7px;
    color: var(--green-100);
    text-align: left;
}
/* G. Slider */
.flex_slider #card_slider_wrapper {
    background-color: transparent;
    padding: 16px 0;
    margin-bottom: 24px;
}
.flex_slider #card_slider_wrapper .slider_container {
  min-height: 165px;
    padding: 0;
}
.flex_slider .swiper-slide {
    background-size: contain !important;
    background-repeat: no-repeat;
    height: auto;
}
.flex_section.flex_slider .container-fluid {
    /* padding: 0; */
}
.flex_slider .naked_button {
    margin-left: auto;
    margin-right: auto;
}
/* H. Latest Posts */
.flex_latest_posts h2 {
    margin-bottom: 32px;
}
.post_card .responsive_image img {
    border-radius: 12px;
}
.post_card .card_content {
    margin-top: 16px;
    text-align: left;
}

.post_card .card_content h3 {
    color: var(--green-100);
}
/* I. Icons List */
.flex_icons_ul .icons_ul {
    margin-top: 40px;
}
.flex_icons_ul .icon-list-item {
    margin-bottom: 32px;
}
.flex_icons_ul .icon-list-item:nth-last-child(-n+2) {
    margin-bottom: 0;
}
.flex_icons_ul .icon_text {
    width: 100%;
    font-family: var(--font-family);
    font-weight: var(--weight-semibold);
    font-style: italic;
    font-size: 23px;
    line-height: 120%;
    margin-top: 16px;
}
/* J. Featured cards */
.flex_card {
    padding-bottom: 30px;
}
.flex_card .naked_button {
    margin-top: 24px; 
}
.featured_cards_list {
    margin-top: 24px;
}
.flex_featured_cards .flex_card:last-child {
    margin-bottom: 0;
}
.flex_featured_cards .card_content {
    background-color: var(--cool-gray-50);
    border-radius: 12px;
    padding: 20px 16px;
    height: 100%;
}
.flex_featured_cards .card_content > span[class^="icon-"] {
    font-size: 42px;
    margin-bottom: 24px;
    display: block;
    color: var(--lime-on-white);
}
.flex_featured_cards .card_content > img {
    width: 36px;
    margin-bottom: 24px;
}
.flex_featured_cards .card_content h3 {
    font-weight: var(--weight-semibold);
    font-style: italic;
    font-size: 26px;
    line-height: 120%;
    color: var(--green-100);
    margin-bottom: 12px;
}
.flex_featured_cards .card_content .featured-link {
    font-weight: var(--weight-bold);
    font-style: italic;
    font-size: 22px;
    line-height: 110%;

    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
}
.flex_featured_cards .card_content .featured-link span {
    font-size: 24px;
}

/* K. Generic Banner */
/* .flex_generic_banner img,
.flex_generic_banner p {
    margin-bottom: 32px;
} */
.flex_generic_banner .the_button {
    /* width: 60%; */
    margin: 0 auto;
    margin-top: 32px;
}
.flex_generic_banner img {
    width: 80px;
    height: auto;
    margin-bottom: 24px;
}
/* L. Workshop Search */
.flex_workshop_search img {
    margin-bottom: 32px;
}
#hero_section .widget_search form span.icon-map_pin_2 {
    color: var(--green-80); 
}
.flex_workshop_search .widget_search {
    margin-bottom: 20px;
}
/* M. Slider Reviews */
.flex_slider_reviews {
    overflow: hidden;
}
.flex_slider_reviews h2 {
    margin-bottom: 32px;
}
.flex_slider_reviews.text-left h2::after {
    background-color: var(--green-50);
}
.flex_slider_reviews .reviews {
    text-align: right;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: baseline;
    gap: 6px;
    align-self: end;
    margin-bottom: 2.15rem;
}
.flex_slider_reviews .reviews span { 
    font-size: 28px;
    color: var(--lime-on-white);
}
.flex_slider_reviews .reviews p {
    font-weight: var(--weight-bold);
    font-size: 28px;
    line-height: 100%;
    color: var(--green-80);
    margin-bottom: 0;
}
.flex_slider_reviews .slider_container {
    padding-bottom: 16px;
    overflow: visible;
    display: flex;
    flex-wrap: wrap;
}
.flex_slider_reviews .swiper-wrapper {
    margin-bottom: 32px;
    height: initial;
}
.icon-arrow_left_md,
.icon-arrow_right_md {
    cursor: pointer;
}
.flex_slider_reviews .swiper-slide {
    background-color: var(--cool-gray-50);
    border-radius: 12px;
    margin-right: 20px;
    width: 80%;
    height: max-content;
}
.flex_slider_reviews .slide_content {
    align-content: space-between;
    width: 100%;
}
.flex_slider_reviews .slide_content span,
.flex_slider_reviews .slide_content p {
    color: var(--green-80);
    text-shadow: none; 
}
.flex_slider_reviews .slide_content > span {
    font-size: 50px;
}
.flex_slider_reviews .slide_content p {
    text-shadow: none;
    font-style: italic;
    font-size: 19px;
    line-height: 130%;
    width: 100%;
}

.swiper-button-next, 
.swiper-button-prev {
    position: relative;
    background-color: var(--lime-100);
    color: var(--green-80);
    border-radius: 12px;
    padding: 8px;
    font-size: 32px;
    display: flex;
    width: 70px;
    height: auto;
    left: initial;
    top: initial;
    right: initial;
    bottom: initial;
    margin: 0;
    margin-right: 8px;
    align-items: center;
}
.background_lime .swiper-button-next, 
.background_lime .swiper-button-prev {
    background-color: var(--green-50);
    color: var(--white);
}
.background_lime .swiper-button-next:hover, 
.background_lime .swiper-button-prev:hover,
.swiper-button-next:hover, 
.swiper-button-prev:hover {
    background-color: var(--green-70);
    color: var(--white);
}
.swiper-button-prev {
    width: 50px; 
}
.swiper-button-next {
    justify-content: flex-end;
}
.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: 'icomoon' !important;
    speak-as: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}
.swiper-button-prev:after {
    content: "\e900";
}
.swiper-button-next:after {
    content: "\e914";
}
.flex_slider_reviews .swiper-button-disabled {
    opacity: 0.7;
    /* opacity: 50%; */
}
.flex_slider_reviews .author {
    font-weight: 600;
    font-style: italic;
    text-transform: capitalize;
}
.flex_slider_reviews .rating {
    font-size: 24px;
}
.flex_slider_reviews .rating .icon-star_filled {
    color: var(--green-50);
}
.flex_reviews .review_card {
    margin-bottom: 60px;
}
.review_card {
    text-align: left;
    width: 100%;
}
.review_heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 20px;
}
.review_heading .sphere {
    width: 50px;
    height: 50px;
    border-radius: 100px;
    background-color: var(--cool-gray-50);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 500;
    text-transform: uppercase;
    margin-left: -4px;
}
.review_heading .sphere img {
    width: 28px;
    height: auto; 
}
.review_heading .title .author {
    font-size: 21px;
    font-weight: 600;
    text-transform: capitalize;
} 
.review_heading .title .review_from {
    font-size: 17px;
    font-weight: 400;
} 
.review_heading .title .review_from img {
    width: 24px;
    height: auto;
}
.review_rating {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.review_rating > div {
    flex: 0 0 auto;
    width: 50%;
}
.review_rating > div:last-child {
    display: flex;
    justify-content: flex-end;
    align-items: center;
} 
.review_rating > div:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}
.review_rating > div:first-child > span {
    font-size: 22px;
    font-weight: 600;
}
.review_rating > div:first-child span.date {
    font-size: 17px;
    font-weight: 400;
    opacity: 0.8; 
}
.review_rating a.naked_button,
.only_mobile a.naked_button {
    color: var(--green-80);
}
.only_mobile a.naked_button {
    display: none;
}
.flex_section.flex_slider_reviews .review_card .review_rating {
    display: block;
}
.flex_section.flex_slider_reviews .review_rating > div:last-child {
    display: none;
}
.flex_section.flex_slider_reviews .only_mobile a.naked_button {
    display: flex; 
}
.flex_section.flex_slider_reviews .review_body {
    /* height: 120px; */
}
.flex_section.flex_slider_reviews .review_body > p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    height: 80px;
    color: var(--green-80);
}
.flex_section.flex_slider_reviews .review_body > p {
    color: var(--green-80);
}
.big_cartel .flex_section {
    border-radius: 16px;
    margin-bottom: 60px;
    padding: 32px !important;
}
.big_cartel .flex_section .col-xl-5 {
    width: 100%;
}
.big_cartel .flex_section.text-center h2::after {
   display: none;
}
.google_card {
    background-color: var(--white);
    border-radius: 16px;
    border: 1px solid var(--cool-gray-100);
    padding: 16px;
}
.review_footer {
    display: flex;
    margin-top: 10px;
    margin-bottom: -6px;
    justify-content: flex-start;
    align-items: baseline;
    gap: 6px;
}
.review_footer span.rating {
    font-size: 32px;
    font-weight: 600;
    color: var(--green-100);
}
.flex_section.background_green .reviews span.rating {
    color: var(--white);
}
.review_footer span.reviews_number {
    color: var(--green-80);
    font-size: 20px;
    font-style: italic;
    opacity: 0.7;
} 
.flex_section.background_green .reviews span.reviews_number {
    color: var(--white);
}
.google_card .review_heading .title .author {
    font-size: 22px;
    font-weight: 400;
}
.google_card .review_heading .sphere {
    width: 42px;
    height: 42px;
}
/* N. Product Cards */
.flex_product_cards .flex_card {
    cursor: pointer; 
}
.flex_product_cards h2 {
    margin-bottom: 32px;
}
.flex_product_cards .responsive_image img {
    height: 245px; /* TODO: Eliminar alto fijo */
    border-radius: 12px 12px 0 0;
}
.flex_product_cards .card_content {
    text-align: left;
    /* border-radius: 0 0 12px 12px; */
    padding: 24px 16px;
}
.flex_product_cards .flex-column {
    background-color: var(--green-80);
    border-radius: 12px;
    overflow: hidden;
}
.flex_product_cards .card_content h3 {
    font-weight: var(--weight-semibold);
    font-style: italic;
    font-size: 26px;
    line-height: 120%;
    color: var(--white);
    margin-bottom: 8px;
}
.flex_product_cards .card_content p {
    color: var(--cool-gray-50);
    margin-bottom: 24px;
}
.flex_product_cards .card_content .naked_button {
    color: var(--lime-100); 
}
.flex_product_cards.background_green .card_content .naked_button {
    color: var(--green-80);  
}
.flex_product_cards .the_button.filled {
    background-color: var(--green-80) !important;
    border-color: var(--green-80) !important;
    color: var(--white) !important;
}
.flex_product_cards.background_green .the_button.filled {
    background-color: var(--lime-100) !important;
    border-color: var(--lime-100) !important;
    color: var(--green-80) !important;
}
/* E. Background Content */
.flex_background_content {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;  
    position: relative;
    padding: 0;
    margin: 0;
    padding: 140px 0;
    background-color: var(--white); 
}
.flex_background_content.primary {
    background-color: var(--lime-100);
}
.flex_background_content.secondary {
    background-color: var(--green-50);
}
.flex_background_content:not(.white) *:not(.the_button) {
    color: var(--white);
}
.flex_background_content *:after {
    color: var(--white);
}
.flex_background_content p,
.flex_background_content li {
    font-size: 1em;
}
.flex_background_content.background {
    font-weight: var(--weight-bold);   
    padding: 140px 0;  
}
.featured {
    padding: 240px 0!important; 
}
.background p,
.background li {
    
}
.featured p,
.featured li {
    font-size: 20px; 
}
/* H. Featured columns */
.flex_featured_columns {
    margin: 30px 0;
}
.flex_featured_columns .column_text {
    padding-left: 15px;
}
.flex_featured_columns .column_image {
    text-align: center;
    padding-right: 0;
}
.flex_featured_columns .column_image img {
    max-width: 60px;
    width: 100%;
}
.flex_featured_columns .featured_icon {
    width: 60px;
    height: auto;
    margin-bottom: 24px;
    display: block;
}
.flex_featured_columns.centered {
    text-align: center;
}
.flex_featured_columns.centered .featured_icon {
    margin: auto;
    margin-bottom: 10px;
}
/* G. Toggle card */
.flex_contact {
    margin: 0;
    text-align: center;
}
.flex_contact h1::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background-color: var(--lime-on-white);
    margin: 16px auto 40px;
}
#form_container {
    overflow: initial;
}
/* .flex_contact.background_white {
    background-color: var(--cool-gray-50);
}  */
.flex_contact ul {
    padding: 0;
}
.flex_contact ul li {
    list-style: none;
    font-size: 15px; 
}
.flex_contact .form-control, 
.form-control {
    border-radius: 0;
    color: var(--lime-100);
    border: 2px solid var(--green-100);
    -webkit-box-shadow: none;
            box-shadow: none;
}
.form-control:focus,
.form-control:active {
    outline: 0;
    outline-offset: -2px;
    text-decoration: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 1px solid var(--lime-100);
}
.two_columns_wrapper {
    float: left;
    width: calc(50% + 10px);
    padding-right: 20px;
    padding-bottom: 12px;
}
.two_columns_wrapper_last {
    float: left;
    width: calc(50% - 10px);
    padding-right: 0;
    padding-bottom: 12px;
}
/*
.flex_contact .the_form h3 { 
    margin: 0;
}
*/
.nf-form-fields-required {
    margin-bottom: 4px;
}
div.form_icon {
    padding-right: 0;
}
.form_icon .material-icons {
    font-size: 2.2em;
    color: var(--lime-100);
}
.data_content a {
    color: var(--green-80);
}
.data_content a:hover,
.form_icon a:hover .material-icons {
    color: var(--lime-100);
}
.data_content .icon_text h4 {
    margin-bottom: 0;
}
.icon_list_item {
    margin-bottom: 1em;
}
.form_icon,
.icon_text {
    display: inline-block;
    vertical-align: middle;
}
.form_icon {
    width: 44px;
}
.icon_text {
    width: calc(100% - 50px);
}
.data_content .row {
    margin-bottom: 5px;
}
.the_form .nf-form-content {
    padding: 0;
}
.the_form .nf-before-form-content {
    margin-bottom: 1em;
    display: none;
}
.the_form form .form-control {
    border-radius: 0;
    border: 0!important;
    background-color: var(--cool-gray-50)!important;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-weight: var(--weight-semibold);
    padding: 0;
    padding-bottom: 0px;
    font-size: 1em; 
    color: var(--green-80)!important;
    border: 2px solid var(--cool-gray-50)!important;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 500;
}
.the_form form .form-control:focus,
.the_form form .form-control:active { 
    outline: 0;
    outline-offset: -2px;
    text-decoration: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 0!important;
} 
.the_form form .form-control:focus,
.the_form form .form-control:active {
    background-color: var(--white)!important;
    border: 2px solid var(--green-50)!important; 
}
.the_form form .nf-error.field-wrap .nf-field-element:after,
.the_form form .nf-pass.field-wrap .nf-field-element:after {
    display: none!important;
}
.the_form form textarea.form-control {
    height: 100px;
}
.the_form form input[type=button] {
    all: unset;
    font-family: var(--font-family);
    background-color: var(--lime-100);
    border: 2px solid var(--lime-100);
    border-radius: 0;
    display: inline-block;
    padding: 12px 20px;
    text-transform: uppercase;
    font-weight: var(--weight-semibold);
    color: var(--white); 
    text-shadow: none;
    font-size: 12px;
    line-height: 12px;
    margin: 8px 0;
    cursor: pointer;
}
.the_form form input[type=button]:hover,
.the_form form input[type=button]:focus {
    background-color: var(--green-50);
    border: 2px solid var(--green-50);
    color: var(--white);
}
.the_form form .checkbox-container.label-right label {
    font-size: 16px; 
    font-weight: var(--weight-regular);
    position: relative;
    z-index: 9;
}  
.the_form form .checkbox-container.label-right label {
    color: var(--green-100);
}
.the_form form .checkbox-container.label-right label a {
    font-weight: var(--weight-regular);
} 
.the_form form .checkbox-container.label-right label a:hover {
    text-decoration: underline;
} 
.the_form form .nf-error .nf-error-msg,
.the_form form .nf-error-msg {    
    font-size: 16px;
}
.the_form form .nf-error .nf-error-msg,
.the_form form .nf-error-msg {
    color: var(--green-50)!important;
    text-align: left;
}
.the_form form .nf-error .ninja-forms-field {
    background-color: var(--warning-40)!important;
    border-color: var(--warning-70)!important;
}
.the_form form .checkbox-wrap .nf-field-label label:before {
    font-size: 16px;
    left: -27px;
    top: -1px;
}
.the_form form .checkbox-wrap .nf-field-label label:after {
    background-color: transparent;
    border-color: var(--green-100);
}
.the_form form .checkbox-wrap .nf-field-label label:before {
    color: var(--green-100);
}
.the_form form .nf-field-container {
    margin-bottom: 24px;
}
.the_form form .nf-field-container.submit-container {
    margin-bottom: 0;
}
.the_form input::-webkit-input-placeholder {
    color: var(--cool-gray-100);
}
.the_form input:-ms-input-placeholder {
    color: var(--cool-gray-100)
}
.the_form input::-moz-placeholder {
    color: var(--cool-gray-100)
}
.the_form input::-ms-input-placeholder {
    color: var(--cool-gray-100)
}
.the_form input::placeholder {
    color: var(--cool-gray-100)
}
.the_form .nf-error-msg, 
.the_form .ninja-forms-req-symbol {
    color: var(--green-40);
}
.the_form  .nf-field-label .nf-label-span, 
.the_form .nf-field-label label {
    font-weight: 500;
    font-size: 18px;
}
/* L. Iframe */
.flex_iframe {
    overflow: hidden;
}
.flex_iframe .container-fluid {
    padding: 0;
}
.flex_iframe:before,
.flex_iframe:after {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    background-color: var(--white);
    z-index: 99999;
    position: relative;
}
/* Z. Rule */
.flex_rule {
    margin-top: 20px;
    margin-bottom: 20px;
}
.flex_rule hr {
    border-top: 1px solid var(--cool-gray-100);
    margin: 0;
}
/* Z. white space */
.flex_space {
    background-color: var(--white);
    padding-top: 10px;
    padding-bottom: 10px;
    width: 100%;
    height: 1px;
}
.flex_space.add_10px {
    padding-top: 3px;
    padding-bottom: 3px;
}
.flex_space.add_15px {
    padding-top: 8px;
    padding-bottom: 8px;
}
.flex_space.add_30px {
    padding-top: 15px;
    padding-bottom: 15px;
}
.flex_space.add_40px {
    padding-top: 20px;
    padding-bottom: 20px;
}

/* ===========================
    MODALS
=========================== */
.the_modal {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 9999999;
    width: 100%;
    height: 100%;
    padding: 20px;
    display: none;
    overflow: auto;
    background-color: var(--cool-gray-50);  
} 
#call_modal {

}
.the_modal .container {
    position: relative;
    padding-top: 60px;
}
.close_call_modal {
    position: absolute;
    display: block;
    top: 0;
    right: 0; 
}
.close_call_modal img {
    width: 56px;
}
#call_modal iframe {
    width: 100%;
    height: calc(100vh - 100px);
}
body.form_opened {
    overflow: hidden;
}
/* ===========================
    PAGE - Legal
=========================== */
#legal_content {
    padding-top: 90px;
    padding-bottom: 90px;
}
#legal_content h1::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background-color: var(--lime-on-white);
    margin: 16px 0 32px; 
}
#legal_content table {
    width: 100%;
    margin-bottom: 1em;
}
#legal_content tbody {
    border: 2px solid var(--cool-gray-50);
}
#legal_content tr {
    border-bottom: 2px solid var(--cool-gray-50);
}
#legal_content th, #legal_content td {
    padding: 0.6em;
}
/* ====================================
    PAGE - Localizador talleres
==================================== */
#workshop_localizator {
    padding-top: 100px;
}
/* ===========================
    PAGE - Blog
=========================== */
.is_blog #hero_section {
    background-color: var(--cool-gray-50);
    min-height: initial;
    padding-bottom: 32px;
    padding-top: 100px;
}
.is_blog #hero_section :is(p, li, em, strong) {
    color: var(--green-50);
}
.is_blog #hero_section :is( span) {
    color: var(--green-100);
}
#blog_heading .h6 {
    color: var(--green-50);
    margin-bottom: 6px;
}
#blog_heading h1.h6:after {
    display: none;
}
#blog_heading h2, 
#blog_heading h1 {
    margin-bottom: 5px;
    display: block;
    color: var(--green-100); 
}
.is_blog #hero_section h2 strong {
    font-weight: 700;
}
#blog_select {
    text-align: right;
    padding-bottom: 8px; 
}
#blog_select select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 52px;
    font-size: 17px;
    padding: 4px 50px 0 18px;
    border-radius: 12px;
    border: 2px solid var(--green-50);
    width: 100%;
    max-width: 300px;
    background-color: var(--white);
    color: var(--green-50);
    background-image: url('../img/arrows/chevron.svg');
    background-repeat: no-repeat; 
    background-position: right 14px top 17px;
    background-size: 20px;
    font-weight: 600;
}
h1#blog_h1 {
    margin-top: 0px;
    margin-bottom: 15px;
}
.page-template-template-blog .date,
.read-more {
    font-weight: var(--weight-semibold);
}
#pagination {
    font-size: 16px;
    padding-left: 2px;
    font-weight: var(--weight-regular);
}
#pagination span, 
#pagination a {
    padding-bottom: 20px;
    display: inline-block;
    font-weight: var(--weight-semibold);
}
#blog_grid {
    padding-top: 90px;
    padding-bottom: 90px;
}
.post_card {
    cursor: pointer;
    padding-bottom: 0;
    margin-bottom: 32px;
}
.post_card .post_category {
    border-bottom: 2px solid var(--cool-gray-100);
}
.post_card .post_category a {
    text-decoration: none;
    display: inline-block;
    color: var(--green-80);
    padding-bottom: 4px;
}
.post_card .post_category a:hover {
    color: var(--green-50)
}
#blog_navigation {
    background-color: var(--cool-gray-50);
    margin-top: 70px;
}

/* ===========================
    SERVICIOS
=========================== */
#single_servicios #hero_heading h2 {
    margin-bottom: 10px;
}

/* ===========================
    PAGE - Blog sidebar
=========================== */
#blog_sidebar h3 {
    text-transform: uppercase;
    color: var(--green-100);
    font-size: 16px;
    padding: 6px 0;
    margin: 8px 0px 8px;
}
#blog_sidebar a {
    color: var(--green-80);
    font-weight: var(--weight-regular);
} 
#blog_sidebar a:hover {
    color: var(--lime-100);
} 
#blog_sidebar .widget_search {
    padding-bottom: 10px;
}
#blog_sidebar > div {
    margin-bottom: 20px;
}
#blog_sidebar .search {
    position: relative;
}
#blog_sidebar .search input {
    background-color: var(--white);
    border: 1px solid var(--cool-gray-100);
    padding: 8px;
    width: 100%;
    padding-right: 50px;
    color: var(--green-80);
}
#blog_sidebar .search button[role="button"] {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--white);
    border: 1px solid var(--cool-gray-100);
    border-left: 0;
    height: 100%;
    width: 40px;
    text-indent: -999999px;
    background-image: url(../img/form/search-icon.png);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
} 
#blog_sidebar ul {
    padding: 0;
}
#blog_sidebar ul li {
    list-style: none;
    margin-bottom: 6px;
}

/* ===========================
    SINGLE - Post
=========================== */
#single_page {
    padding-bottom: 0;
    padding-top: 110px;
}
#single_page > section {
    padding-top: 50px;
}
#single_page .responsive_image {
    margin-bottom: 15px;
}
#single_page #date {
    font-weight: var(--weight-semibold);
    margin-bottom: 8px;
    display: block;
}
#single_page #taxonomy { 
    margin-top: 30px;
    font-weight: var(--weight-semibold);
}
#blog_navigation {
    padding-top: 50px;
    padding-bottom: 80px;
}
.blog_navigation_block a {
    text-decoration: none;
}
#single_page section {
    padding-bottom: 0;
}
.blog_navigation_block {
    display: flex;
    gap: 12px;
    cursor: pointer;
    align-items: center;
}
.blog_navigation_block img {
    width: 120px;
    height: auto;
    border-radius: 12px;
} 
.blog_navigation_block .h3,
.blog_navigation_block .h4,
.blog_navigation_block a {
    margin-bottom: 0;
}
#next_post .blog_navigation_block {
    justify-content: flex-end;
    text-align: right;
}
#single_page .flex_section.flex_generic_banner {
    margin: 32px 0;
    border-radius: 16px;
    padding: 32px 24px;
}
#single_page .flex_section.flex_generic_banner .container,
#single_page .flex_section.flex_generic_banner .container .col-12 {
    min-width: initial!important;
    width: 100%!important;
}
#fixed_sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 50px; 
    min-height: 460px;
    height: 100%;
}
#fixed_sidebar .responsive_image img {
    border-radius: 12px;
}
#post_content > div {
    padding-left: 20px;
}
#related_services {
     margin-top: 32px;
}
.service_horizontal_card {
    background-color: var(--green-80);
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 24px;
    cursor: pointer;
}
.service_horizontal_card:last-child {
    margin-bottom: 0;
}
#single_page .service_horizontal_card .responsive_image {
    margin-bottom: 0;
}  
#single_page .service_horizontal_card .responsive_image img {
    object-fit: fill;
    height: 100%;
}
.service_horizontal_card *:not(a, a *) {
    color: var(--white);
}
.service_horizontal_card .card_content {
    padding: 24px 24px 24px 0; 
}
#post_content * {
    text-align: left!important;
}
#post_content .flex_generic_banner * {
    text-align: center!important;
}
/* ===========================
    GALLERY PAGE
=========================== */
.page-template-template-gallery main {
    padding-bottom: 0;
}
#generic_slider.gallery_slider{
    height: 90vh;
}
.photo_frame {
    cursor: pointer;
}
#gallery_photo_container.container {
    margin-top: var(--bootstrap-margin);
    margin-bottom: var(--bootstrap-margin);
    padding: 10px; 
    padding-bottom: 60px; 
}
#gallery_photo .photo_frame .overlay {
    position: absolute;
    width: 100%;
    background: var(--green-100);
    bottom: -46px;
    top: initial;
    height: 45px;
    padding: 11px 18px;
    opacity: 0;
    -webkit-transition: all 0.25s ease-in-out;
            -o-transition: all 0.25s ease-in-out;
            transition: all 0.25s ease-in-out;
}
#gallery_photo .photo_frame:hover .overlay {
    bottom: 0;
    opacity: 1;
}
#gallery_photo .overlay span {
    line-height: 24px;
    color: var(--white);
    font-weight: var(--weight-bold);
    font-size: 15px;
    display: block;
    width: calc(100% - 26px);
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
}
.resize_image {
    background-image: url(../img/arrows/resize_image.png);
    width: 40px;
    height: 40px;
    position: absolute; 
    right: 2px;
    top: 3px;
    background-size: 40px;
}
#generic_slider_wrapper {
    position: fixed;
    background-color: var(--green-100);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -9999;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.25s ease-in-out; 
            -o-transition: all 0.25s ease-in-out; 
            transition: all 0.25s ease-in-out;
    -webkit-transition-delay: 0.3s;
            -o-transition-delay: 0.3s;
       transition-delay: 0.3s;
}
#generic_slider_wrapper.open{
    z-index: 99999;
    opacity: 1;
    visibility: visible; 
}
#generic_slider_wrapper #gallery_slider {
    width: 100%;
    overflow: hidden;
    height: 100%;
}
#generic_slider_wrapper #gallery_slider .slider_container {
    width: 100%;
    height: 100%;
}
#generic_slider_wrapper #gallery_slider .swiper-slide {
    text-align: center;
    background: transparent;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
#generic_slider_wrapper #gallery_slider .swiper-slide img {
    -webkit-transition: all 0.25s ease-in-out; 
    -o-transition: all 0.25s ease-in-out; 
    transition: all 0.25s ease-in-out;
    max-height: calc(100vh - 150px); 
    max-width: calc(100vw - 150px);
}
#generic_slider_wrapper #gallery_slider .swiper-slide img,
#generic_slider_wrapper #gallery_slider .swiper-slide .slide-description {
    opacity: 0;
}
#generic_slider_wrapper #gallery_slider .swiper-slide.swiper-slide-active img,
#generic_slider_wrapper #gallery_slider .swiper-slide.swiper-slide-active .slide-description {
    opacity: 1; 
}
div.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

div.vertical {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.slide-description {
    position: absolute;
    text-align: center;
    bottom: 0px; 
    left: 0;
    width: 100%;
    height: 75px;
    line-height: 75px;
}
#generic_slider_wrapper #gallery_slider .swiper-slide.swiper-slide-active .slide-description p {
    font-weight: var(--weight-bold);
    font-size: 14px;
    color: var(--white);
    text-transform: uppercase;
}
#close_generic_slider_wrapper {
    cursor: pointer;
    position: absolute;
    width: 36px;
    height: 36px;
    right: 30px;
    top: 30px;
    background-image: url(../img/arrows/cross.png);
    background-size: 36px;
    background-position: 0px 0px;
    cursor: pointer;
    background-repeat: no-repeat;
    z-index: 999999;
}
/* ===========================
    PAGE 404
=========================== */
main#page_404,
main#page_404 > section,
main#page_404 .row,
main#page_404 .container {
  min-height: 100vh; 
}
main#page_404 > section {
  padding: 0;
}
main#page_404 .container {
  padding-top: 40px;
  padding-bottom: 80px;
}
main#page_404 .container .row > div {
  margin-bottom: 40px;
}
main#page_404 .container .row > div:last-child {
  margin-bottom: 0;
}
main#page_404 a.kensei_03 span,
main#page_404 a.kensei_03 i {
  display: inline-block;
  vertical-align: middle;
}
main#page_404 a.kensei_03 {
  display: block;
  margin-top: 1.3em;
  font-size: 1.15em;
}
a.the_button.double_text,
.the_modal .the_button.outlined {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 24px;
}
main#page_404 a.the_button:last-child {
  margin-bottom: 0;
}
a.the_button.double_text > div {
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
    display: flex;
    align-items: center; 
}
a.the_button.double_text > span {
  font-weight: 600;
  font-size: 15px;
  line-height: 100%;
}
main#page_404 h2 {
  font-size: 23px;
  font-weight: 600;
  font-style: italic;
  line-height: 120%;
  color: var(--green-80);
  opacity: 0.5;
  margin: 20px 0;
}
main#page_404 h3 {
  font-size: 26px;
  line-height: 110%;
  color: var(--green-80);
  margin-bottom: 20px;
}
main#page_404 p {
  font-size: 19px;
  font-weight: 400;
  font-style: italic;
  line-height: 130%;
  color: var(--green-80);
  margin-bottom: 0;
}
main#page_404 a.naked_link {
  font-size: 22px;
  font-weight: 700;
  font-style: italic;
  line-height: 110%;
  color: var(--green-40);
  margin-top: 40px;
  text-decoration: none;
}
main#page_404 a.naked_link.desktop {
  display: none;
}

/* ===========================
    SINGLE TALLERES
=========================== */
#single_talleres > .flex_special_ul .special_ul a {
    color: var(--green-80);
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
         -o-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
}
#single_talleres > .flex_special_ul .special_ul a:hover {
    text-decoration: underline;
    color: var(--green-50);
}
#single_talleres > .flex_generic_banner {
    padding-bottom: 120px;
}
/* ===========================
    PROVISIONAL
=========================== */
#single_talleres #hero_heading img.hero_whatsapp {
    display: none!important;
}
.page-template-booking footer,
.page-template-booking #subfooter {
    display: none!important;
} 
#controls {
    /* display: none!important; */
}

/* ===========================
    CONTACT PAGE FORMS
=========================== */
.flex_contact #call_you_iframe {
  min-height: 540px;
}
.flex_contact #contact_iframe {
  width: 100%;
  min-height: 520px;
}

/* ===========================
    THANK YOU PAGE
=========================== */
#thank_you_page {
    padding-top: calc(110px + 90px);
    padding-bottom: 120px;
}
#thank_you_page.page_type_appointment {
    padding-top: calc(110px + 60px);
    padding-bottom: 100px; 
}
#thank_you_page * {
    text-align: center;
    font-style: normal;
}   
#thank_you_page > .container,
#thank_you_page > .container > .row,
#thank_you_page > .container > .row > .col-12 {
    min-height: calc(100vh - 260px);
}
#thank_you_page img {
    width: 70px;
    height: auto;
    margin-bottom: 24px;
}
#thank_you_page .naked_button,
#thank_you_page .the_button {
    margin-left: auto;
    margin-right: auto;
}
#thank_you_page .naked_button {
    margin-top: 32px;
    color: var(--green-50);
}
#thank_you_page [class^="icon-"] {
    color: var(--green-50);
    font-size: 22px;
}
#thank_you_page .the_button [class^="icon-"] {
    color: var(--green-80);
}
.detail_block {
    margin: 32px 0;
}
.detail_block h3 {
    color: var(--green-50);
    font-size: 14px;
    letter-spacing: 0.2px;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.detail_block h4,
.detail_block p {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
.detail_block p {
    gap: 4px;
}
.detail_block p em {
    font-weight: 600;
}
.detail_block p span {
    font-weight: 400;
}
.detail_block h4 {
    gap: 4px;
    font-size: 22px;
}
.detail_block.confirm_taller a,
.detail_block.confirm_taller a span {
    color: var(--green-80);
    text-decoration: none;
}
.detail_block.confirm_taller a:hover,
.detail_block.confirm_taller a:hover span {
    color: var(--green-50); 
    text-decoration: underline;
}
.delivery_note {
    margin-top: 8px;
    background-color: var(--cool-gray-50);
    display: inline-block;
    padding: 10px 20px;
    border-radius: 8px;
    max-width: 320px;
}
.delivery_note p {
    font-weight: 500;
    color: var(--green-80);
    margin: 0;
}
/* ===========================
    PAGE - REVIEWS
=========================== */
main#reviews_template {
    padding-top: 160px;
}
main#reviews_template h1 {
    margin-bottom: 40px;
}
#fixed_column {
    position: -webkit-sticky;
    position: sticky;
    /* top: 120px; */
    min-height: 460px;
    height: 100%;
}
#reviews_list .google_card {
    display: none;
}
/* ===========================
    MEDIAQUERIES
=========================== */
@media (max-width: 1400px) { 

    .flex_contact #contact_iframe {
      min-height: 755px;
    }

}
@media (max-width: 1200px) { 

    main { 
        min-height: auto;
    } 
    #contact_mobile #contact_01_button {
        background-color: var(--green-80);
        border-color: var(--green-80);
        color: var(--white); 
    }
    main#reviews_template {
        padding-top: 100px;
    }

}
@media (max-width: 1024px) {
    /* GENERAL STYLES */
    /* h1, .h1 {
        font-size: 1.6em;
    }
    h2, .h2 {
        font-size: 1.4em;
    }
    h3, .h3 {
        font-size: 1.2em;
    }
    h4, .h4 {
        font-size: 1.15em;
    }
    h5, .h5 {
        font-size: 1.05em;
    }
    h6, .h6 {
        font-size: 1em;
    } */
    /* FLEXIBLE CONTENT */
    .flex_posts_and_pages .overlayed_text.landscape-panoramic {
        padding-top: 30px;
    }
    .flex_posts_and_pages .card_content {
        min-height: 270px;
    }
    .flex_posts_and_pages .card_content h3 {
        min-height: inherit;
    }
    .flex_background_content .text-right,
    .flex_background_content .text-left,
    .flex_background_content .text-center {
        text-align: left;
    }
    .page-template-finder .flex_section.flex_generic_content ul {
        column-count: 2;
    }
}

@media (max-width: 992px) {
    /* HERO SECTION */
    #hero_image {
        display: none;
    }
    #main_widget {
        max-width: initial;
    }
    #hero_section {
        padding-top: 120px;
        min-height: initial;
        border-radius: 0 0 24px 24px;
        padding-bottom: 26px;
        margin-bottom: -25px;
    }
    /* BLOG */
    .is_blog #hero_section {
        padding-top: 50px;
    }
    /* FLEXIBLE CONTENT */
    .inverse.order-first {
        order: 2!important;
    }
    .inverse.order-last {
        order: 1!important;
    } 
    /* REVIEWS */
    #fixed_column {
        display: none;
    }
    #reviews_list .google_card {
        display: block;
    }
    #reviews_list .google_card {
        display: block;
        margin-bottom: 40px;
    }
    .only_mobile a.naked_button {
        display: flex;
    }
    .review_rating {
        display: block;
    }
    .review_rating > div:last-child {
        display: none;
    }
    .big_cartel .flex_section {
        padding: 24px 16px!important;
    }
    .big_cartel .flex_section > .container {
        padding: 0;
    }
    .flex_generic_banner br {
        display: none;
    }
}

@media (max-width: 768px) {
    /* FLEX CONTENT */
    #parallax_slider .swiper-slide,
    #generic_slider .swiper-slide,
    #home_slider .swiper-slide {
        padding: 20px 50px;
    } 
    .flex_posts_and_pages .card_content {
        min-height: auto;
    }
    /* Search */
    .flex_section .widget_search form span {
      min-width: 12%;
      gap: 6px;
      padding-left: 8px;
      font-size: 22px;
    }
    .flex_section .widget_search .search-input {
      min-width: 60%;
      padding: 0 8px;
    }
    .flex_section .widget_search .search-submit {
      min-width: 28%;
    }
} 

@media (max-width: 480px) {
    /* GENERAL STYLES */
    .container,
    .row > * {
        padding-left: 20px;
        padding-right: 20px;
    }
    .row {
        margin-right: -20px;
        margin-left: -20px;
    }
    h1, .h1 {
        font-size: 1.4em;
    }
    h2, .h2 {
        font-size: 1.3em;
    }
    h3, .h3 {
        font-size: 1.2em;
    }
    h4, .h4 {
        font-size: 1.1em;
    }
    h5, .h5 {
        font-size: 1em;
    }
    h6, .h6  {
        font-size: 0.9em;
    }
    /* MODALS */
    a.the_button.double_text, 
    .the_modal .the_button.outlined {
        margin-bottom: 16px;
    } 
    .close_call_modal {
        top: 7px;
        right: 7px;
    }
    .the_modal .container {
        padding-top: 80px;
    }
    #contact_mobile .container,
    #contact_mobile .container .row {
        height: calc(100vh - 170px); 
    }
    /* MAIN WIDGET */
    .widget_button {
        padding: 16px;
    }
    .widget_button span[class^="icon-"] {
        margin-bottom: 8px;
    }

    /* FLEXIBLE CONTENT */
    .flex_icons_ul .icon_text {
        font-size: 22px;
        padding-top: 0;
    }
    .flex_icons_ul .icon_text br {
        display: none;
    }
    /* HOME SLIDER */
    #home_slider {
        height: 100%;
    }
    .slide_content blockquote {
        border-left: 0;
        margin: auto;
    }
    /* .swiper-button-prev, 
    .swiper-button-next { 
        display: none;
    } */
    #parallax_slider .swiper-slide, 
    #generic_slider .swiper-slide, 
    #home_slider .swiper-slide {
        padding: 20px 20px;
    }
    body.home #parallax_slider, 
    #home_slider {
        height: calc(100vh - 70px);
    }
    #parallax_slider, 
    #home_slider {
        height: calc(100vh - 100px);
    }
    /*
    #hero_effect {
        align-items: flex-end;
        padding-bottom: 120px;
    }
    */
    #mouse {
        bottom: 30px;
    }

    /* PAGE - DEFAULT */ 
    .table-wrapper {
        overflow-x:auto;
    }
    #single_page .flex_section.flex_generic_banner {
        margin: 24px 0;
        border-radius: 12px;
        padding: 20px 0;
    }
    #single_page #main_widget {
        display: none;
    }
    /* FLEXIBLE CONTENT */
    .flex_featured_columns .featured_icon {
        margin: auto;
        margin-bottom: 10px;
    }
    .flex_background_content {
        padding: 40px 0;
    }
    .flex_posts_and_pages .card_content {
        min-height: inherit;
        padding-bottom: 20px;
    }
    .flex_posts_and_pages .card_content .text-right, 
    .flex_posts_and_pages .card_content .text-center {
        position: relative;
        padding: 0;
    }
    .card_content .the_button {
        margin-top: 24px;
        display: block;
    }
    .flex_contact .data_content {
        margin-bottom: 15px;
    }
    .icon_text {
        padding-top: 12px;
    }
    .flex_space.add_15px {
        padding-top: 4px;
        padding-bottom: 4px;
    }
    .flex_space.add_30px {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    .flex_space.add_40px {
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .flex_toggle_card .responsive_image {
        margin-bottom: 10px;
    }
    .flex_featured_columns .col_icon {
        margin-bottom: 15px;
    }
    .flex_featured_columns.text-left .top {
        text-align: center; 
    }
    .flex_featured_cards .card.col-md-4.no_image .card_content {
        min-height: inherit;
    }
    .card_content .read_more {
        display: block;
        margin-top: 20px;
    }
    #gallery_slider .swiper-button-prev, 
    #gallery_slider .swiper-button-next {
        display: block;
    }
    .card {
        margin-bottom: 15px;
    }
    .flex_special_ul .special_ul.two_columns > li {
        width: 100%;
        padding: 0;
    }
    #cards_slider .swiper-slide .responsive_image {
        padding: 5px;
    }
    /* BLOG */
    .service_horizontal_card .card_content {
        padding: 16px; 
    }
    .service_horizontal_card .card_content p {
        font-size: 17px;
    }
    #blog_navigation .blog_navigation_block img {
        display: none; 
    }
    #blog_navigation {
        margin-top: 60px; 
        padding-top: 16px;
        padding-bottom: 40px;
    }
    #previous_post,
    #next_post {
        margin: 24px 0;
    }
    /* Legal */
    #legal_content {
        padding-top: 32px;
        padding-bottom: 70px;
    }
    /* FC Cookies */
    #fc_cookies_card {
        width: calc(100% - 40px);
    }
    .fcc-the_button {
        width: 100%;
    }
    .fcc-the_button.filled {
        margin-bottom: 12px;
    }
    #blog_navigation > .container > .row {
        display: block;
    }
    .page-template-finder .flex_section.flex_generic_content ul {
        column-count: 1;
    }
    .flex_slider_reviews .review_footer {
        
    }
    .flex_slider_reviews h2 {
        margin-bottom: 16px;
    }
    .flex_slider_reviews .reviews {
        justify-content: flex-start;
        margin-bottom: 20px;
    }
    .flex_section.flex_slider_reviews .review_body > p {
        -webkit-line-clamp: 5;
        height: 125px;
    }
}

@media (min-width: 768px) {
    .flex_icons_ul .icon-list-item {
        margin-bottom: 0;
    }
    .flex_section .widget_search .search-submit {
      padding: 16px 24px;
    }
    main#page_404 .container {
      padding-top: 0;
      padding-bottom: 0;
    }
    main#page_404 .container .row > div {
      margin-bottom: 0;
    }
    main#page_404 h3 {
      font-size: 32px;
    }
    main#page_404 p {
      font-size: 22px;
    }
    main#page_404 a.naked_link.desktop {
      display: block;
      margin-top: 20px;
    }
    main#page_404 a.naked_link.mobile {
      display: none;
    }
}
@media (min-width: 992px) {
    .flex_slider_reviews .swiper-slide {
        width: 60%;
    }
}
@media (min-width: 1200px) {
    #flexible_content .flex_section:first-child {
        padding-top: 120px;
    }
    #flexible_content .flex_section:last-child {
        padding-bottom: 120px;
    } 
    .flex_section.padding_all {
        padding: 90px 0;
    }
    .flex_section.padding_up {
        padding: 120px 0 20px;
    }
    .flex_section.padding_down {
        padding: 20px 0 120px;
    }
    .flex_slider_reviews .swiper-slide {
        width: 40%;
    }
} 

/* ===========================
    FINDER
=========================== */
#workshop_localizator {
    padding-top: 0;
    padding-bottom: 60px;
}
#workshop_localizator_wrapper {
    padding-top: 90px;
}
.center_layout {
    height: 100%;
    max-height: 500px;
    overflow: hidden;
    position: relative;
}
.center_lists {
    max-height: 100%;
    overflow-y: auto;
    text-align: left;
    display: none;
    padding: 20px 20px 120px; 
}
.center_lists.isActive {
    display: block;
}
.center_lists span {
    font-size: 18px;
    font-weight: 600;
    color: #294634;
}
.filter_results {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}
.filter_results li {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    padding-top: 16px;
}
.filter_results li.selected {
    background-color: #38fa5d;
    color: #013730;
    padding-left: 16px;
}
.filter_results li.selected .center_name {
    color: #013730;
}
.filter_results li.selected .center_name:after {
    background-color: #049582;
}
.filter_results li.selected a {
    color: #025348;
}
.filter_results li::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #3e6d60;
    opacity: 30%;
    margin-top: 16px;
}
.filter_results li:last-child::after {
    display: none;
}
.filter_results a {
    color: #35c4b1;
    text-decoration: none;
    font-weight: 700;
}
.center_name {
    font-size: 28px;
    font-style: italic;
    font-weight: 600;
    line-height: 114%;
    margin: 0;
    text-align: left;
}
.center_name:after {
    background-color: #06e030;
    content: "";
    display: block;
    height: 2px;
    margin: 12px 0;
    width: 50px;
}
.center_address,
.center_rating {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
}
.center_address p,
.center_rating p,
.schedules {
    margin: 0
}
.center_address img,
.center_rating img {
    width: auto;
    height: 22px;
}
.center_rating p span,
.center_rating p span::before {
    opacity: 60%;
}
.center_address p span::before,
.center_rating p span::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #3e6d60;
    margin: 0 8px;
    vertical-align: middle;
}
.center_address, .center_rating, .schedules {
    font-size: 18px;
}
.schedules {
    line-height: 28px;
}
.filter_results button {
    font-size: 18px;
    font-weight: 700;
    color: #62b69d;
}
/* Map */
.center_map {
    height: 100%;
    position: relative;
    display: none;
}
.center_map.isActive {
    display: block;
}
.map_my_location {
    position: absolute;
    bottom: 48px;
    right: 20px;
    cursor: pointer;
}
.info_center {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;

    width: 100%;
    background-color: #fffefe;
    text-align: left;
    padding: 32px 20px 56px;
    border-radius: 24px 24px 0 0;

    display: none;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: 16px;
}
.info_center.isActive {
    display: flex;
}
.info_center a {
    width: 100%;
    padding: 20px 16px;
    background-color: #38FA5A;
    color: #013730;
    font-size: 20px;
    border-radius: 12px;
    text-align: center;
    text-decoration: none;
}
/* Options */
.view_options {
    position: absolute;
    bottom: 48px;
    left: 20px;
    background-color: #049582;
    color: #fffefe;
    border-radius: 6px;
    padding: 16px 24px;
}
.view_option {
    display: none;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 20px;
}
.view_option.isActive {
    display: flex;
    
}
@media (min-width: 768px) {
    .center_layout {
        height: 100%;
        padding: 0;
        overflow: hidden;
    
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px;
    }
    .center_map, .center_lists {
        width: 50%;
        display: block;
    }
    .center_map {
        height: 100%;
        min-height: 500px;
    }
    .center_map div {
        border-radius: 12px;
    }
    .map_my_location {
        bottom: 40px;
    }
    .center_lists {
        max-height: 500px;
        overflow-y: auto;
        margin: 0;
        padding: 0;
    }
    .info_center,
    .info_center.isActive,
    .view_options {
        display: none;
    }
}


/* ===========================
    PREHEADER
=========================== */
#pre_header {
    background-color: var(--lime-100);
    width: 100%;
    height: 36px;
}
#pre_header ul {
    height: 36px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
#pre_header ul, 
#pre_header ul li {
    margin: 0;
    padding: 0;
    list-style: none;
}
#pre_header ul li a {
    font-size: 17px;
    display: flex;
    justify-content: start;
    align-items: center;
    text-decoration: none;
    color: var(--green-100);
    font-weight: 600;
}
#pre_header ul li a span[class*="icon-"] {
    margin-right: 4px;
    font-size: 19px;
}
#pre_header ul li a span.icon-pin {
    margin-right: 3px;
}
#pre_header ul li:hover {
    /* text-decoration: underline; */
    opacity: 1;
}
#pre_header_left ul {
    justify-content: flex-start;
}

#pre_header #pre_header_left li {
    padding-right: 20px;
}
#pre_header_right {
    display: flex;
    justify-content: flex-end;
}
#pre_header_right ul {
    justify-content: flex-end;
}
#pre_header_right ul:first-child {
    padding-right: 20px;
    position: relative;
}
#pre_header_right ul:first-child:after {
    content: '';
    display: block;
    width: 2px;
    height: 24px;
    background-color: var(--lime-on-white);
    position: absolute;
    right: 0;
}
#pre_header #pre_header_right li {
    padding-left: 20px;
}

/* ===========================
    HEADER
=========================== */
header {
    /* position: fixed; */
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 999;
    height: auto;
    border-bottom: 0;
    -webkit-transform: translate3d(0px,0px,0px);
            transform: translate3d(0px,0px,0px);
}
header.hide_header {
    top: -120px;
}
#logo_wrapper {
    height: auto;
    margin: 0;
    text-align: center;
    position: relative;
}
#logo_wrapper a {
    text-align: left;
    margin: auto;
    width: 100%;
    display: block;
    position: relative;
}
#logo_wrapper a img {
    left: 0;
    top: 0;
    width: 150px;
    height: auto;
    position: relative;
    margin-top: 0;
}
#logo_wrapper a img#logo_inverse {
    position: absolute;
    opacity: 0;
    z-index: -1;
}
#logo_wrapper h1,
#logo_wrapper span { 
    text-indent: -9999999px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}
#header_principal {
    background-color: var(--cool-gray-50); 
}
#header_principal .container,
#header_principal .container > .row {
    height: 100%;
}
#header_principal .container {
    position: relative; 
}
nav#navigation {
    text-align: right;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
nav#navigation > div > ul {
    width: 100%;
    padding-left: 0;
    margin: 0;    
    font-family: var(--font-family);
}
nav#navigation div ul li {
    margin-bottom: 0;
}
nav#navigation > div > ul li {
    display: inline-block;
    position: relative;
}
nav#navigation > div > ul li a {
    color: var(--green-100);
    display: block;
    padding: 24px 12px;
    font-size: 0.9em;
    font-weight: var(--weight-semibold);
    height: 75px;
    text-decoration: none;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
            -o-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
}
/* 
nav#navigation > div > ul li a:before {
    content: " ";
    display: block;
    width: 0;
    background-color: var(--lime);
    margin: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    position: relative;
    top: 24px;
    height: 4px;
    left: 0;
} 
*/
nav#navigation > div > ul li a:hover {
    text-decoration: none;
}

nav#navigation > div > ul li.current-menu-item a:before,
nav#navigation > div > ul li.current-menu-parent a:before,
nav#navigation > div > ul li:hover > a:before {
    width: 100%;
} 
nav#navigation > div > ul li > ul > li.current_page_item a,
nav#navigation ul li.current-menu-parent > a, 
nav#navigation ul li.current_page_item > a {
    color: var(--green-50)!important;  
} 
nav#navigation > div > ul li > ul > li.current-menu-item a {
    color: var(--lime-100)!important;  
}
nav#navigation > div > ul > li.menu-item-has-children > a {
    display: flex;
    align-items: center;
}
nav#navigation > div > ul > li.menu-item-has-children > a:after {
    content: "\e904";
    display: block;
    font-size: 18px;
    margin-left: 4px;
    color: var(--green-50);
    /* position: absolute; */
    right: 0;
    font-family: 'icomoon' !important;
    speak-as: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
nav#navigation > div > ul li > ul {
    visibility: hidden;
    display: block;
    position: absolute;
    background-color: var(--green-70);
    width: 240px;
    left: 50%;
    margin-left: -50%;
    margin-top: -8px;
    padding: 6px 14px;
    border-radius: 8px;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in-out;
            -o-transition: all 0.3s ease-in-out;
            transition: all 0.3s ease-in-out;
}
nav#navigation > div > ul li > ul.active{
    visibility: visible; 
    opacity: 1;
}
nav#navigation > div > ul li > ul > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 10px 0;
    font-size: 0.9em; 
    text-transform: none;
}
nav#navigation > div > ul li > ul > li a {
    color: var(--white);
    display: block;
    padding: 0;
    height: auto;
    text-align: left;
}
nav#navigation > div > ul li > ul > li a:hover {
    color: var(--lime-100)!important;
}
nav#navigation ul.sub-menu a:before {
    display: none;
}
.responsive_trigger,
#app_burguer,
#mobile_fixed_buttons,
#contact_mobile_button {
    display: none;
}
/* =======================
    LANGUAGES SELECTOR
======================== */
#controls {
    display: flex;
    align-items: center;
    position: relative;
    margin-left: 6px;
}
#controls:before {
    content: '';
    display: block;
    width: 2px;
    height: 24px;
    background-color: var(--cool-gray-100);
    opacity: 0.6;
}
.language_switch {
    position: relative;
    float: right;
    margin: 0;
    margin-right: 0;
    margin-left: 4px;
    text-align: left;
    font-size: 16px;
    width: 58px;
    height: 44px;
    color: var(--green-80);
}
.language_wrapper {
    position: absolute;
    padding: 0;
    background-color: transparent;
    border-radius: 12px;
    width: 100%;
    /* cambiar el mobile */
}
.language_wrapper.open {
    background-color: var(--green-70);
    color: var(--white);
}
.language_selector {
    padding: 12px 4px 8px 10px;
    cursor: pointer;
    text-align: left;
    font-weight: 600; 
}
.language_selector:after {
    content: "\e904";
    display: inline-block;
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    top: 2px;
    position: relative;
    color: var(--green-50);
}
.language_selector.open:after {
    transform: rotate(-180deg);
    color: var(--lime-100)
}
.language_switch img {
    width: 25px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}
.language_switch ul {
    display: none;
    padding: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    list-style: none;
    font-weight: 600;

}
.language_switch ul li {
    padding: 0;
}
.language_switch ul li:hover {
    background-color: var(--red);
}
.language_switch ul li a {
    color: var(--white);
    display: block;
    padding: 5px 10px;
    text-align: left;
    text-decoration: none;
}
.language_switch ul li a:last-child {
    padding-bottom: 10px;
}
.language_switch ul li:hover a {
    color: var(--lime-100);
}
header.sticky nav#navigation > div > ul li a,
header.sticky .language_switch {
    color: var(--white); 
}
/* nav#navigation li.current-menu-parent > a {
    color: var(--green-70);
}  */
/* ===============================
    HEADER - Hero transparency 
=============================== */
body.transparent_header main,
body.transparent_header main#ui_kit {
    padding-top: 0;
}
body.transparent_header header #header_principal {
    background-color: transparent;
}
body.transparent_header header.sticky #header_principal {
    background-color: var(--white);
}
body.transparent_header header nav#navigation > div > ul li a,
body.transparent_header .language_selector {
    color: var(--white);
}
body.transparent_header header nav#navigation > div > ul > li.menu-item-has-children > a:after {
    color: var(--lime-100); 
}
body.transparent_header header.sticky nav#navigation > div > ul:not(.sub-menu) > li > a {
    color: var(--green-100); 
}
body.transparent_header .language_selector:after {
    color: var(--lime-100);
}
body.transparent_header nav#navigation > div > ul li > ul > li.current_page_item a,
body.transparent_header nav#navigation > div > ul li > ul > li.current-menu-item a,
body.transparent_header nav#navigation ul li.current-menu-parent > a, 
body.transparent_header nav#navigation ul li.current_page_item > a {
    color: var(--lime-100)!important;  
}
/* 
body.transparent_header header nav#navigation > div > ul li a:before {
    background-color: var(--green-50);
} 
body.transparent_header header.sticky nav#navigation > div > ul li a:before {
    background-color: var(--lime);
}
*/
body.transparent_header header #logo_wrapper a img,
body.transparent_header header.sticky #logo_wrapper a img#logo_inverse {
    opacity: 0;
}
body.transparent_header header #logo_wrapper a img#logo_inverse,
body.transparent_header header.sticky #logo_wrapper a img {
    opacity: 1!important;
}


/* ===========================
    FOOTER
=========================== */
footer {
    background-color: var(--green-100);
    color: var(--white);
    padding: 50px 0 20px;
    z-index: 99;
    position: relative;
    font-weight: var(--weight-regular);
    border-radius: 28px 28px 0 0;
    margin-top: -30px;
}
#footer_logo img {
    max-width: 170px;
    height: auto;
}
footer a,
#subfooter a {
    color: var(--white);
    text-decoration: none;
}
footer a:hover,
#subfooter a:hover {
    color: var(--lime-100);
    text-decoration: none;
}
footer p.h6 {
    color: var(--green-50);
}
footer ul {
    padding: 0;
}
footer ul li {
    list-style: none;
}
#footer_heading {
    
}
#footer_heading hr {
    margin: 24px 0;
    border: 0;
    border-top: 2px solid var(--lime-100);
    opacity: 1;
}
#footer_sitemap { 
    padding-top: 24px;
}
#footer_sitemap > .col-12 > [class^="menu-"] {
    margin-bottom: 32px;
}
#footer_sitemap li {
    margin-bottom: 6px;
}
#footer_interesting ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    font-size: 23px;
    font-weight: 500;
    margin: 0;
    padding: 0;
}
#footer_interesting ul li {
    margin-right: 40px;
    margin-bottom: 0;
}
#footer_interesting ul li:last-child {
    margin-right: 0;
}
#footer_interesting ul li [class^="icon-"] {
    color: var(--lime-100);
    margin-right: 8px;  
}
#footer_interesting ul li a {
    display: flex;
    align-items: center;
}
#social_menu_title {
    padding-top: 16px;
}
#footer_companies hr {
    margin: 32px 0;
    border-top: 2px solid var(--cool-gray-100);
    opacity: 0.3;
}
#companies_list {
    padding-top: 16px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}
#companies_list li {
    margin-bottom: 0;
}
#companies_list li div {
    margin-bottom: 24px;
    margin-right: 40px;
}
#companies_list li:last-child div {
    margin-right: 0;
}
#companies_list li div span {
    margin-bottom: 6px;
    font-size: 15px;
    color: var(--cool-gray-50);
    opacity: 0.7;
}
#companies_list li div img {
    opacity: 0.9;
    width: 100%;
    height: auto;
}
#companies_list li div span,
#companies_list li div img {
    display: block;
}
#cary_group img {
    max-width: 220px; 
}
#age img {
    max-width: 100px; 
}
#centro_zaragoza img {
    max-width: 146px; 
}
#subfooter {
    font-size: 16px; 
    background-color: var(--green-80);
    padding: 14px 0px;
    color: var(--cool-gray-50); 
    position: relative;
    z-index: 99;
}
#subfooter ul {
    text-align: right;
}
#subfooter ul li,
#footer_legal .text-left span {
    display: inline-block;
    padding: 10px; 
}

#footer_legal .text-left span {
    padding-left: 0;
    padding-right: 0;
}
#subfooter ul li {
    margin-bottom: 0;
}
#subfooter ul li:last-child {
    padding-right: 0;
}
#legal_menu ul {
    margin-bottom: 0;
}

/* ===========================
    SOCIAL MENU
=========================== */
ul.social_menu {
    display: block;
    padding: 0;
    margin: 0 0 20px;
    text-align: left;
}
ul.social_menu li {
    display: inline-block;
    font-size: 18px;
    margin: 0;
    line-height: 1;
}
ul.social_menu a {
    padding: 0 6px;
}
ul.social_menu li:last-child a {
    padding-right: 0;
} 
ul.social_menu a:hover {
    text-decoration: none;
}
ul.social_menu li span {
    text-indent: -99999px;
    display: inline-block;
    overflow: hidden;
}
ul.social_menu a i {
    font-size: 24px;
}

/* ===========================
    SECONDARY BUTTONS
=========================== */
#secondary_buttons {
    width: 100%;
    padding-top: 24px;
    z-index: 98;
    position: fixed;
    top: -150px;
}
#secondary_buttons {
    pointer-events: none;
}
#secondary_buttons.show {
    top: 0;
}
#secondary_buttons.open #fixed_buttons .the_button {
    /* opacity: 0;
    pointer-events: initial;
    visibility: hidden; */
}
#fixed_buttons {
    text-align: right;
    display: flex;
    justify-content: flex-end;
}
#fixed_buttons .the_button {
    pointer-events: initial;
    box-shadow: 0 0 15px #01373050;
}
#fixed_buttons .the_button:first-child {
    margin-right: 16px;
    background-color: var(--green-50); 
    border-color: var(--green-50); 
    color: var(--white);  
}


/* ===========================
    MEDIAQUERIES
=========================== */

@media (max-width: 1200px) { 
    /* PRE HEADER */
    #pre_header {
        display: none;
    }
    /* HEADER */
    #header_principal .row {
        text-align: center; 
    }
    header {
        overflow: visible;
        position: fixed;
    }
    #header_principal, nav#navigation {
        height: 72px;
    }
    nav#navigation {
        display: block;
        background-color: var(--green-100);
        background-color: var(--white);
        position: fixed;
        left: 0;
        top: calc(-100vh + -40px);
        height: calc(100vh + 40px);
        width: 100%;
        color: var(--white);
        z-index: -9;
        overflow: hidden;
        /* overflow-y: scroll; */
        padding: 120px 0 100px;
        margin-top: 0;
        -webkit-transition: all 0.3s ease-in-out;
                -o-transition: all 0.3s ease-in-out;
                transition: all 0.3s ease-in-out;
    }
    nav#navigation.open {
        top: 0;
    }
    nav#navigation > div,
    nav#navigation #controls > div {
        margin-right: auto;
        margin-left: auto; 
        padding-left: var(--bootstrap-padding);
        padding-right: var(--bootstrap-padding);
        width: 100%;
        max-width: 960px;
    }
    .language_selector,
    body.transparent_header .language_selector {
        color: var(--green-80);
    }
    .language_wrapper.open .language_selector,
    body.transparent_header .language_wrapper.open .language_selector {
        color: var(--white);
    }
    .language_selector:after,
    body.transparent_header .language_selector:after {
        color: var(--green-50);
    }
    .language_wrapper.open .language_selector:after,
    body.transparent_header .language_wrapper.open .language_selector:after {
        color: var(--lime-100);
    }
    #controls {
        display: block;
        position: absolute;
        width: 100% !important;
        max-width: none !important;
        top: 0;
        left: 0;
        padding-top: 16px;
    }
    #controls:before {
        display: none;
    }
    .language_switch {
        margin-left: initial;
        margin-right: 70px;
    }
    nav#navigation a:focus {
        color: var(--lime)!important;
    }
    nav#navigation > div > ul li a:before {
        display: none;
    }
    nav#navigation > div > ul {
        padding: 0;
        margin-top: 0;
        height: auto; 
        display: -webkit-box; 
        display: -ms-flexbox; 
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }
    nav#navigation > div > ul li {
        text-align: left;
        padding: 0;
        position: relative; 
    }
    nav#navigation > div > ul li.current_page_parent > a,
    nav#navigation > div > ul li.current_page_item > a,
    nav#navigation > div > ul li > ul > li.current_page_item > a {
        color: var(--lime)!important;  
    }
    nav#navigation > div > ul > li a {
        font-size: 1.3em;
        padding: 12px 0;
        height: auto;
        color: var(--green-100);
        position: relative;
    }
    nav#navigation > div > ul > li a:hover {
        color: var(--lime);
    }
    nav#navigation > div > ul > li.menu-item-has-children > a {
        width: auto; 
        width: -webkit-fit-content; 
        width: -moz-fit-content; 
        width: fit-content; 
        padding-right: 46px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 12px;
    }
    nav#navigation > div > ul > li.menu-item-has-children > a .responsive_trigger {
        height: 22px;
    }
    nav#navigation > div > ul > li.menu-item-has-children .sub-menu > li > .responsive_trigger {
        height: initial;
        opacity: 0.5;
        text-transform: uppercase;
        font-size: 15px;
        letter-spacing: 1px;
        font-weight: 600;
    }
    nav#navigation > div > ul > li.menu-item-has-children .sub-menu > li > .responsive_trigger span.icon-arrow_left_md {
        font-size: 18px;
    }
    nav#navigation > div > ul > li.menu-item-has-children > a .responsive_trigger,
    nav#navigation > div > ul > li.menu-item-has-children .sub-menu > li > .responsive_trigger {
        display: block; 
        position: relative;
        height: 30px; 
    }
    nav#navigation > div > ul > li.menu-item-has-children > a .responsive_trigger span.icon-arrow_right_md {
        font-size: 28px;
        color: var(--lime-on-white);
    }
    nav#navigation > div > ul > li.current-menu-parent.menu-item-has-children ul {
        display: inline-block; 
    }
    nav#navigation > div > ul > li ul {
        display: block;
        visibility: visible;
        position: relative;
        opacity: 1;
        color: var(--green-100);
        background-color: var(--cool-gray-50); 
        width: -webkit-fit-content; 
        width: -moz-fit-content; 
        width: fit-content; 
        left: 0;
        margin: 0;
        padding: 0.8em 0;
        position: fixed;
        top: 0;
        left: 102vw;
        width: 60vw;
        height: 100vh;
        padding-top: 124px;
        z-index: 99;
    }
    nav#navigation.open > div > ul > li ul.open {
        left: 40vw;
    }
    nav#navigation > div > ul > li ul li {
        margin: 0;
        padding: 0;
    }
    nav#navigation > div > ul > li ul li a, 
    nav#navigation > div > ul > li ul li .responsive_trigger {
        padding: 10px 16px;
        line-height: 1;
        font-size: 1.15em;
        color: var(--green-100);
    }
    nav#navigation .sub-menu li a, nav#navigation .sub-menu li .responsive_trigger {
        padding: 10px 40px;
    }
    nav#navigation > div > ul > li ul li > .responsive_trigger {
        display: -webkit-box!important;
        display: -ms-flexbox!important;
        display: flex!important;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
        margin-bottom: 8px;
        gap: 4px;
    }
    nav#navigation > div > ul > li ul li > .responsive_trigger .material-icons {
        font-weight: 900;
        position: relative;
        top: 2px;
    }
    nav#navigation > div > ul > li.menu-item-has-children > a:after {
        display: none;
    }
    #header_principal {
        pointer-events: none;
    }
    #the_logo,
    #the_nav,
    #app_burguer,
    #contact_mobile_button {
        pointer-events: initial;
    }
    #mobile_fixed_buttons {
        padding-top: 24px;
        display: flex;
        justify-content: flex-start;
        text-align: center;
    }
    #mobile_fixed_buttons .the_button:first-child {
        margin-right: 16px;
        background-color: var(--green-50);
        border-color: var(--green-50);
        color: var(--white);
    }
    /* LANGUAGE SWITCH */
    /* #controls{
        width: initial!important;
        position: absolute;
        top: 16px;
        right: calc(var(--bootstrap-padding) + 60px);
    }
    .language_switch ul li a {
        color: var(--lime-100);
       
    } */
    
    /* APP BURGUER */
    header #menu-icon {
        width: 40px;
        height: 40px;
        margin-top: 0;
    }
    header #menu-icon .path {
        width: 100%;
        height: 3px;
        border-radius: 3px;
        background-color: var(--green-100);
        top: calc(50% - 1.5px);
        position: relative;
        margin-top: -3px;
    }
    #app_burguer {
        display: block;
        height: 40px;
        width: 40px;
        position: absolute;
        top: 19px; 
        right: var(--bootstrap-padding);
        cursor: pointer;
    }
    header #app_burguer:hover {
        text-decoration: none;
        border-bottom: 0;
    }
    header #app_burguer #menu-icon .top {
        -webkit-transform:  rotate(0deg) translateY(-13px);
        -ms-transform:      rotate(0deg) translateY(-13px);
        transform:          rotate(0deg) translateY(-13px);
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition:         all 0.2s ease-in-out;
        transition:         all 0.2s ease-in-out;
    }
    header #app_burguer #menu-icon .middle {
        -webkit-transform:  rotate(0deg);
        -ms-transform:      rotate(0deg);
        transform:          rotate(0deg);
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition:         all 0.2s ease-in-out;
        transition:         all 0.2s ease-in-out;
    }
    header #app_burguer #menu-icon .bottom {
        -webkit-transform:  rotate(0deg) translateY(13px);
        -ms-transform:      rotate(0deg) translateY(13px);
        transform:          rotate(0deg) translateY(13px);
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition:         all 0.2s ease-in-out;
        transition:         all 0.2s ease-in-out;
    }
    header #app_burguer.open #menu-icon .top {
        -webkit-transform-origin:   50% 50%;
        -ms-transform-origin:       50% 50%; 
        transform-origin:           50% 50%; 
        -webkit-transform:  rotate(-45deg);
        -ms-transform:      rotate(-45deg);
        transform:          rotate(-45deg);
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition:         all 0.2s ease-in-out;
        transition:         all 0.2s ease-in-out;
    }
    header #app_burguer.open #menu-icon .middle {
        -moz-opacity: 0;
        -khtml-opacity: 0;
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition:         all 0.2s ease-in-out;
        transition:         all 0.2s ease-in-out;
    }
    header #app_burguer.open #menu-icon .bottom {
        -webkit-transform-origin: 50% 50%;
        -ms-transform-origin:     50% 50%; 
        transform-origin:         50% 50%; 
        -webkit-transform:  rotate(45deg);
        -ms-transform:      rotate(45deg);
        transform:          rotate(45deg);
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition:         all 0.2s ease-in-out;
        transition:         all 0.2s ease-in-out;
    }
    /* HEADER - Hero transparency */
    body.transparent_header header #menu-icon .path {
        background-color: var(--white);
    }
    body.transparent_header header.sticky #menu-icon .path,
    body.transparent_header header #app_burguer.open #menu-icon .path {
        background-color: var(--green-100);
    }
    body.transparent_header header.sticky #header_principal,
    body.transparent_header header #header_principal.open {
        background-color: var(--white);
    }
    #header_principal.open, 
    body.transparent_header header #header_principal.open {
        background-color: transparent;
    }
    body.transparent_header header #header_principal.open #logo_wrapper a img#logo_inverse,
    body.transparent_header header #logo_wrapper a img {
        opacity: 0;
    }
    body.transparent_header header #header_principal.open #logo_wrapper a img {
        opacity: 1;
    }
    body.transparent_header header nav#navigation > div > ul li a {
        color: var(--green-100);
    }
    nav#navigation > div > ul li > ul > li.current_page_item a, 
    nav#navigation ul li.current-menu-parent > a, 
    nav#navigation ul li.current_page_item > a,
    nav#navigation > div > ul li > ul > li.current-menu-item a,
    body.transparent_header nav#navigation > div > ul li > ul > li.current_page_item a, 
    body.transparent_header nav#navigation ul li.current-menu-parent > a, 
    body.transparent_header nav#navigation ul li.current_page_item > a,
    body.transparent_header nav#navigation > div > ul li > ul > li.current-menu-item a {
        color: var(--lime-on-white)!important;
    }
    /* nav#navigation > div > ul li > ul > li.current_page_item a,
    nav#navigation ul li.current-menu-parent > a, 
    nav#navigation ul li.current_page_item > a {
        color: var(--green-50)!important;  
    } 
    nav#navigation > div > ul li > ul > li.current-menu-item a {
        color: var(--lime-100)!important;  
    } */

    nav#navigation ul li.current-menu-parent li.current_page_item > a,
    body.transparent_header nav#navigation ul li.current-menu-parent li.current_page_item > a {
        color: var(--green-50)!important;
    }
    #contact_mobile_button {
        display: block !important;
        position: absolute;
        right: 74px;
        top: 50%;
        transform: translate(0, -50%);
        padding: 8px 14px;
        font-size: 17px;
        border-radius: 10px;
        color: var(--green-50);
        border-color: var(--green-50);
    }
    body.transparent_header #contact_mobile_button {
        color: var(--lime-100);
        border-color: var(--lime-100);
    }
    body.transparent_header #header_principal.open #contact_mobile_button {
        color: var(--green-50);
        border-color: var(--green-50);
    }
    /* GENERAL */
    main {
        padding-top: 70px;
    }
    #blog_select {
        padding-bottom: 0;
    } 
    #blog_select select {
        max-width: initial;
        margin-top: 24px;
    }
    /* FOOTER */
    #subfooter {
        padding-bottom: 110px;
    }
    /* SECONDARY BUTTONS */
    #secondary_buttons,
    #secondary_buttons.show {
        top: initial;
    }
    #secondary_buttons {
        bottom: -150px;
        background-color: var(--green-100);
        padding: 16px 0;
        pointer-events: initial;
        z-index: 998;
    }
    #secondary_buttons.show {
        bottom: 0;
    }
    #fixed_buttons {
        justify-content: center;
        text-align: center;
    }
    /* SINGLE POST */
    #single_page {
        padding-top: 60px;
    }
    #fixed_sidebar #main_widget {
        display: none;
    }
    #single_page #single_post_container,
    #single_page #breadcrumb_container {
        justify-content: center!important;
    }
    #fixed_sidebar {
        position: initial;
        top: initial;
        min-height: initial;
        height: initial;
    }
    #post_content > div {
        padding-left: 0; 
    }  
}

@media (max-width: 1024px) {

}

@media (max-width: 992px) {
    /* HEADER */
    #header_principal .container {
        width: 100%;
    }
}

@media (max-width: 768px) {
    /* HEADER */ 
    #header_principal {
        padding: 0;
    }
    #app_burguer {
        top: 16px;
        right: var(--bootstrap-padding);
        height: 40px;
        width: 40px;
    }
    header #header_principal h1 {
        background-size: 230px;
        display: block;
        height: 100%;
    }
    nav#navigation > div,
    nav#navigation #controls > div {
        max-width: 720px;
    }
    nav#navigation > div > ul > li a {
        font-size: 1.2em;
    }
    nav#navigation > div > ul > li ul li a {
        font-size: 1.1em;
    }
    nav#navigation > div > ul > li ul {
        width: 100vw;
    }
    nav#navigation.open > div > ul > li ul.open {
        left: 0;
    }
    nav#navigation > div > ul li > ul > li {
        margin-right: auto;
        margin-left: auto;
        --bs-gutter-x: 1.5rem;
        --bs-gutter-y: 0;
        width: 100%;
        max-width: 720px;
        padding-left: var(--bootstrap-padding);
        padding-right: var(--bootstrap-padding);
    }
    nav#navigation .sub-menu li a,
    nav#navigation .sub-menu > li > .responsive_trigger {
        display: block;
        width: 100%;
        padding: 10px 0;
    }
    /* FOOTER */
    #subfooter ul {
        text-align: left;
        padding-left: 0;
    }
    #subfooter ul li:first-child {
        padding-left: 0;
    }
    ul.social_menu {
        text-align: left;
        margin-top: 20px;
    }
    #footer_heading #footer_logo {
        order: 1!important;
    }
    #footer_heading #footer_heading_line {
        order: 2!important;
    }
    #footer_heading #footer_interesting {
        order: 3!important;
    }
    #footer_heading #footer_logo img {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
    #footer_interesting {
        margin-bottom: 32px;
    }
    #footer_interesting ul {
        justify-content: space-between;
    }
    #footer_interesting ul li {
        margin-right: 20px;
    }
    #footer_interesting ul li:last-child {
        margin-right: 0;
    }
    #footer_interesting ul li [class^="icon-"] {
        margin-right: 4px;
    }
    #footer_sitemap li {
        margin-bottom: 12px;
    }
    #companies_list {
        justify-content: flex-start;
    }
} 

@media (max-width: 480px) {
    /* HEADER */ 
    #header_principal .row {
        text-align: left;
    }
    nav#navigation {
        right: -110%;
        width: 100%; 
    }
    #app_burguer {
        right: 20px;
        top: 18px;
    }
    .the_modal {
        padding: 0;
    }
    #logo_wrapper a img {
        top: -2px;
        width: 126px;
    }
    #footer_logo img {
        max-width: 150px;
    }
    .language_switch {
        margin-right: 40px;
    }
    #controls {
        padding-top: 14px; 
    }
    #mobile_fixed_buttons {
        display: block;
    }
    #mobile_fixed_buttons .the_button,
    #mobile_fixed_buttons .the_button:first-child {
        margin: 0;
        margin-bottom: 16px;
        width: auto;
    }
    /* SECONDARY BUTTONS */
    #fixed_buttons {
        gap: 10px;
        justify-content: center;
        text-align: center;
    }
    #fixed_buttons .the_button {
        font-size: 17px;
        padding: 11px 16px;
        border-radius: 10px;
        flex: 1;
        min-width: 0;
    }
    #fixed_buttons .the_button:first-child {
        margin-right: 0;
    }
    /* FOOTER */
    #footer_interesting ul {
        justify-content: space-between;
    }
    #link_booking {
        display: none;
    }
    #subfooter ul li {
        padding-left: 0;
        padding-right: 24px;
    }
    #subfooter ul li:last-child {
        
    }


}

@media (min-width: 768px) {
    
}
@media (min-width: 992px) {
    
}
@media (min-width: 1200px) {
    
}


/* ===========================
    MAIN
=========================== */
.page-template-booking {
    /* overflow: hidden; */
}
main.booking-page {
    background: #025348;
    padding-top: 80px!important;
}
.page-template-calling main.booking-page .background_gray {
    background: #E5F0F0;
}
#booking-frame{
    background: #025348;
    width: 100%;
    min-height: 300px;
    height: calc(100dvh - 72px);
}
#workshop_localizator_wrapper #booking-frame{
    background: none;
}
#workshop_localizator .widget_search{
    padding: 30px 0 0;
}
.page-template-booking .flex_section .widget_search .search-submit{
    padding-left: 14px;
    padding-right: 14px;
}

@media (min-width: 1200px) { 
    main.booking-page{
        padding-top: 116px!important;
    }
    #booking-frame{
        height: calc(100dvh - 116px);
    }
}



/* Single Post Talleres */
#single_talleres #hero_heading {
  position: relative;
}
#single_talleres #hero_heading .opening_hours {
  display: flex;
  flex-direction: row;
  gap: 6px;
}
#single_talleres #hero_heading .opening_hours .icon-clock {
  font-size: 24px;
  color: #A9F9B9;
}
#single_talleres #hero_heading .opening_hours p {
  margin-bottom: 0;
}
#single_talleres #hero_heading .opening_hours .week_opening_hours,
#single_talleres #hero_heading .opening_hours .saturday_opening_hours,
#single_talleres #hero_heading .opening_hours .closed, {
  font-family: Lota Grotesque;
  font-weight: 600;
  font-size: 18px;
  line-height: 130%;
  color: #A9F9B9;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
}
#single_talleres #hero_heading .opening_hours .closed {
  text-transform: uppercase;
}
#single_talleres #hero_heading img.hero_whatsapp {
  position: absolute;
  top: 0;
  right: 0;
}
#single_talleres #hero_heading span.icon {
  font-size: 24px;
  color: #06E030;
}
#single_talleres #hero_heading span.rating {
  font-family: Lota Grotesque;
  font-weight: 700;
  font-size: 24px;
  line-height: 110%;
  color: #FFFFFF;
}
#single_talleres #hero_heading span.reviews {
  font-family: Lota Grotesque;
  font-weight: 400;
  font-style: italic;
  font-size: 18px;
  line-height: 114%;
  margin-left: 6px;
}
#single_talleres #hero_heading p.address {
  font-family: Lota Grotesque;
  font-weight: 600;
  font-size: 18px;
  line-height: 130%;
  color: #A9F9B9;
  
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 6px;
}
#single_talleres #hero_heading p.address span {
  font-size: 24px;
  color: #A9F9B9;
}
#single_talleres #map {
  height: 360px !important;
  border-radius: 15px;
}
#single_talleres #taller_img_col {
  display: none;
}

@media (max-width: 1200px) { 
  #single_talleres section {
    padding-top: 40px;
  }
  #taller_img_col {
    display: none;
  }
}

@media (max-width: 992px) { 
  #single_talleres #taller_img_col {
    display: block;
  }
  #single_talleres #taller_img_col img {
    border-radius: 12px;
    margin-bottom: 50px;
  }
}

@media (min-width: 768px) { 
  /*
  #single_talleres #map {
    height: 100% !important;
  }
  */
}
