:root{
	--header-color: #0F6758;
	--link: #010380;
	--navbar-color: #f5f5f5;
	--orange: #f45a07;
	--light-blue: #4FB0C2;
	--blue: #4FB0C2;
	--light-green: #1AB79C;
	--dark-green:#0F6758;
}

*{
	font-family: "Montserrat";
}

.font-montserrat {
  font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

a{
	color: var(--link);
}
a:not(:hover){
	text-decoration: none;
}

p{
	line-height: 1.70rem;
}

._root{
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-rows: auto auto auto 1fr auto;
	min-height: 100dvh;
}

._header{
	background-color: var(--light-green);
	height: 100px;
	display: flex;
	flex-direction: row;
	/*justify-content: flex-end;*/
	justify-content: space-between;
	position: relative;
}

._header > .header-title{
	font-size: 40pt;
	font-weight: bold;

	color: #fff;
	text-align: center;
	align-self: center;

}

._header > .logo-header{
	height: 100%;
	box-sizing: border-box;
	padding: .8rem 1rem;
}

._header > .logo{
	position: absolute;
	left: 2rem;
	top: 0px;
	width: 128px;
	height: 128px;
	z-index: 998;
	padding: 1rem 1rem 0rem 1rem;
}

._header > .logo::after {
    content: "";
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    bottom: -19px;
    background: white;
    border-radius: 0 0 12px 10px;
    -webkit-transform: skewY(15.5deg);
    -ms-transform: skewY(15.5deg);
    border: 2px solid black;
    transform: skewY(15.5deg);
    z-index: -1;
}

._header > .item_group{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 2rem;
	margin: 0rem 2rem;
}

._header > .item_group > .item{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: white;
	text-decoration: none;
	padding: .25rem;

	font-size: 10pt;
	font-weight: bold;
}

._navbar{
	background-color: var(--dark-green);
	height: 50px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	/*
	padding-right: 4rem;
	padding-left: 160px;*/
	z-index: 20;
}

._navbar > .item_group{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 1rem;
}


._navbar .responsive-toggler{
	display: none;
}

._navbar > .item_group > .nb-dropdown-wrapper{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	position: relative;
}

._navbar > .item_group > .item, ._navbar > .item_group > .nb-dropdown-wrapper > .item{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	/*color: #222;*/
	color: #FFF;
	cursor: pointer;
	transition: background 200ms, color 200ms, transform 200ms;
	font-weight: bold;
	text-decoration: none;
	padding: 0rem 0.75rem;
}

._navbar > .item_group > .item:hover,
._navbar > .item_group > .item.active,
._navbar > .item_group > .nb-dropdown-wrapper > .item.active,
._navbar > .item_group > .nb-dropdown-wrapper > .item:hover{
	/*color: var(--header-color);*/

}

._navbar > .item_group > .item::after,
._navbar > .item_group > .nb-dropdown-wrapper > .item::after{
	content: "";
	background-color: transparent;
	height: 4px;
	width: 100%;
	position: absolute;
	bottom: 0px;
	transform: scaleX(0.8);
	transition: 200ms;
}

._navbar > .item_group > .item:hover::after,
._navbar > .item_group > .item:focus::after,
._navbar > .item_group > .item.active::after,
._navbar > .item_group > .nb-dropdown-wrapper > .item.active::after,
._navbar > .item_group > .nb-dropdown-wrapper > .item:hover::after,
._navbar > .item_group > .nb-dropdown-wrapper > .item:focus::after{
	/*background-color: var(--header-color);*/
	background-color: white;
	transform: scaleX(1.0);
}

._navbar > .item_group > .nb-dropdown-wrapper > .nb-dropdown{
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 100%;
	background-color: #f5f5f5;
	visibility: hidden;
	transform: scaleY(0.0);
	opacity: 0.0;
	transform-origin: top;
	min-width: 200px;
	transition: 200ms;
}


._navbar > .item_group > .nb-dropdown-wrapper > .nb-dropdown > .item{
	color: var(--header-color);
	font-weight: bold;
	padding: 0.75rem 1rem;
	text-decoration: none;
	transition: 200ms;
}

._navbar > .item_group > .nb-dropdown-wrapper > .nb-dropdown > .item:hover,
._navbar > .item_group > .nb-dropdown-wrapper > .nb-dropdown > .item:focus{
	background-color: var(--header-color);
	color: white;
}

._banner{
	background-color: lightgray;
	height: 650px;
	background-image: url('../img/interface/banner.jpg');
	background-size: cover;
}

._banner > .content{
	background-color: #0006;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: whitesmoke;
}

._content{
	display: flex;
	flex-direction: column;
	padding: 3rem 6rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	align-self: start;
	justify-self: center;
}

._footer{
	padding: 0.4rem 6rem;
/*	background-image: url('../img/interface/footer-bg.jpg');
	background-size: cover;
	*/

	background-color: var(--light-green);
}

._footer > .footer-text{
	padding: 0.6rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.container-2-1{
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2rem;
}
.container-1{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
.container-1-auto{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
}
.container-1-1{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
}

.h-separator{
	width: 100%;
}

.square-button{
	color: white;
	font-size: 14pt;
	padding: .5rem;
	border: none;

	box-sizing: content-box;
	width: 16pt;
	height: 16pt;

	border-radius: 5px;
	cursor: pointer;

	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.presentation-container{
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: radial-gradient(at top left, #fdb900, #ff6900);

	min-height: 10px;
	padding: 1rem 3rem;
	gap: 3rem;
}

.presentation-container > .title{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	color: white;
	font-size: 20pt;

	text-align: center;
	font-weight: bolder;

	gap: 2rem;
}

.presentation-container > .title > .showmore-button, .showmore-button{
	border: none;
	border-radius: 2rem;
	padding: 1rem;
	text-decoration: none;
	color:white;
	background-color: #010380;
	font-size: 12pt;
	font-weight: bold;
}

.presentation-container > .image-collage{
	aspect-ratio: 16/14;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(4, 1fr);
	border: 1px solid black;
}

.presentation-container > .image-collage > .img-1, .presentation-container > .image-collage > .img-2, .presentation-container > .image-collage > .img-3, .presentation-container > .image-collage > .img-4{
	background-size: cover;
	background-color: lightgray;
	background-position: center;

	border: 1px solid black;
	
}

.presentation-container > .image-collage > .img-1{
	grid-column: 1 / 1;
	grid-row: 1 / span 4;
}
.presentation-container > .image-collage > .img-2{
	grid-column: 2 / 2;
	grid-row: 1 / span 2;
}
.presentation-container > .image-collage > .img-3{
	grid-column: 3 / 3;
	grid-row: 1 / span 2;
}
.presentation-container > .image-collage > .img-4{
	grid-column: 2 / span 2;
	grid-row: 3 / span 2;
}

.iframe-wrapper{
	/*border: 1px solid black;*/
	box-shadow: 0px 0px 8px #0005;
	padding: 1rem;
	width: fit-content;
	height: fit-content;
}

.instagram-embed{
	width: 300px;
	height: 400px;
}

.googlemap-embed{
	width: 500px;
	height: 450px;
}

.collapsible-wrapper{
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.collapsible-wrapper > .collapsible-toggler{
	background-color: #00215c;
	color: white;
	font-weight: bold;
	border-radius: 1rem;
	padding: 1rem;
	border: none;
	cursor: pointer;
	position: relative;
}

.collapsible-wrapper > .collapsible-toggler::after{
	font-family: bootstrap-icons !important;
	content: '\F231';
	position: absolute;
	right: 1rem;
	top: calc(50% - 6pt);
	font-size: 12pt;
	transform: rotate(0deg);
	transition: 200ms;
}

.collapsible-wrapper > .collapsible-toggler.active::after{
	transform: rotate(90deg);
}

.collapsible-wrapper > .collapsible{
	height: 0px;
	overflow: hidden;
	border-radius: 1rem;
}

.collapsible-wrapper > .collapsible-toggler.active + .collapsible{
	height: unset;
	background-color: #f0f8ff;
	padding: 1rem;
}

.search-input-wrapper{
	display: grid;
	grid-template-columns: 1fr auto;
}

.search-input-wrapper > .search-input{
	border: 1px solid lightgray;
	padding: .5rem;
	outline: none;
	margin: 0;
}
.search-input-wrapper > .search-button{
	/*border: 1px solid lightgray;*/
	border: none;
	border-left: none;
	aspect-ratio: 1/1;
	padding: .25rem .5rem;
	cursor: pointer;
	background-color: transparent;
}
.products-container{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	width: 100%;
}
.products-container > .product-wrapper{
	display: flex;
	flex-direction: column;
	padding: 3rem 4rem;
	background-color: #efe9df;
	box-shadow: 0px 2px 4px #0002;
	gap: 1rem;
	border-radius: 5px;
	transition: background-color 100ms;
	cursor: pointer;
	text-decoration: none;
}

.products-container > .product-wrapper:hover{
	background-color: white;
	outline: 2px solid #f45a07 ;

}
.products-container > .product-wrapper > .product-pic{
	/*display: block;
	max-width: 100%;
	height: auto;*/
	aspect-ratio: 1/1;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 5px;
}

.products-container > .product-wrapper > .product-title{
	color: black;
	text-align: center;
	font-size: 10pt;
	font-weight: bold;
}

.pagination-control{
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: .8rem;
	user-select: none;
}
.pagination-control .pagination-item{
	border-style: solid;
	border-color: transparent;
	border-width: 1px;
	border-radius: 5px;
	padding: .5rem;

	text-decoration: none;
	color: #1d1d1d;

	width: 24px;
	aspect-ratio: 1/1;

	text-align: center;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	transition: 200ms;
	box-shadow: 0px 0px 2px gray;
}

.pagination-control .pagination-item:not(.current):not(.disabled):hover{
	cursor: pointer;
	border-color: #f45a07;
	color: #f45a07;
}

.pagination-control .pagination-item.current{
	background-color: #f45a07;
	color: white;
	border-color: transparent;
	font-weight: bold;
}


.pagination-control .pagination-item.disabled{
	background-color: #eee;
	border-color: transparent;
}

.pagination-control .pagination{

	gap: .4rem;

	display: flex;
	flex-direction: row;
	justify-content: center;
	margin: 0px;
	padding: 0px;
}


.description-pic{
	background-size: cover;
	background-position: center;
	max-width: 256px;
	aspect-ratio: 16/11;
}

.caroussel{
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: row;
	/*background: linear-gradient(to right, #bbb, white 20% 80%, #bbb);*/
	background-position: center;
	background-size: cover;
	background-color: white;
}

.caroussel::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(10px);
	z-index: 10;
	transition: background-color 200ms;
}

.caroussel.bg-white::before{
	background-color: white;
}

.caroussel > .caroussel_slide{
	z-index: 15;
	height: 100%;
	width: 0%;
	transition: 500ms linear;
	background-size: contain;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
}

.caroussel > .caroussel_slide.show{
	width: 100%;
	opacity: 1.0;
}

.caroussel > .caroussel_slide:not(.show){
	visibility: hidden;
	opacity: 0.0;
}

.caroussel > .caroussel_slide > .title{
	position: absolute;
	bottom: 2rem;
	background-color: black;
	color: white;
	width: 80%;
	background: linear-gradient(to right, var(--blue) 0% 70%, transparent);
	padding: 2rem;

	font-weight: bold;
	font-size: 18pt;
}

table.description-table{
	border-spacing: 0px;
}

table.description-table thead th{
	background-color: var(--header-color);
	color: white;
	padding: 1.25rem;
	border-color: var(--header-color);
}

table.description-table tbody td{
	padding: .75rem;
}

table.description-table tbody tr:not(:last-child) td{
	border-bottom: 1px solid lightgray;
}

.form-input-wrapper{
	display: flex;
	flex-direction: column;
	gap: .25rem;
}

.form-input-wrapper > input{
	min-width: 0;
}

.form-input{
	border: 1px solid lightgray;
	border-radius: 5px;
	padding: .75rem;
}

.form-submit-button{
	border: 1px solid lightgray;
	background-color: #fefefe;
	padding: 1.25rem;
	border-radius: 5px;
	cursor: pointer;
	transition: background-color 80ms;
}

.form-submit-button:hover, .form-submit-button:focus, .form-submit-button:active{
	background-color: #0032640f;
}

.floating-social-media{
	position: fixed;
	right: 1rem;
	padding: 1.2rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	top: 30%;
	background-color: white;
	z-index: 50;
	border-radius: 1rem;
	box-shadow: 0px 0px 4px gray;
}

@media only screen and (max-width: 1400px) {
	._navbar{/*
		padding-left: 1rem;
		padding-right: 1rem;
		justify-content: flex-start;
		*/
	}
	._navbar > .item_group{
		gap: .5rem;
	}
}

@media only screen and (min-width: 1200px) {

	._navbar > .item_group > .nb-dropdown-wrapper:hover > .nb-dropdown{
		visibility: visible;
		transform: scaleY(1.0);
		opacity: 1.0;
	}
}

@media only screen and (max-width: 1200px) {
	.container-md-1{
		display: grid;
		grid-template-columns: 1fr;
	}
	._footer.container-md-1{
		justify-items: unset;
	}
	._navbar{
		padding-left: 256px;
		padding-right: 0rem;
		justify-content: flex-end;
		position: relative;
	}
	._navbar > .item_group{
		display: none;
		position: absolute;
	}
	._navbar > .item_group.active{
		right: 0px;
		top: 100%;
		display: flex;
		flex-direction: column;
		gap: 0px;
		/*background-color: var(--navbar-color);*/
		background-color: var(--light-green);
	}

	._navbar > .item_group > .nb-dropdown-wrapper{
		justify-content: stretch;
		flex-direction: column;
	}

	._navbar .responsive-toggler{
		display: inline;
		/*color: #222;*/
		color: white;
		background: transparent;
		border: none;
		cursor: pointer;
		font-weight: bold;
		padding: 0rem 2rem;
	}

	._navbar .responsive-toggler:hover,
	._navbar .responsive-toggler:focus{
		background-color: #fff2;
	}

	._navbar > .item_group > .item, ._navbar > .item_group > .nb-dropdown-wrapper > .item{
		min-height: 64px;
	}

	._navbar > .item_group > .nb-dropdown-wrapper > .nb-dropdown{
		right: 100%;
		top: 0px;
		visibility: hidden;
		transform: scaleY(0.0);
		opacity: 0.0;
	}

	._navbar > .item_group > .nb-dropdown-wrapper > .item:focus + .nb-dropdown,
	._navbar > .item_group > .nb-dropdown-wrapper > .nb-dropdown:focus-within{
		visibility: visible;
		transform: scaleY(1.0);
		opacity: 1.0;
	}

	._navbar > .item_group > .nb-dropdown-wrapper > .item:focus{
		/*color: var(--header-color);*/
		color: white;
	}

	.presentation-container{
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		gap: 1rem;
	}

	.presentation-container > .title{
		font-size: 16pt;
	}

	.presentation-container > .image-collage{
		aspect-ratio: 16/8;
	}

	.products-container{
		grid-template-columns: repeat(2, 1fr);
	}

	.floating-social-media{
		right: unset;
		left: 1rem;
		top: 30%;
	}

	.products-container > .product-wrapper{
		padding: 1.5rem;
	}
}

@media only screen and (max-width: 768px) {

	._header > .logo-header{
		height: 100%;
		box-sizing: border-box;
		padding: .5rem .5rem;
	}

	._header > .header-title{
		font-size: 24pt;
	}

	._header > .item_group{
		flex-direction: column;
		gap: 0.1rem;
		margin: 0px 1rem;
	}

	._content{
		padding: 3rem 3rem;
	}
	.container-sm-1{
		display: grid;
		grid-template-columns: 1fr;
	}
	.presentation-container > .image-collage{
		aspect-ratio: 4/3;
	}

	.presentation-container > .title{
		font-size: 13pt;
	}

	.presentation-container{
		font-size: 13pt;
		padding: 1rem;
	}

	.instagram-embed{
		width: 240px;
		height: 370px;
	}

	.googlemap-embed{
		width: 300px;
		height: 270px;
	}
	.floating-social-media{
		position: static;
		flex-direction: row;
		justify-content: center;
		border-radius: 0px;
		box-shadow: none;
		padding-top: .25rem;
	}

	._banner{
		height: 350px;
	}
	.caroussel > .caroussel_slide > .title{
		bottom: 1rem;
		padding: 1rem;
		font-size: 16pt;
	}
	._header{
		height: 80px;
	}
}

@media only screen and (max-width: 420px) {
	._header > .header-title{
		font-size: 18pt;
	}
	._header{
		height: 70px;
	}

	._footer > .footer-text{
		padding: .5rem;
		white-space: break-spaces;
	}

	._content{
		padding: 2rem 2rem;
	}
	.container-xsm-1{
		display: grid;
		grid-template-columns: 1fr;
	}
	.products-container{
		grid-template-columns: repeat(1, 1fr);
	}
}

.registrarse-btn{
	position: absolute; 
	right: 20px; 
	padding: 0.75rem 0.75rem; 
	color: white; 
	text-decoration: none; 
	font-weight: bold
}

.registrarse-btn-mobile {
	color: white;
    font-weight: bold;
    text-align: center;
    padding: 0.75rem 0.75rem;
    display: none;  
}

@media (max-width: 991.98px) {
    .registrarse-btn {
        display: none; /* Oculta el botón desktop */
    }
    .registrarse-btn-mobile {
        display: block; /* Muestra el botón móvil */
    }
}