@font-face {
  font-family: "font-titles";
  src:url("fonts/BAHNSCHRIFT.TTF"),
}
@font-face {
  font-family: "font-regular";
  src:url("fonts/ITC Lubalin Graph Book Regular.otf"),
	
}
/* :root {
  --color-1: #8A9597;
  --color-2: #0F4C5C;
  --color-3: #D9D2CD;
  --color-4: #F78F8A;
  --color-5: #424F4F;
  --color-6: #5d6c9f;
} */
:root {
  /* --color-1: #F78F8A; */
  --color-1: #F0F2F2;
  --color-2: #8A9597;
  --color-3: #F0F2F2;
  --color-4: #424F4F;
  --color-5: #424F4F;
  --color-6: #5d6c9f;
}



/****************************** COLORS *******************************/
/* Para tags */
.content-group-1 {
	color: var(--color-1);
	background: var(--color-4);
}
.content-group-2 {
	color: var(--color-1);
	background: var(--color-2);
}
.content-group-3 {
	color: var(--color-1);
	background: var(--color-5);
}
.content-group-4 {
	color: var(--color-1);
	background: var(--color-3);
}
.content-group-5 {
	color: var(--color-1);
	background: var(--color-6);
}
/******************************** Bootstrap buttons *********************************/
.btn-primary{
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-2);
    --bs-btn-border-color: var(--color-2);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-3);
    --bs-btn-hover-border-color: var(--color-2);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg:var(--color-3);
    --bs-btn-active-border-color: var(--color-3);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-1);
    --bs-btn-disabled-border-color: var(--color-2);
    --bs-gradient: none;
}
.btn-outline-primary {
    --bs-btn-color: var(--color-2);
    --bs-btn-border-color: var(--color-2);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-2);
    --bs-btn-hover-border-color: var(--color-2);
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-2);
    --bs-btn-active-border-color: var(--color-2);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--color-2);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--color-2);
    --bs-gradient: none;
}
.ratio-wide-adaptable {
	--bs-aspect-ratio: 160%;
}

@media (min-width: 1200px) {
	.ratio-wide-adaptable {
	    --bs-aspect-ratio: 36.25%;
	}
}
/******************************** GENERAL *********************************/
h1, h2, h3, h4, h5, h6 {
  font-family: 'font-titles', var(--bs-body-font-family) !important;
}
body {
  font-family: 'font-regular', var(--bs-body-font-family) !important;
}
main{
/* 
	Esto es para que el main no quede por debajo de la barra de navegación
	Se debe ajustar según el tamaño del header
*/
	padding-top:calc(5rem);
}
.gap-margin {
	margin-top: 20px;
}
@media (max-width: 576px) {
	.gap-margin {
		margin-top: 12px;
	}
}
.error-message-page {
	color: var(--color-3);
}
/******************************** TOP MENU *********************************/
.top-flags > a > img {
	width: 30px !important;
    height: 15px !important;
}
/****************************** NAV BAR *******************************/
.navbar-brand img{
	height: 56px;
}
.color-1{
	color: var(--color-1) !important;
}
.color-1-hover:hover{
	color: var(--color-1) !important;
}
.color-2{
	color: var(--color-2) !important;
}
.color-2-hover:hover{
	color: var(--color-2) !important;
}
.nav-link:hover .text-decoration-underline-animated::after {
    width: 100%
}
.text-decoration-underline-animated {
    position: relative
}

.text-decoration-underline-animated::after {
    background-color: var(--color-2);
    bottom: -1px;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    transition: width .20s linear;
    width: 0%
}
.navbar-collapse {
	overflow-y: auto !important;
    max-height: 90vh;
}
.navbar-nav > .nav-item {
	border-bottom: 2px solid #ffff;
	transition: 0.5s;
}

@media (min-width: 1200px) {
	.navbar-nav > .nav-item:hover {
		border-bottom: 2px solid var(--color-5);
	}
	.navbar-nav > .nav-item:hover:has(.bi){
		border-bottom: none;
	}
}
/******************************* MENU ********************************/
.navbar-gap {
	height:0;
	margin-top: 5rem;
}
.navbar-toggler {
	border: none;
}

/***************************** MEGA-MENU ******************************/
.mega-menu {
  position: static !important;
}
.mega-menu .mega-item-top {
	padding-top: 20px;
}

.mega-menu .dropdown-menu .col-md-3 {
  display: inline-block;
  vertical-align: top;
}

.dropdown-menu {
	border: none;
	padding: 20px 10px;
	animation: 0.5s slideup;
}

.mega-menu .dropdown-menu {
	padding: 0;
}

@keyframes slideup {
  from {
    transform: translateY(10%);
  }

  to {
    transform: translateY(0);
  }
}

@media (min-width: 1200px) {
	.dropdown-menu {
		box-shadow: 0px 0px 40px rgba(29, 58, 83, 0.15);
	}
	.mega-menu .dropdown-menu {
	  width: 100%;
	  max-width: 1320px;
	  margin: auto;
	  top: 95%;
	  left: 0;
	  right: 0;
	  padding: 20px 20px 40px 20px;
	}
	.navbar-expand-xl .navbar-nav .nav-link {
		white-space: nowrap;
	}
}
.mega-menu h5 {
	font-size: 1rem;
}

.mega-menu .description {
	font-size: 0.7rem;
	line-height: 1rem;
}

/***************************** Rotador de contenidos ******************************/

.carousel-caption {
    bottom: 10%;
    text-align: left;
    width: 100%;
    left: 10%;
}
.carousel-caption button{
	position:relative;
    z-index: 5;	
}
.carousel-caption h5 {
	font-size: 3.3rem;
	font-weight: bold;
	margin-bottom: 2rem;
	/*letter-spacing: 0.1rem;*/
	width: 40%;
}
.carousel-caption h6 {
	font-size: 1.5rem;
	font-weight: lighter;
	width: 40%;
}
@media (max-width: 992px) {
	.carousel-caption h5 {
		font-size: 1.5rem;
		font-weight: normal;
		margin-bottom: 2rem;
		/*letter-spacing: 0.1rem;*/
	}
	.carousel-caption h6 {
		font-size: 1rem;
		font-weight: lighter;
	}
}
@media (max-width: 768px) {
	.carousel-caption h5 {
		font-size: 2.5rem;
		font-weight: normal;
		margin-bottom: 2rem;
		width: 70%;
		/*letter-spacing: 0.1rem;*/
	}
	.carousel-caption h6 {
		font-size: 1rem;
		font-weight: lighter;
		width: 70%;
	}	
}

/**************************** Cards de imagenes ******************************/
.card {
	border-radius: 0 !important;
}
.card img{
	border-radius: 0 !important;
	object-fit: cover;
    aspect-ratio: 13 / 12;
}
.card-tag {
	border-radius: 0 !important;
	font-size:13px;
	text-transform: uppercase;
	position: absolute;
	padding: 0.3rem 0.3rem !important; 
    z-index: 1;
    width: 200px;
    left: -9px;
    top: 9px;
    text-align: center;
    background: var(--color-3);
}
.card-icon {
	display:flex;
}
.card .card-caption .card-title{	
	display: flex;
	align-items: flex-end !important;
    font-size: 23px;
    line-height: 24px;
	color: var(--color-1);
}
.card:hover{
	cursor:pointer;
}
/* .card:hover .card-title:not(.card-button > .card-title),
.card:hover .card-icon:not(.card-button > .card-icon),
.card:hover .card-description:not(.card-button > .card-description) {
	color: var(--color-3);
} */
.card2 {
	height: 100%;
	transition: 0.5s;
}
.card2 .card-caption .card-title{
    color: var(--color-5);
}
.card2:hover {
	transform:translate(0px, 5px);	
}
.card2 button {
	transition: 0.5s;
}
.card2:hover button {
	color: #fff;
	background: var(--color-5);
}

@media (max-width:768px) {
	.card-tag{	
	    font-size: 9px;
    	width: 150px;
	}
	.card .card-caption .card-title{	
	    font-size: 13px;
	    line-height: 14px;
	}	
}
.card-img-overlay {
	background: linear-gradient(0deg, rgba(0,0,0,0.5), rgba(255,255,255,0));
}
/******************************** Card Banner *********************************/
.card.card-banner{
    height: 10rem;
    overflow: hidden;
}
.card.card-banner img{
	object-fit: cover;
    aspect-ratio: inherit;
	
}
.card.card-banner .card-body{
	position:absolute;
	display:flex;
	align-items:center;
    height: 100%;
    width: 100%;
    color: var(--color-1);
    flex-direction: column;
    flex-wrap: nowrap;
}

.card.card-banner .card-body .card-title{
	font-size: 42px;
}
.card.card-banner .card-body .card-icon{
	font-size: 25px;   
	margin: -1.5rem 0;
}
.card.card-banner .card-body .card-description{
	font-size: 20px;
	margin-top: 18px;
}

@media(max-width: 768px) {
	.card.card-banner{
    	height: 7rem;
	}
	.card.card-banner .card-body .card-title{
		font-size: 17.5px;
	}
	.card.card-banner .card-body .card-description{
		font-size: 13px;
	}
	.card.card-banner img {
	    object-fit: cover;
	    object-position: center;
	    flex: auto;
    }
}
/******************************** Multibanner *********************************/

.multi-banners-4 .aspect-container-3x1 {
  width: 100%; /* Ajusta el ancho según tus necesidades */
  aspect-ratio: 3/1; /* Establece la relación de aspecto */
  /* overflow: hidden; */ /* Oculta cualquier contenido que desborde el contenedor */
  display: flex;
}

.multi-banners-4 .aspect-container-2x1 {
  width: 100%; /* Ajusta el ancho según tus necesidades */
  aspect-ratio: 2/1; /* Establece la relación de aspecto */
  /* overflow: hidden; */ /* Oculta cualquier contenido que desborde el contenedor */
  display: flex;
}	

.multi-banners-4 .aspect-container-half-1x1 {
  	width: 50%; /* Ajusta el ancho según tus necesidades */
  	aspect-ratio: 1/1; /* Establece la relación de aspecto */
  	/* overflow: hidden; */ /* Oculta cualquier contenido que desborde el contenedor */
}

.multi-banners-4 .aspect-container-flex-cols {
	display: flex;
	flex-direction: row;
}

.multi-banners-4 .height-50p {
	height: 50%;
	/* overflow: hidden; */
}	

.multi-banners-4 .card {
	height: 100%;
}

.multi-banners-4 .card-img {
	height: 100%;
	object-fit: cover;
}
.multi-banners-4 .card-img-overlay {
	/* top: auto; */
	color: white;
}
.multi-banners-4 .card-img-overlay a {
	float: right;
}
@media (max-width: 992px) {
	.multi-banners-4 div {
		padding: 0px !important;			
	}	
	.multi-banners-4 div.card-tag {
		padding: 0.2rem 0.2rem !important; 		
	}		
	.multi-banners-4 div {
		aspect-ratio: auto!important;
	}
	
	.multi-banners-4 .aspect-container-half-1x1 img {
		aspect-ratio: 1/1;
	}
	.multi-banners-4  .aspect-container-half-1x1 .height-50p img {
		aspect-ratio: 2/1;			
	}
	.multi-banners-4 .aspect-container-half-1x1 .aspect-container-flex-cols {
		display:flex;
	}
	.multi-banners-4 .aspect-container-half-1x1 .aspect-container-half-1x1 {
    	width: 50%;
	}
	.multi-banners-4 .aspect-container-half-1x1 .aspect-container-half-1x1:first-child {
		margin-right: 0.5rem;
	}
	.multi-banners-4 .aspect-container-half-1x1 .aspect-container-half-1x1 img {
		aspect-ratio: 1/1;
	}
	.multi-banners-4 .height-50p,		
	.multi-banners-4 .aspect-container-2x1,
	.multi-banners-4 .aspect-container-half-1x1 {
		width: 100%;
		display: block;
	}
	
	.multi-banners-4 .card {
		margin-bottom: 1rem !important;
	}
	
	.multi-banners-4 .card-img-overlay {
		padding-left: 1rem!important;
	}
	
}
/**************************** Slider banner *****************************/
.slick-custom-prev, .slick-custom-next {
    background: none;
    border: none;
    font-size: 2rem;
    color: var(--color-1);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 1;
}

.slick-custom-prev {
    right: 1rem;
}

.slick-custom-next {
    left: 1rem;
}
.slick-custom-prev:before,
.slick-custom-next:before
{
    font-size: 40px;
}
.carousel-brand {
	margin-left: 0;
	margin-right: 0;
}
.carousel-brand-item {
	margin:10px;
	cursor:pointer;
}
.carousel-brand-item img{
	aspect-ratio:3/2;
}
.carousel-wrapper-buttons{
	position:relative;
}

@media (max-width: 768px) {
	.slick-custom-prev, .slick-custom-next {
		font-size: 1.5rem;
	}
}
/*************************** Grilla de contenidos *****************************/
.my-card {
	box-shadow: 0px 1px 2px rgba(0,0,0,0.14),0px 0px 2px rgba(0,0,0,0.12);
	border-radius: 8px;
	content-visibility: auto;
	height: 100%;
}
.my-card-title {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.6rem;
	margin: 0.5rem 0 0 0;
	padding: 0.5rem;
}
.my-card-date {
	padding: 0 0 0.5rem 0.5rem;
	color: #7592ad;
}
.my-card-img img {
	object-fit: cover;
	max-width: 100%;
}
/******************************** Bigtext *********************************/

.big-text {
	font-size: 3.5rem; 
	line-height: 4.3rem; 
	font-weight: 500; 
	text-align: center
}

@media (max-width: 768px) {
	.big-text {
		font-size: 2.5rem;
	    line-height: 3rem;
	}
}

/***************************** List-component Container ***************************/

.list-component-container .card {
    border: none;
}
.list-component-container a {
	text-decoration: none;
    color: black;
}
.list-component-container .card-img {
	/* Sin estilos aún */
}
.list-component-container .card-title {
	font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.6rem;
    margin: 1.5rem 0 0.3rem 0;
}
.list-component-container .card-text {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}
.list-component-container .card-date{
	/* Sin estilos aún */
}
.seemore-button {
	color: var(--color-1) !important;
	background: var(--color-4) !important;
	border: 0 !important;
}
.seemore-button:hover {
	color: var(--color-1) !important;
	background: var(--color-3) !important;
}
.mosaic-inline .row > *{
	width: 25%;
}
.list-component-container.mosaic .card {
	text-transform: uppercase;
}
.list-component-container .card:hover {
	box-shadow: var(--bs-box-shadow-sm) !important;
}
.template .list-component-container .card,
.template .list-component-container .card .card-img-overlay {
	transition: 1s;
}

.template .list-component-container .card:hover {
	box-shadow: var(--bs-box-shadow) !important;
}

.template .list-component-container .card:hover .card-img-overlay {
    background: linear-gradient(0deg, rgba(0,0,0,0.2), rgba(255,255,255,0.06))

}
/******************************** Footer *********************************/
footer .btn {
	color:var(--color-3);
}
footer .btn:hover {
	background-color:var(--color-3) !important;
	color:#ffff;
}
footer .logo{
	height:75px !important;
}
footer section.developedby {
    font-size: 12px;
}
.text-cta a {
	color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1));
	font-size: 1.5rem;
	text-decoration: none;
}
.text-cta:hover a {
	color: var(--color-3) !important;
	cursor:pointer;
	text-decoration: underline;
}
/******************************** Templates *********************************/
.template .page-head{
    margin-bottom: 1.5rem !important;
	margin-right: 0;
    margin-left: 0;
}
/****************************** Miscelaneas *****************************/
.text-color2{
	 color: var(--color-2);
}
.list-unstyled {
	padding-left: 0;
    list-style: none;
}
.notif-badge {
    width: 10px;
    height: 10px;
    background: var(--bs-danger);
    border-radius: 50%;
    position: absolute;
    top: -1px;
    right: -1px;
    z-index: 1;
}

/****************************** Animaciones ******************************/
@keyframes blink {
  0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; }
}
.animation-blink {
  animation: blink 2s infinite;
}

@keyframes animagionTop {
	0% {
		opacity: 0;
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}

@keyframes animagionLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-40px);
		transform: translateX(-40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@keyframes animagionRight {
	0% {
		opacity: 0;
		-webkit-transform: translateX(40px);
		transform: translateX(40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

.animagionTop {
	-webkit-animation: animagionTop;
	animation: 1s animagionTop;
}

.animagionLeft {
	-webkit-animation: animagionLeft;
	animation: 1s animagionLeft;
}

.animagionRight {
	-webkit-animation: animagionRight;
	animation: 1s animagionRight;
}
@-webkit-keyframes fadeUpSm {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 55px, 0) scale3D(1.05, 1.05, 1.05);
		transform: translate3d(0, 55px, 0) scale3D(1.05, 1.05, 1.05);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
	}
}

@keyframes fadeUpSm {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 55px, 0) scale3D(1.05, 1.05, 1.05);
		transform: translate3d(0, 55px, 0) scale3D(1.05, 1.05, 1.05);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
	}
}

.fadeUpSm {
	-webkit-animation-name: fadeUpSm;
	animation-name: fadeUpSm;
}
@-webkit-keyframes fadeInLeftSm {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(-30px, 0, 0) scale3D(0.75, 0.75, 0.75);
		transform: translate3d(-30px, 0, 0) scale3D(0.75, 0.75, 0.75);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
	}
}

@keyframes fadeInLeftSm {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(-30px, 0, 0) scale3D(0.75, 0.75, 0.75);
		transform: translate3d(-30px, 0, 0) scale3D(0.75, 0.75, 0.75);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
		transform: translate3d(0, 0, 0) scale3D(1, 1, 1);
	}
}

.fadeInLeftSm {
	-webkit-animation-name: fadeInLeftSm;
	animation-name: fadeInLeftSm;
}






/*

Lecueder


*/
.footer {
    border: 1px solid transparent;
    border-image: linear-gradient(to right,
                                 	 white 0%,      /* Blanco al inicio */
		                             #8a9597 25%,    /* Gris plata desde el 25% */
		                             #8a9597 75%,    /* Gris plata hasta el 75% */
		                             white 100%      /* Blanco al final */
		                           ) 1; /* El '1' es para indicar que el borde se estira */
}
#footer-logo{
	color: var(--color-4) !important;
}
.cita-contenedor {
    font-family: 'Montserrat', sans-serif;
    color: #2c206b;
    background-color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 1px -7px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.cita-contenedor::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, #8a9597, var(--color-4));
    z-index:1000;
}
/* .cita-contenedor::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(to right, #2c206b, #8a9597);
    z-index:1000;
} */

.cita-texto {
    font-family: 'Playfair Display', serif;
    font-size: 1.2em;
    line-height: 1.6;
    color: var(--color-4);
    position: relative;
    z-index: 1;
	opacity: 0;
	transform: translateX(-100%);
	transition: all 0.8s ease-out;
}

.cita-texto.visible {
	opacity: 1;
	transform: translateX(0);
}
.cita-texto p {
    margin-bottom: 0px;
}
.cita-texto strong {
    color: var(--color-2);
    font-weight: 700;
}

.cita-autor {
    font-family: 'Montserrat', sans-serif;
    font-size: 1em;
    color: #424f4f;
    margin-top: 20px;
    font-style: italic;
}

@media (min-width: 480px) {
    .cita-contenedor {
        padding: 30px;
    }
    .cita-texto {
        font-size: 1.4em;
    }
}

@media (min-width: 768px) {
    .cita-contenedor {
        padding: 30px 40px;
        margin: 0 15px;
    }
    .cita-texto {	
    	font-size: 2em;
    	line-height: 1.5;
    }
/*     .cita-texto > h1 {
        padding-left: 3rem !important;
    } */
}

/* Estilos para el botón de contacto */
.contact-button {
    display: inline-block;
    padding: 15px 30px;
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: none;
    color: #fff !important; /* Texto blanco para asegurar el contraste */
    background-color: #2c206b; /* Azul púrpura oscuro (color principal de tu paleta) */
    border: 2px solid #2c206b;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Sombra para dar profundidad */
    transition: background-color 0.3s ease, transform 0.3s ease; /* Transiciones suaves */
    cursor: pointer; /* Indica que es clickeable */
}

.contact-button:hover {
    background-color: #8a9597; /* Gris plata metálico (para un contraste sutil al pasar el mouse) */
    border-color: #8a9597;
    transform: scale(1.05); /* Ligeramente más grande al pasar el mouse */
}

/* Animación sutil para atraer la atención (opcional) */
@keyframes pulsate {
    0% {
        transform: scale(1);
        opacity: 0.9;
    }
    50% {
        transform: scale(1.02); /* Un pulso más suave */
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.9;
    }
}

.contact-button {
    animation: pulsate 2s infinite alternate; /* Aplica la animación */
}

/* Media queries para responsividad (ajuste de fuente en móviles) */
@media (max-width: 576px) {
    .contact-button {
        font-size: 1em; /* Reduce el tamaño de fuente en pantallas pequeñas */
        padding: 12px 25px;
    }
}


.btn-architect {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease-in-out;
    letter-spacing: 0.5px;
    text-transform: uppercase;
	animation: pulsate 2s infinite alternate; /* Aplica la animación */
}

.btn-architect .icon {
    margin-right: 12px;
    transition: transform 0.3s ease-in-out;
}
.btn-outline {
    background-color: transparent;
    background: var(--color-4);
    color: var(--color-1);
    border: 2px solid var(--color-4);
    border-radius: 50px;
}

.btn-outline:hover {
    background-color: var(--color-2);
    border: 2px solid var(--color-2);
    color: var(--color-3);
    transform: translateY(-2px);
}

.btn-outline:hover .icon-stroke {
     stroke: #ffffff; /* Cambia el color del borde del icono */
}
.footer ul.list-unstyled > * > a {
    border-bottom: 1px solid #fff;
    transition: 0.5s;
}

.footer ul.list-unstyled > * > a:hover {
    border-bottom: 1px solid var(--color-5);
    color: var(--color-5) !important;
}