/*
Theme Name:   Finca Cortesín Cortesin Hotels
Template:     fincacortesin
Version:      1.0.0
Author:       LLOS&
Author URI:   https://llos.xyz
License:      GPL-3.0-or-later
License URI:  https://www.gnu.org/licenses/gpl-3.0-standalone.html
*/


.language-button {
  align-items: center!important;
}

.mobile-menu.active{
  background-color: #243128!important;
}


h2{
  font-family: 'TeodorLight', serif!important;
  font-size: 3rem!important;
  text-transform: none;
}

/* CHILD HEADER */

body.menu-open{
  overflow: hidden;
  height: 100%;
  touch-action: none;
  position: fixed;
  width: 100%;
}


.ch-header{
  position: fixed;   
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 72px;
  background: #fff;
  color: #000;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}

.ch-header__left{
  display: flex;
  align-items: center;
  gap: 40px;
}

.ch-header--home{
  background: transparent;
  border-bottom: 0;
  color: #fff;
}

.ch-header--inner{
  background: #fff;
  color: #000;
}

body:not(.home) #main{
  padding-top: var(--ch-header-h, 88px);
}

.ch-header.is-scrolled{
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #000;
  border-bottom: 1px solid rgba(0,0,0,0.12);
}

.ch-nav__list{
  list-style: none;
  display: flex;
  gap: 32px;
  margin: 0;
  padding: 0;
}

.ch-nav__list a{
  text-decoration: none;
  color: inherit;
  font-family: 'FreigTexBoo', sans-serif;
  font-size: 0.875rem;
  text-transform: none;
}

.ch-lang{
  font-family: 'FreigTexBoo', sans-serif;
  font-size: 0.75rem;
}

.ch-lang__link{
  color: inherit;
  text-decoration: none;
  opacity: 0.9;
}

.ch-lang__link.is-active{ opacity: 1; }
.ch-lang__sep{ opacity: 0.7; }

.ch-burger{
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: none;
}

.ch-burger__icon{
  width: 44px;
  height: auto;
  display: block;
}

.ch-mobile-menu{
  position: fixed;
  inset: 0;
  background: white;
  opacity: 0;
  transform: translateY(-100%);
  transition: transform .5s ease, opacity .5s ease;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  z-index: 2000; 
  overflow: auto;                
  -webkit-overflow-scrolling: touch;
}

.ch-mobile-menu.is-open{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ch-mobile-menu__top{
  padding: 16px 24px;
  display: flex;
  justify-content: flex-start;
}

.ch-mobile-menu__close{
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: 0;
  color: #fff;
  cursor: pointer;
  font-family: 'FreigTexBoo', sans-serif;
  text-transform: uppercase;
  padding: 0;
}

.ch-mobile-menu__close img{
  width: 44px;
  height: auto;
  display: block;
}

.ch-mobile-menu__content{
  padding: 3.5rem 24px;
}

.ch-mobile-nav{
  list-style: none;
  margin: 0;
  padding: 0;
}

.ch-mobile-nav a{
  color: black;
  text-decoration: none;
  font-family: 'FreigTexBoo', sans-serif;
  font-size: 32px;
  display: block;
  margin-bottom: 14px;
}

.ch-mobile-lang{
  margin-top: 24px;
  color: #fff;
}

.ch-mobile-lang__link, .ch-mobile-menu.is-open .ch-lang__sep {
  color: black;
  font-family: 'FreigTexBoo', sans-serif;
}

/* Responsive */
@media (max-width: 820px){
  .ch-header{
    padding: 16px 24px;
  }

  .ch-nav{
    display: none; 
  }

  .ch-burger{
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}


/* TEXT IMAGE */

.layout-title-text-centered:has(+ .text-image-section.has-contact-format){
  padding-bottom: 0;
}

.text-image-section.has-contact-format + .text-image-section.has-contact-format {
  padding-top: 0;
}

.text-image-section.has-contact-format .text-image-inner {
  align-items: center;
}

.text-image-section.has-contact-format .text-image-inner h2 {
  font-size: 1.5rem !important;
  color: black;
  position: relative;
  display: inline-block;
  padding-right: 0!important;
}

.text-image-section.has-contact-format .text-image-inner h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 100%;
  height: 1px;
  background: black;
}


.text-image-section.has-contact-format .text-image-inner .text p{
  font-size: 1.25rem;
}


.text-image-section .text-image-inner .text-image-description .text li::before {
  background-color: #93683D;
}

@media (min-width: 992px){
  .text-image-section .text-image-inner .text-image-description h2 {
    padding-right: 2rem;
  }
}


@media (max-width: 500px) {

  .home .text-image-section .text-image-inner.layout-single_image:not(.reverse):first-of-type,
  .home .text-image-section .text-image-inner.layout-slider:not(.reverse):first-of-type {
    flex-direction: column;
  }

  body.home .text-image-section .text-image-inner.layout-double_image {
    flex-direction: column!important;
    gap: 2rem;
  }  

  body.home .text-image-section .text-image-inner.layout-double_image.reverse{
    flex-direction: column-reverse!important;
  }

  body .text-image-section {
    padding: 3rem 24px;
  }

  body .text-image-section .text-image-inner.layout-full{
    gap: 1rem;
  }

  body .text-image-section .text-image-inner.layout-full .suptitle{
    margin-top: 1rem;
    text-align: center;
  }

  body .text-image-section .text-image-inner.layout-full h2{
    text-align: center;
  }

  body .text-image-section .text-image-inner .text-image-description.align-left{
    align-items: center;
  }

  body .text-image-section .text-image-inner .text-image-description.align-left .text{
    text-align: justify;
  }

  body .text-image-section .text-image-inner{
    gap: 2rem;
  }

  body .text-image-section .text-image-inner .text-image-full-visual{
    margin-bottom: 2rem;
  }

  body .text-image-section .text-image-inner .text-image-visual .single-image img, 
  body .text-image-section .text-image-inner .text-image-visual .swiper-slide img,
  body .text-image-section .text-image-inner.layout-full .text-image-full-visual img{
    aspect-ratio: 3 / 4;
  }
}



/* FOOTER  */

body #footer{
background-color: white;
}

body #footer .footer-left {
  flex: 1 1 60%;
}

body #footer .footer-legal {
  flex: auto;
  display: flex;
  justify-content: flex-end;
  gap: 0;
}

body #footer .footer-left .footer-address p {
  margin-bottom: 1rem;
  color: black;
}

body #footer .footer-grid .footer-address {
  display: flex;
  flex-direction: row;  
  gap: 4rem;
}

body #footer .footer-legal .footer-right ul li {
  margin-bottom: 0;
}

body #footer .footer-legal .footer-right p {
  margin-bottom: 0;
}

body #footer .footer-legal .footer-right p, body #footer a, 
body #footer .footer-left .footer-address a  {
  color: black;
  transition: all 0.3s ease;
}

body #footer .footer-left .footer-address a:hover {
  color:#93683D
}

.footer-logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}

.footer-logos-row{
  margin-top: 2rem;
}

.footer-logo-item {
  display: flex;
}

.footer-logo-item img {
  width: 100%;
  height: auto;
}


@media (max-width: 992px) {

  body #footer {
    padding: 3rem 72px 2rem;
  }

  body #footer .footer-legal {
    gap: 5rem;
  }


  body #footer .footer-grid {
    gap: 0;
  }

  body #footer .footer-left {
    gap: 3rem;
  }

}

@media (max-width: 768px) {

  body #footer .footer-legal {
    gap: 3rem;
  }

  body #footer .footer-grid {
    gap: 0;
  }

  body #footer .footer-left {
    gap: 1rem;
  }

  body #footer .footer-left .footer-logo img {
    max-width: 80px;
  }

}

@media (max-width: 600px) {

  body #footer {
    padding: 2rem 0 3rem;
  }

  body .footer-logos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  body #footer .footer-grid{
    flex-direction: column;
    gap: 2rem;
  }

  body #footer .footer-left {
    flex-direction: column;
    align-items: center;
    padding: 0 24px;
    gap: 2rem;
  }

  body .footer-logo-item{
    justify-content: center;
  }

  body .footer-logo-item img{
    max-width: 50%;
  }

  body #footer .footer-left .footer-logo img {
    max-width: 200px;
  }

  body #footer .footer-left .footer-address {
    text-align: center;
  }

  body #footer .footer-left .footer-address p {
    margin-bottom: 2rem;
    font-size: 14px;
  }

  body #footer .footer-legal {
    justify-content: space-around;
    padding: 0 24px;
  }

  body .footer-logos-row{
    border-top: 1px solid rgba(255, 255, 255, 0.558);
    padding: 2rem 24px 0;
  }

  body #footer .footer-legal .footer-right {
    text-align: center;
  }

  body #footer .footer-legal .footer-right ul li {
    font-size: 14px;
  }

  body #footer .footer-legal .footer-right p,
  body #footer .footer-legal .footer-center p {
    text-align: center;
    font-size: 10px;
  }

  body #footer .footer-legal .footer-center ul {
    text-align: center;
  }

  body #footer .footer-legal .footer-center ul li {
    font-size: 16px;
  }

}

@media (max-width: 400px) {
  body .footer-logo-item img{
    max-width: 85%;
  }

  body .footer-logos {
    gap: 2rem;
  }

  body .footer-logos-row {
    gap: 3rem 24px 0;
  }

}

/* LEGAL PAGES */

.page-template-default .container-fluid{
  padding: 0;
}

.page-template-default .privacy-table ul {
  margin: 0;
  padding: 0;
}

.page-template-default .privacy-table th, .privacy-table td{
  font-size: 12px!important;
}


/* CORTESIN HOTELS */

/* Hero */
.hero-section .hero-text{
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
}

.hero-section .hero-text p{
  font-size: 4.4rem;
  line-height: 1.1;
  margin-bottom: 0.5rem;
}

.hero-section .hero-text .suptitle {
  font-family: 'TeodorLight', serif;
  text-transform: none;
  font-size: 2.15rem;
  margin-bottom: 0;
}

@media (max-width: 1024px) {

  body:not(.home) #main {
    padding-top: var(--ch-header-h, 0);
  }

  .layout-title-text-centered .container .title h2{
    line-height: 1.2!important;
  }

  body .text-image-section.has-contact-format .text-image-inner h2::after {
    bottom: 6px;
  }

}




@media (max-width: 500px) {

  .layout-title-text-centered:has(+ .hotels-grid){
    padding-bottom: 0.5rem!important;
  }
  .hero-section .hero-text p, .layout-title-text-centered .container .title h2,
  body .text-image-section .text-image-inner .text-image-description h2{
    font-size: 32px!important;
  }

  .hero-section .hero-text .suptitle {
    font-size: 18px;
  }

  .layout-title-text-centered {
    padding: 5rem 24px 2.5rem;
  }

  .layout-title-text-centered .container .text h3{
    font-size: 16px!important;
  }

  .text-image-section .text-image-inner .text-image-description .suptitle,
  .text-image-section .text-image-inner .text-image-description .link a,
  .slider-cuatro-wrapper .slider-cuatro-link a {
    font-size: 12px!important;
  }

  .slider-cuatro-wrapper .slider-full__dot {
    width: auto;
  }

  .slider-cuatro-wrapper .slider-full__pagination {
    width: 100%;
    max-width: fit-content;
  }

  .slider-cuatro-wrapper .slider-full__pagination {
    gap: 10px;
  }

  body .text-image-section .text-image-inner .text-image-description.align-left .text {
    text-align: left;
  }

  body .text-image-section .text-image-inner .text-image-description.align-left .text p{
    font-size: 14px;
    line-height: 1.5;
  }

  body .layout-title-text-centered .container .text p, body .layout-title-text-centered .container .title p{
    font-size: 14px!important;
    line-height: 1.5!important;
  }

  .text-image-section .text-image-inner .text-image-description .link{
    padding-top: 0;
  }

  body .slider-cuatro-wrapper .slider-cuatro-title h2, .layout-title-text-centered .container .title h3{
    font-size: 24px!important;
  }

  .double-img-layout .double-img-grid {
    flex-direction: column!important;
  }

  body .text-image-section .text-image-inner .text-image-description.align-left {
    align-items: flex-start;

  }

  body .text-image-section.has-contact-format .text-image-inner .text-image-description h2 {
    font-size: 20px!important;
  }

  body .text-image-section.has-contact-format .text-image-inner .text-image-description.align-left .text p{
    font-size: 16px!important;
  }

  body .contact-form-title{
    font-size: 24px!important;
  }

  body .contact-form-inner {
    padding: 1.6rem 1rem;
  }

  body .contact-form-wrapper .cf7-footer .cf7-legal{
    font-size: 12px;
    line-height: 1.2;
  }

  .contact-form-wrapper input[type="text"], .contact-form-wrapper input[type="email"], .contact-form-wrapper textarea{
    font-size: 12px!important;
  }

  body main .layout-title-text-centered + .text-image-section {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }

}



/* Centered text */

.layout-title-text-centered .container .title br {
  display: block;
}

.layout-title-text-centered{
  padding-bottom: 5rem;
}

.layout-title-text-centered .container .title h3{
  font-size: 2.29rem;
  font-family: 'TeodorLight', serif;
  padding-bottom: 0;
  text-transform: none;
  max-width: 820px;
  margin: 0 auto;
  color: inherit;
}

.layout-title-text-centered .container .text {
  max-width: 820px;
}

.layout-title-text-centered .container .title{
  padding-bottom: 1.5rem;
}

.layout-title-text-centered.no-text .container .title {
  padding-bottom: 0;
}

.layout-title-text-centered .container .text p, 
.layout-title-text-centered .container .title p{
  color: inherit;
  font-family: 'FreigTexBoo', sans-serif;
  font-size: 1rem;
  line-height: 1.3;
}

.layout-title-text-centered .container .text h3{
  color: inherit;
  font-family: 'TeodorLight', serif;
  font-size: 1.5rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}


.layout-title-text-centered:has(+ .slider-full) {
  padding-bottom: 0;
}

.slider-full:has(+ .layout-title-text-centered) {
  padding-bottom: 0;
}

.layout-title-text-centered:has(+ .slider-full) .container .title {
  padding-bottom: 0;
}


/* Text / Image */

main .layout-title-text-centered + .text-image-section {
  padding-top: 4rem;
  padding-bottom: 5rem;
}

.text-image-section .text-image-inner .text-image-description .suptitle{
  color: black;
}


.text-image-section .text-image-inner .text-image-description, 
.text-image-section .text-image-inner .text-image-description.align-left {
  justify-content: flex-start;
  gap: 2.5rem;
}

/* Overwrite default button styles */
.text-image-section .text-image-inner .text-image-description .link {
  width: auto;
}
.text-image-section .text-image-inner .text-image-description .link a {
  border: none !important;
  padding-top: 0.85rem !important;
  padding-bottom: 0.65rem !important;
  padding-left: 3.3rem !important;
  padding-right: 3.3rem !important;
  position: relative;
color:white !important;
  background: #AD7843 !important;
  background-image:
    radial-gradient(circle at 0 0, var(--section-bg, #fff) 6px, #AD7843 6px 7px, transparent 7px),
    radial-gradient(circle at 100% 0, var(--section-bg, #fff) 6px, #AD7843 6px 7px, transparent 7px),
    radial-gradient(circle at 0 100%, var(--section-bg, #fff) 6px, #AD7843 6px 7px, transparent 7px),
    radial-gradient(circle at 100% 100%, var(--section-bg, #fff) 6px, #AD7843 6px 7px, transparent 7px),
    linear-gradient(#AD7843, #AD7843),
    linear-gradient(#AD7843, #AD7843),
    linear-gradient(#AD7843, #AD7843),
    linear-gradient(#AD7843, #AD7843) !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px, 14px 14px, 14px 14px, 14px 14px, calc(100% - 14px) 1px, calc(100% - 14px) 1px, 1px calc(100% - 14px), 1px calc(100% - 14px) !important;
  background-position: 0 0, 100% 0, 0 100%, 100% 100%, 50% 0, 50% 100%, 0 50%, 100% 50% !important;
  border-radius: 0 !important;
}
.text-image-section .text-image-inner .text-image-description .link a:hover {
    color: white !important;
  background-color: #916131 !important;
  background-image:
    radial-gradient(circle at 0 0, var(--section-bg, #fff) 6px, #916131 6px 7px, transparent 7px),
    radial-gradient(circle at 100% 0, var(--section-bg, #fff) 6px, #916131 6px 7px, transparent 7px),
    radial-gradient(circle at 0 100%, var(--section-bg, #fff) 6px, #916131 6px 7px, transparent 7px),
    radial-gradient(circle at 100% 100%, var(--section-bg, #fff) 6px, #916131 6px 7px, transparent 7px),
    linear-gradient(#916131, #916131),
    linear-gradient(#916131, #916131),
    linear-gradient(#916131, #916131),
    linear-gradient(#916131, #916131) !important;
}

/* Slider instagram */

/* Swiper autoplay continuo lineal */
.slider-instagram .swiper-wrapper {
  transition-timing-function: linear !important;
}


.slider-cuatro-wrapper {
  padding: 5rem 72px;
}

.slider-cuatro-wrapper .slider-cuatro {
  padding-bottom: 0;
  padding-top: 4rem;
  padding-left: 0;
}

.slider-cuatro-wrapper .slider-cuatro-title {
  text-align: center;
  padding: 0;
  font-family: 'TeodorLight', serif;
}

.slider-cuatro-wrapper .slider-cuatro-title h2 {
  text-transform: none;
  font-size: 2rem!important;
}

.slider-cuatro-wrapper .slider-cuatro-link {
  margin: 1rem 0;
  gap: 1rem;
}

.slider-cuatro-wrapper .slider-cuatro-link a {
  display: inline-block;
  padding: 0 0 0.1rem 0;
  border: none;
  border-bottom: 1px solid black;
  border-radius: 0;
  background: transparent;
  color: black;
  font-family: 'FreigTexBoo', serif;
  font-size: 0.75rem;
  line-height: 1.05rem;
  text-transform: lowercase;
  font-weight: 400;
  width: fit-content;
}

.slider-cuatro-wrapper .slider-cuatro-link a:hover {
  background: none;
  color: #93683D;
  border-color: #93683D;
}

.slider-cuatro-wrapper .slider-cuatro .swiper-slide img {
  aspect-ratio: 1/1;
}

@media (max-width: 500px){

  .slider-cuatro-wrapper{
    padding: 4rem 0;
  }

  .slider-cuatro-wrapper .slider-cuatro{
    padding-top: 1.3rem;
  }

}


/* Slider full */

.slider-full {
  width: 100%;
  padding: 4rem 72px 5rem;
}

.single-room .slider-full{
  padding: 1rem 72px;
}

.slider-full__inner {
  width: 100%;
}

.slider-full__swiper {
  height: 80vh;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.slider-full__swiper .swiper-slide {
  display: flex;
}

.slider-full__swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.slider-full__ui {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5rem;
  padding: 36px 24px 0;
}

.slider-full__prev,
.slider-full__next {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.slider-full__prev img,
.slider-full__next img {
  width: 14px;
  height: auto;
  display: block;
}

/* Track + dots */
.slider-full__pagination {
  position: inherit;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}


.slider-full__dot {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 11px;
  border-radius: 50%;
  background: lightgrey;
  border: none;
  cursor: pointer;
}

.slider-full__dot::after {
  content: "";
  position: absolute;
  inset: -10px;
}

.slider-full__dot.is-active {
  background: #000;
}

@media (max-width: 1024px) {
  .slider-full__swiper {
    height: 100%;
  }
}

/* Mobile */
@media (max-width: 500px) {

  .single-room .slider-full{
    padding: 1rem 24px 0;
  }

  .slider-full {
    padding: 3rem 24px;
  }

  .slider-full__swiper {
    height: 100%;
  }

  .slider-full__swiper .swiper-slide img {
    aspect-ratio: 3 / 4;
  }

  .slider-full__ui {
    padding: 2rem 0 0;
    gap: 30px;
    justify-content: space-between;
  }

  /* .slider-full__pagination {
    width: calc(100% - 90px);
    max-width: 520px;
  } */

  .slider-full__pagination::before {
    left: -28px;
    right: -28px;
  }

  .slider-full__prev img,
  .slider-full__next img {
    width: 16px;
  }
}

/* Doble img */ 

.double-img-layout:has(+ .layout-title-text-centered){
  padding-bottom: 5rem;
}

.double-img-layout .double-img-grid {
  display: flex;
  flex-direction: row-reverse;
}

/* Hotels */

.layout-title-text-centered:has(+ .hotels-grid), 
.layout-title-text-centered:has(+ .double-img-layout) {
  padding-bottom: 2.5rem;
}

.hotels-grid {
  padding: 0 72px;
}

.hotels-grid__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.hotels-grid__item {
  display: block;
  text-decoration: none;
  color: inherit;
}

.hotels-grid__figure {
  margin: 0;
}

.hotels-grid__figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 2.85;
  object-fit: cover;
}

.hotels-grid__caption {
  margin-top: 14px;
  text-align: center;
  font-size: 16px; 
  font-family: 'FreigTexBoo', sans-serif;
}

@media (max-width: 768px) {
  .hotels-grid { padding: 2rem 24px; }
  .hotels-grid__inner { grid-template-columns: 1fr; gap: 24px; }
}



/* Text + Slider */ 
.text-image-section--peek .text-image-description{
  position: relative;
  z-index: 3;
  background-color: inherit;  
  color: var(--ti-color, #111);
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.text-image-section--peek .text-image-inner .text-image-description{
  gap: 0!important;
}

.text-image-section--peek .text-image-inner .text-image-description h2{
 font-size: 2.625rem!important;
}

.text-image-section--peek .text-image-description::before,
.text-image-section--peek .text-image-description::after{
  content: none !important;
}

.text-image-section--peek .text-image-visual--peek{
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.text-image-section--peek .slider-text-image--peek{
  overflow: visible;
}

.text-image-section--peek .swiper-container.slider-peek{
  position: relative;
  margin-left: -120px;  
  padding-left: 120px;  
}

.text-image-section--peek .slider-peek .swiper-slide img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 3 / 4!important;
}

.text-image-section--peek .slider-text-image-prev,
.text-image-section--peek .slider-text-image-next,
.text-image-section--peek .swiper-pagination{
  display: none !important;
}

@media (max-width: 820px){
  .text-image-section--peek .swiper-container.slider-peek{
    margin-left: 0;
    padding-left: 0;
  }
}

/* Form */

.text-image-section.has-contact-format:has(+ .contact-form-section){
  padding-bottom: 0;
}

.contact-form-section{
  padding: 5rem 24px;
}

.contact-form-section label{
  width: 100%;
}

.contact-form-inner{
  max-width: 730px;
  margin: 0 auto;
  border: 1px solid rgba(0,0,0,0.2);
  padding: 1.6rem 1.9rem;
  background: transparent;
}

.contact-form-title{
  text-align: center;
  font-size: 2rem!important;
  margin: 0 0 1.5rem;
}

.contact-form-wrapper .wpcf7 form{
  margin: 0;
}

.contact-form-wrapper input[type="text"],
.contact-form-wrapper input[type="email"],
.contact-form-wrapper textarea{
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,0.25);
  background: transparent;
  padding: 0.90rem 0 0;
  outline: none;
  border-radius: 0;
}

.contact-form-wrapper textarea{
  height: 80px;
}

.contact-form-wrapper input[type="submit"]{
  border: 0;
  background: transparent;
  text-transform: uppercase;
  cursor: pointer;
  padding: 0;
}

.contact-form-wrapper .wpcf7-submit{
  margin-left: auto;
  display: block;
  margin-top: 1.5rem;
}


.contact-form-section label{
  display: none !important;
}

.contact-form-wrapper input::placeholder,
.contact-form-wrapper textarea::placeholder{
  text-transform: uppercase;
  opacity: 1;
}

.contact-form-wrapper .cf7-footer{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  align-items: baseline;
}

.contact-form-wrapper .cf7-footer .cf7-legal{
  margin: 0;
  font-size: 0.75rem;
}

.contact-form-wrapper .cf7-footer .wpcf7-submit{
  margin: 0;
  display: inline-block;
  border-bottom: 1px solid #00000080;
  font-size: 0.75rem;
}

.contact-form-wrapper .cf7-footer p{
  margin: 0;
}

.wpcf7-spinner {
  display: none;
}

@media (max-width: 500px){
  .contact-form-wrapper .cf7-footer{
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  body #footer .footer-grid .footer-address {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  body #footer .footer-left {
    border-bottom: 1px solid #0000004a;
  }
}

