@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
body {
  background: #ffffff;
}

p {
  font-size: 1.2rem;
  color: #4a4a4a;
  margin-bottom: 1.2rem;
}

.lefty {
  text-align: left;
}

.centery {
  text-align: center;
}

.righty {
  text-align: right;
}

h1,
h2,
h3 {
  color: #8ba1c8;
  letter-spacing: 0.02rem;
  text-align: center;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 1.8rem;
}

h3 {
  font-size: 1.6rem;
}

a {
  text-decoration: none;
}

.container-header {
  background-image: none;
  background-color: #ffffff;
}

#headerTop {
  background: #e9f2d3;
  padding: 1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-around;
  align-items: center;
  border-bottom: 1px #8ba1c8 solid;
}
#headerTop .fa-solid {
  color: #5d732a;
}
#headerTop a {
  text-decoration: none;
  color: #2a4574;
  padding-right: 1rem;
}
#headerTop #headerSearch .mod-finder {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-around;
  align-items: center;
  height: 1.6rem;
}
#headerTop #headerSearch input {
  padding: 0 0 0 0.3rem;
  border-radius: 0;
}

#headerBottom {
  padding: 1rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-around;
  align-items: center;
  border-bottom: 1px #8ba1c8 solid;
}

#headerMenu {
  padding: 1rem;
}
#headerMenu #sidenavtrigger {
  display: none;
}
#headerMenu #sidenavtrigger i {
  font-size: 3rem;
}
#headerMenu ul {
  font-family: "Oswald", sans-serif;
}
#headerMenu ul li span {
  color: #2a4574;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.08rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
}
#headerMenu ul li a {
  color: #73352a;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.08rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
}
#headerMenu ul li a:hover {
  color: #d5ba8b;
}
#headerMenu ul li span:hover {
  color: #d5ba8b;
}
#headerMenu ul li ul.mod-menu__sub {
  border-radius: 1rem;
  background: #ffffff;
  width: 300px;
  z-index: 2000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  display: block !important;
  /* Ahora el control lo lleva la opacidad */
}
#headerMenu ul li ul.mod-menu__sub li span {
  color: #2a4574;
  cursor: pointer;
  font-weight: bold;
}
#headerMenu ul li ul.mod-menu__sub li a {
  color: #2a4574;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.08rem;
  font-family: "Oswald", sans-serif;
}
#headerMenu ul li ul.mod-menu__sub li a:hover {
  color: #d5ba8b;
}
#headerMenu ul li ul.mod-menu__sub li span:hover {
  color: #d5ba8b;
}
#headerMenu ul li.current * {
  color: #d5ba8b;
}

.container-header .mod-menu .parent > ul {
  color: #22262a;
  display: none;
  position: absolute;
  top: 2rem;
  left: 0;
}

#slideouter {
  position: absolute;
  border: 3px solid #73352a;
  width: 300px;
  top: 0;
  right: 0;
  padding: 1.5rem;
  background: #fff;
  z-index: 4;
  border-radius: 1rem;
  visibility: hidden;
}
#slideouter #close {
  cursor: pointer;
  float: right;
  font-size: 2.5rem;
  color: #73352a;
}

#slideouter.slideouterVisible {
  transition: all 0.5s ease-in-out;
  visibility: visible;
}

.mod-banners img {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  border-radius: 1rem;
}

#homeImage #homeParallax {
  height: 700px;
}
#homeImage #homeParallax .seoPage {
  z-index: 3;
  position: absolute;
  left: 0;
  top: 10rem;
  background: transparent;
  padding: 3rem;
  width: 100%;
}
#homeImage #homeParallax .actionButton {
  z-index: 3000;
  margin-left: 45%;
}
#homeImage #homeParallax .actionButton button.btn {
  background: #67F24B;
}

.seoWhite {
  width: 100%;
}

.seoWhite p {
  font-size: 3.5rem;
  font-style: italic;
  animation-duration: 3s;
  animation-name: slidein;
  opacity: 0;
  transform: translateX(-100%);
  animation: entrar 2s ease-out forwards;
}

.seoWhite h2 {
  margin-top: 8rem;
  color: #e0df15;
  font-size: 3.5rem;
  font-style: italic;
  animation-duration: 3s;
  animation-name: slidein;
  opacity: 0;
  transform: translateX(-100%);
  animation: entrar 2s ease-out forwards;
}

.seoWhite p strong {
  color: #e0df15;
}

#homeParallax2 {
  height: 400px;
  margin-bottom: 1.5rem;
}
#homeParallax2 .seoPage {
  background: rgba(74, 74, 74, 0.5);
}
#homeParallax2 .seoPage .seoWhite {
  width: 100%;
}

#homeParallax3 {
  height: 400px;
  margin-bottom: 1.5rem;
}
#homeParallax3 .seoPage {
  background: rgba(74, 74, 74, 0.5);
}
#homeParallax3 .seoPage .seoWhite {
  width: 100%;
}

.moduletable #homeParallax2 {
  height: 400px;
}
.moduletable #homeParallax2 .seoPage {
  background: rgba(74, 74, 74, 0.5);
}
.moduletable #homeParallax2 .seoPage .seoWhite {
  width: 100%;
}

@keyframes entrar {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
    text-align: center;
  }
}
.seoWhite2 {
  width: 100%;
  margin-top: 6rem;
}

.seoWhite2 p {
  font-size: 3.5rem;
  font-style: italic;
  text-align: center;
}

.seoWhite2 p strong {
  color: #e0df15;
}

/* Preparamos el escenario para el 3D */
body {
  perspective: 2000px;
}

/* El elemento que va a girar */
main {
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.8s !important;
  transform-origin: left center !important;
}

/* La clase que hace el giro */
.giro-revista {
  transform: rotateY(-100deg) !important;
  opacity: 0 !important;
}

/* Estilo moderno para los botones originales de Joomla */
.pagenavigation .pagination {
  justify-content: space-between;
  border-top: 1px solid #eee;
  padding-top: 20px;
  margin-top: 40px;
}

.pagenavigation .btn-secondary {
  background-color: #67F24B;
  border: none !important;
  padding: 10px 20px !important;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.pagenavigation .btn-secondary:hover {
  background-color: #00bcd4 !important;
  /* Color de acento */
  transform: scale(1.05);
}

/* Animación de entrada para que la nueva página aparezca girando suavemente */
main {
  animation: entradaRevista 0.8s ease-out;
}

@keyframes entradaRevista {
  from {
    transform: rotateY(15deg);
    opacity: 0;
  }
  to {
    transform: rotateY(0deg);
    opacity: 1;
  }
}
/* Contenedor de navegación original de Joomla */
.pagenavigation {
  margin: 40px -15px 0 -15px !important;
  /* Ajuste para eliminar márgenes laterales si es necesario */
}

.pagenavigation .pagination {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Forzamos que cada botón ocupe el 50% */
.pagenavigation .pagination a.btn {
  flex: 1 1 50% !important;
  /* Cada uno toma la mitad */
  margin: 0 !important;
  height: 80px !important;
  /* Más altos para que sea fácil pulsar */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  /* Cuadrados para que encajen */
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  text-transform: uppercase;
  transition: all 0.4s ease;
}

/* Colores diferenciados (opcional) */
.previous {
  background-color: #d5ba8b !important;
  color: white !important;
}

.next {
  background-color: #2a4574 !important;
  color: white !important;
}

.pagenavigation a.btn:hover {
  background-color: #00bcd4 !important;
  /* Color de Adimex al pasar el ratón */
  color: white !important;
}

/* Si solo hay un botón (ej: solo "Siguiente"), que ocupe el 100% */
.pagenavigation .pagination a.btn:only-child {
  flex: 1 1 100% !important;
}

#mod_position_default select {
  display: none;
}

.mod-articles-item-content {
  text-align: center;
}
.mod-articles-item-content h4.mod-articles-title {
  color: #8ba1c8;
}
.mod-articles-item-content h4.new_entry {
  font-size: 1rem;
  color: #73352a;
}

/***************************************************** news *******************************/
#news {
  padding: 0 1.5rem;
}

.center {
  text-align: center;
}

.hola {
  font-weight: bold;
  font-size: 1.5rem;
  color: #5d732a;
}

.radio {
  border: 1px #d5ba8b solid;
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-sizing: border-box;
  margin-top: 2rem;
}
.radio .slide {
  border-radius: 1.5rem;
}

.pad {
  padding: 2rem 0;
}

.servicios {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  padding: 1.5rem;
  background: #efefef;
  border-radius: 1.5rem;
}
.servicios div {
  width: 50%;
  padding: 1rem;
}
.servicios div div {
  width: 100%;
  border-radius: 1.5rem;
  height: 200px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.servicios div div .material-icons {
  font-size: 4rem;
  color: #ffffff;
}
.servicios div div a {
  text-decoration: none;
  font-size: 1.7rem;
  color: #ffffff;
  font-weight: bold;
}

.servicios .verde div {
  background: #5d732a;
}
.servicios .naranja div {
  background: #d5ba8b;
}
.servicios .azul div {
  background: #2a4574;
}
.servicios .verdeclaro div {
  background: #67F24B;
}
.servicios .lila div {
  background: #8ba1c8;
}

#right {
  height: 100%;
  background: #e9f2d3;
  margin-top: 5rem;
  border-radius: 1rem;
  padding: 0 1rem;
}
#right .sidebar-right {
  padding-top: 0.5rem;
  border-radius: 1rem;
}

.servdescri {
  padding: 3rem 0;
}

.fotosInicio {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}
.fotosInicio .grande {
  margin-bottom: 1.5rem;
}
.fotosInicio .grande img {
  border-radius: 1rem;
}
.fotosInicio img:hover {
  transition: all 0.5s ease-in-out;
  filter: grayscale(80%);
}

.grande:hover img {
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}

.grande {
  overflow: hidden;
}

p.slogan {
  text-align: center;
  color: #DA6726;
  font-size: 2rem;
  font-style: italic;
  padding: 0 0%;
  margin-top: 6rem;
}

#logos {
  padding-bottom: 3rem;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: center;
  align-items: center;
}
#logos div {
  padding-top: 3rem;
}
#logos div img:hover {
  transition: all 0.5s ease-in-out;
  filter: grayscale(80%);
}

footer * {
  color: #67F24B;
}

footer {
  padding: 3rem;
  background: #4a4a4a;
}
footer .child {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: center;
  align-items: center;
}
footer .child .local p a {
  text-decoration: none;
}
footer .child .mapa img {
  float: right;
  border-radius: 1.5rem;
  border: 3px #DA6726 solid;
}

#solidarias {
  margin-top: 3rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: stretch;
  align-items: flex-start;
}
#solidarias div {
  width: 40%;
  margin-bottom: 1rem;
}

figure.left img {
  width: 100%;
  height: 340px;
  border-radius: 1rem;
}

.page-header {
  padding: 0.2rem 0;
}
.page-header h2 a {
  text-decoration: none;
}

.com-content-category-blog {
  padding-right: 2rem;
}

.mod-articles-item-content h2 {
  min-height: 4rem;
}
.mod-articles-item-content h2 a:hover {
  text-decoration: none !important;
}
.mod-articles-item-content figure {
  border-radius: 1rem;
}
.mod-articles-item-content figure img {
  border-radius: 1rem;
}

*:hover {
  text-decoration: none !important;
}

.com-content-article__body {
  padding: 0 2rem;
}

#prensa * {
  text-align: center;
}

#prensa img {
  text-align: center;
}

div.mod-languages a {
  padding: 0.2rem 0.2rem 0.2rem 0.2rem;
  text-decoration: none;
}
div.mod-languages a img {
  width: 1.6rem;
  height: auto;
}

/******************** contacto *******************/
.input-field {
  margin: 1rem auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: stretch;
  align-items: center;
}
.input-field label {
  width: 10%;
  font-size: 1.2rem;
  color: #8ba1c8;
}
.input-field input {
  width: 60%;
  margin-left: 1rem;
  height: 3rem;
}
.input-field label.suma {
  width: 25%;
  font-size: 1.2rem;
  color: #8ba1c8;
}
.input-field input.sumaresult {
  width: 10%;
  margin-left: 0rem;
}
.input-field textarea {
  width: 60%;
  margin-left: 1rem;
}

#resultado {
  margin: 1.5rem 0;
}

.btenable {
  visibility: hidden;
}

.btnnone {
  background: #d5ba8b;
  color: #ffffff;
  font-weight: bold;
  margin-left: 2rem;
  visibility: visible;
}

.localizacion, .map {
  text-align: center;
  margin: 2rem auto;
}
.localizacion img, .map img {
  border-radius: 1rem;
}

.mod-breadcrumbs__wrapper {
  margin-bottom: 2rem;
  border: none;
}

footer ul li span {
  color: #67F24B;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.08rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
}
footer ul li a {
  color: #67F24B;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.08rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
}
footer ul li a:hover {
  color: #d5ba8b;
}
footer ul li span:hover {
  color: #d5ba8b;
}
footer ul li ul.mod-menu__sub {
  border-radius: 1rem;
  background: #4a4a4a;
  width: 300px;
  z-index: 2000;
  opacity: 1;
  visibility: visible;
  transition: all 0.5s ease-in-out;
  display: block !important;
  /* Ahora el control lo lleva la opacidad */
}
footer ul li ul.mod-menu__sub li span {
  color: #67F24B;
  cursor: pointer;
  font-weight: bold;
}
footer ul li ul.mod-menu__sub li a {
  color: #67F24B;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.08rem;
  font-family: "Oswald", sans-serif;
}
footer ul li ul.mod-menu__sub li a:hover {
  color: #d5ba8b;
}
footer ul li ul.mod-menu__sub li span:hover {
  color: #d5ba8b;
}
footer ul li.current * {
  color: #d5ba8b;
}

a:not([class]) {
  text-decoration: none;
}

#normas {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
#normas object {
  width: 100%;
  height: 500px;
}

#imgrevista {
  margin-top: 6rem;
  box-sizing: border-box;
  padding: 1rem 2rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
}
#imgrevista div {
  margin-bottom: 2rem;
  width: 18%;
}
#imgrevista div a {
  width: 18%;
}
#imgrevista div a img {
  width: 90%;
  height: auto;
}

strong {
  color: #73352a;
}