/*
    Theme Name: Epicentre Lourdes
    Author: OnzeMars (onzemars.com)
    Version: 0.3
    Requires at least: 6.0
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
    --wp--preset--font-size--small: 1rem;
    --epi-text: #666666;
    --epi-title: #222222;
    --epi-background: #f7f7f7;
    --epi-primary: #ee5a2b;
    --epi-primary-hover: #d94e22;
    --epi-primary-dark: #f77c53;
    --epi-primary-light: #f77c53;
    --epi-secondary: #ee5a2b;
    --epi-secondary-hover: #e89b65;
    --epi-secondary-dark: #c67f4f;
    --epi-secondary-light: #f2c6a9;
    --epi-shadow-1: rgba(100, 100, 111, 0.0) 0px 7px 29px 0px;
    --epi-shadow-3: rgba(100, 100, 111, 0.25) 0px 7px 29px 0px;
    --epi-border-radius-1: 0.75rem;
    --epi-border-radius-2: 0.5rem;
}

.epi-rounded-1 {
    border-radius: var(--epi-border-radius-1) !important;
}

.epi-rounded-2 {
    border-radius: var(--epi-border-radius-2) !important;
}

html, body {
    overflow-x: hidden !important;
	scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--epi-background);
    font-family: "Inter", sans-serif;
    font-size: 16px !important
}

.wp-block-media-text img, .media-text-left img {
    border-radius: var(--epi-border-radius-1) !important;
}

/************************ SLIDESHOW ************************/

@media (max-width: 781px) {
    .wp-block-columns.media-text-left {
        flex-direction: column-reverse !important;
        
    }

    .wp-block-columns.media-text-left > .wp-block-column {
        width: 100% !important;
        max-width: 100%;
        flex-basis: auto !important;
    }

    .thumb-preview {
        width: 100px;
        height: auto;
    }

    .d-flex.justify-content-start.gap-3.mt-3 {
        flex-wrap: nowrap;
        padding-bottom: 1rem;
    }
}

.thumb-preview {
    width: 80px;
    height: auto;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.thumb-preview:hover {
    transform: scale(1.035);
    border-color: var(--epi-primary, #ee5a2b);
}

.hover-fx-1:hover {
    transform: scale(1.035) !important;
}

.image-ratio-wrapper {
  position: relative;
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
}

.image-ratio-wrapper img {
  position: absolute !important;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
}

/************************ NAVBAR ************************/

.bg-main-nav {
    background-color: rgba(248, 248, 248, 1.0);
}

.bg-main-nav a {
    color: black !important;
    border: solid 1px transparent;
    border-radius: var(--epi-border-radius-1);
    padding: 8px 12px !important;
    background-color: transparent;
    margin-right: 12px;
    transition: all 0.1s ease-in;
}

.bg-main-nav a:hover,
.bg-main-nav a:focus {
    color: var(--epi-primary-light) !important;
    border: solid 1px var(--epi-primary-light);
    border-radius: var(--epi-border-radius-1);
    padding: 8px 12px !important;
    background-color: white !important;
    margin-right: 12px;
    box-shadow: rgba(100, 100, 111, 0.1) 0px 7px 29px 0px;
}

.bg-main-nav a.navbar-brand {
  background-color: inherit !important;        
  padding: 0 !important;      
  border: none !important;
}

/************************ BUTTONS ************************/

.btn-primary, 
.btn-primary:visited {
    background-color: var(--epi-primary) !important;
    border-color: var(--epi-primary) !important;
    color: white !important;
    transition: transform 0.8s ease;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: var(--epi-primary-light) !important;
    border-color: var(--epi-primary-light) !important;
    color: white !important;
    box-shadow: rgba(100, 100, 111, 0.1) 0px 7px 29px 0px;
}

.btn-secondary, 
.btn-secondary:visited {
    background-color: white !important;
    border: var(--bs-border-width) solid var(--bs-border-color); /* border-color: var(--epi-primary) !important; */
    color: var(--epi-primary) !important;
}
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus {
    background-color: white !important;
    border-color: var(--epi-primary-light) !important;
    color: var(--epi-primary-light) !important;
    box-shadow: rgba(100, 100, 111, 0.1) 0px 7px 29px 0px;
}

.btn-square {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.zoom-on-hover:hover {
    transform: scale(1.1);
}

/************************ TEXT ************************/

h1 {
    color: var(--epi-title);
    font-size: 2.8rem;
}

h2 {
    color: var(--epi-tile);
    font-size: 2rem;
}

h4, h5 {
    color: var(--epi-tile);
}

p {
    color: var(--epi-text);
}

.home-content h2 {
  position: relative;
  display: inline-block;
  padding-bottom: 0.4rem;
  color: var(--epi-title, #222222); 
  font-weight: bold;
}

.home-content h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px; 
  height: 3px;  
  background-color: var(--epi-primary, #ee5a2b); 
  border-radius: 0px;
}

.hero h1, .hero p {
    color: white !important;    
}

a {
  color: var(--epi-primary);              
  text-decoration: none;      
  transition: color 0.1s ease;
}

a:hover,
a:focus {
  color: var(--epi-primary-dark);             
  text-decoration: none; 
}

.bottom-margin-1 {
    margin-bottom: 30px;
}

.nb-style-1 {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--epi-primary);      
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
    margin-right: 8px !important;
    box-shadow: 0 0 0 5px #d2dada5e, 0 0 0 6px white;
}

/************************ HERO ************************/

.hero {
  position: relative;
  min-height: 460px;
  color: white;
  margin-top: -96px;
  padding-top: 192px !important;
  padding-bottom: 146px;
  overflow: hidden;
  z-index: 30 !important;
}

.hero-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: url('/wp-content/uploads/parc-national-pyrenees-img.webp');
  background-size: cover;
  background-position: center;
  transition: transform 0.3s ease-out;
  z-index: 1;
}

.hero-layer {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 2;
}

.hero > .container {
  position: relative;
  z-index: 3;
}

.hero::after {
    content: "";
    position: absolute;
    bottom: -90px;
    height: 120px; 
    width: 100%;
    left: 0;
    background-image: url('/wp-content/uploads/border_004.png');
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: auto 100%;
    z-index: 50;
}

/************************ NAVBAR ************************/

.navbar-toggler {
    background-color: transparent !important;
    border: none !important;
}

.navbar {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    .navbar .nav-link {
        color: black !important;
        padding: 12px 16px;
        text-align: left;
        margin-right: 0px;
        margin-bottom: 12px;
    }
    
    .navbar .nav-link:hover {
        margin-right: 0px !important;
    }
    
    .navbar .nav-link:first-child {
      margin-top: 16px;
    }
    
    .navbar .nav-link:last-child {
      margin-bottom: 16px;
    }
}

/************************ BLOCKS ************************/

.media-text-left > .wp-block-media-text__content {
    padding-right: 0px !important;
}

.media-text-right > .wp-block-media-text__content {
    padding-left: 0px !important;
}

.media-text-right > .wp-block-media-text__content, 
.media-text-left > .media-text-left-content {
    padding-top: 16px !important;
    padding-bottom: 32px !important;
}

.media-text-left-content, .wp-block-media-text__content p {
    margin-bottom: 0px !important;
}

.media-text-left-content h3, .wp-block-media-text__content h3 {
    margin-bottom: 16px;
}

.media-text-left img, .media-text-right img  {
    /* padding: .25rem; */
    background-color: var(--bs-body-bg);
    /* border: var(--bs-border-width) solid var(--bs-border-color); */
    border-radius: var(--bs-border-radius);
    max-width: 100%
}

@media (max-width: 781px) { /** WP STANDARD BREAKPOINT **/
    .wp-container-core-group-is-layout-b6c475e2 {
        align-items: flex-start !important;
    }
    
    .wp-container-core-group-is-layout-b6c475e2 a {
        width: 100% !important;
        border-radius: var(--epi-border-radius-1) !important;
    }
}

@media (max-width: 600px) {
    h1 {
        font-size: 2.4rem;
    }
    
    h2 {
        font-size: 2.4rem;
    }

    .wp-block-media-text.is-stacked-on-mobile.reverse-on-mobile {
        display: grid;
        grid-template-areas:
          "content"
          "media";
    }
    
    .wp-block-media-text.is-stacked-on-mobile.reverse-on-mobile .wp-block-media-text__media {
        grid-area: media;
    }
    
    .wp-block-media-text.is-stacked-on-mobile.reverse-on-mobile .wp-block-media-text__content {
        grid-area: content;
    }
    
    .media-text-left {
        flex-direction: column-reverse;
        gap: 0 !important;
    }

    .media-text-left > .media-text-left-content {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }

    .media-text-right > .wp-block-media-text__content {
        padding-right: 0px !important;
        padding-left: 0px !important;
    }
}

.box-style-1 {
    box-shadow: var(--epi-shadow-1);
    border-radius: var(--epi-border-radius-1);
    border: var(--bs-border-width) solid var(--bs-border-color);
    overflow: hidden;
    background-color: white !important;
}

.header-style-1 {
    background-color: rgba(0, 0, 0, 0.025) !important;
    padding: 12px 24px !important;
}

.header-style-1 > i {
    color: var(--epi-primary);
}

.content-style-1 {
    padding: 22px 24px !important;
}

.content-style-1 > p {
    margin: 0 !important;
    font-size: 1rem !important;
}

.block-group-1 {
    gap: 0 !important;
}

.block-group-1 p {
    margin: 0px !important;
}

#map-container {
    border-radius: var(--epi-border-radius-1);
    overflow: hidden;
    box-shadow: var(--epi-shadow-3);
}

#map {
    background-image: url('/wp-content/uploads/20125556.webp');
    background-size: cover;
    background-position: center; 
    min-height: 340px;
}

/************************ CONTAINER ************************/

.max-width-80 {
    max-width: 80% !important;
}

.container {
    max-width: 950px; 
}

.full-bg-0 {
    position: relative;
    z-index: 10 !important;
}

.full-bg-0::before {
    content: "";
    position: absolute;
    top: 0;
    left: -50vw;
    width: 200vw;
    height: 100%;
    background-color: var(--epi-background);
    z-index: -50 !important;
}

.full-bg-0 a, .full-bg-0 p, .full-bg-0 img {
    position: relative;
    z-index: 10 !important;
}

.full-bg-1 {
    position: relative;
    z-index: 1 !important;
}

.full-bg-1::before {
    content: "";
    position: absolute;
    top: 0;
    left: -50vw;
    width: 200vw;
    height: 100%;
    background-color: #E9ECEC; /* == d2dada5e */
    z-index: -50 !important;
}

.bottom-full-image {
    position: absolute;
    bottom: 0;
    left: -50vw;
    width: 200vw;
    height: auto;
    display: block;
    z-index: -40 !important;
}

[data-aos="fade-up-strong"] {
  transform: translateY(400px);
  opacity: 0;
  transition-property: transform, opacity;
}

[data-aos="fade-up-strong"].aos-animate {
  transform: translateY(0);
  opacity: 1;
}

.full-bg-2 {
    position: relative;
    z-index: 10 !important;
}

.full-bg-2::before {
    content: "";
    position: absolute;
    top: 0;
    left: -50vw;
    width: 200vw;
    height: 100%;
    background-color: var(--epi-background); /* old == #51706b33 */
    z-index: -10 !important;
}

.full-bg-3 {
    position: relative;
    z-index: 1;
}

.full-bg-3::before {
    content: "";
    position: absolute;
    top: 0;
    left: -50vw;
    width: 200vw;
    height: 100%;
    background-color: #E9ECEC; /* == d2dada5 */
    z-index: -10 !important;
}

/************************ LOGO CAROUSEL ************************/

.logo-carousel-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 80px;
  background-color: transparent;
}

.logo-carousel {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.logo-track {
  display: flex;
  align-items: center;
  height: 100%;
  animation: scrollInfinite 15s linear infinite;
}

.logo-track img {
  height: 60px;
  width: auto;
  margin: 0 30px;
  object-fit: contain;
  flex-shrink: 0;
}

@keyframes scrollInfinite {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.logo-track:hover {
  animation-play-state: paused;
  cursor: grab;
}

.gradient-left,
.gradient-right {
  position: absolute;
  top: 0;
  width: 100px;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.gradient-left {
  left: 0;
  background: linear-gradient(to right, #E9ECEC, transparent);
}

.gradient-right {
  right: 0;
  background: linear-gradient(to left, #E9ECEC, transparent);
}

/************************ FOOTER ************************/

.site-footer {
    background-color: #F5F7F6;
}

.site-copyright {
    background-color: rgba(217, 217, 217, 0.2);
}


