@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

*,
::after,
::before
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	appearance: none;
}

html
{
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-family: 'Inter', sans-serif;
}

body
{ display: inline;
	position: relative;
	top: 0;
	left: 0;
	width: 600px;
	height: 100%;
	border: 1px solid rgba(142, 142, 142, 0.55);
}

a
{
	text-decoration: none;
	color: #072747;
}

#complete
{
	height: 100%;
}

#logo
{
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
}

#login-form
{
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	width: 80%;
	height: 350px;
	background-color: #ffffff;
	border: 1px solid #072747;
}

#login-form::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 25px solid transparent;
	border-top: 25px solid #072747;
	border-left: 25px solid #072747;
	border-bottom: 25px solid transparent;
}

#login-form h1
{
	column-span: all;
	color: #072747;
}

#login-form label
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: end;
	color: #072747;
}

#login-form label
{
	position: relative;
	width: 100%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
}

#eye
{
	position: absolute;
	right: 5%;
	background-color: #FFF;
}

#login-form input {
	width: 66%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	scale: 1;
	transition: all 0.1s ease;
}

#required
{
	position: absolute;
	top: 150px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	background-color: #ffffff;
	justify-content: center;
	align-items: center;
	padding: 10px 20px;
	border: 1px solid #072747;
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 4;
}

.out
{
	display: none !important;
}

#required.active
{
	opacity: 1;
}

#required p
{
	color: #072747;
}

#required img
{
	width: 40px;
	margin-right: 20px;
}

#required::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 10px solid transparent;
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
	border-bottom: 10px solid transparent;
}

.triangulo
{
	content: "";
	position: absolute;
	top: -40px;
	left: 90px;
	width: 0;
  height: 0;
  border-right: 20px solid transparent;
  border-top: 20px solid transparent;
  border-left: 20px solid transparent;
  border-bottom: 20px solid #ffffff;
	z-index: 1;
}

.borde-triangulo
{
	content: "";
	position: absolute;
	top: -41px;
	left: 90px;
	width: 0;
  height: 0;
  border-right: 20px solid transparent;
  border-top: 20px solid transparent;
  border-left: 20px solid transparent;
  border-bottom: 20px solid #072747;
	z-index: 0;
}

input:focus
{
	outline: none;
	border: 1px solid #66cbba;
}

input[type="submit"]:hover
{
	animation: bounce 0.4s ease;
	animation-fill-mode: forwards;
}

input[type="submit"]
{
	column-span: all;
	width: 80%;
	height: 40px;
	font-family: 'Inter', sans-serif;
	font-size:1.3rem;
	border: 1px solid #072747;
	background-color: #072747;
	transition: all 0.2s ease;
}

.error
{
	position: absolute;
	top: -100%;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	padding: 30px 0;
	background-color: #ff0019;
	text-align: center;
	color: white;
	font-size: 1.12rem;
	animation: InOut 5s ease-in-out;
	z-index: 100;
}

.warning
{
	position: absolute;
	top: -100%;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	padding: 30px 0;
	background-color: #FD9C18;
	text-align: center;
	color: white;
	font-size: 1.12rem;
	animation: InOut 5s ease-in-out;
	z-index: 100;
}

header
{
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	padding: 20px 0;
	background-color: #ffffff;
}

header .bread_crumb
{
	text-align: center;
	text-transform: uppercase;
}

.user_info_row
{
	display: flex;
	justify-content: start;
	align-items: center;
}

.user_info_span
{
	width: 100%;
	text-align: end;
}

.user_info_col
{
	margin: 0 20px;
}

.user_info_row img
{
	max-height: 60px;
	margin-left: 20px;
}

main
{
	overflow: auto;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 180px);
	background-color: rgba(7, 39, 71, 0.1);
}

main#home
{
	overflow-y: auto;
	height: calc(100% - 280px);
	padding-top: 1rem;
	padding-bottom: 2rem;
}

.card
{
	position: relative;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	background-color: #FFF;
	width: 580px;
	padding: 20px;
}

.card:nth-child(1)
{
	border: 1px solid #66cbba;
}

.card:nth-child(3)
{
	border: 1px solid #469493;
}

.card:nth-child(5)
{
	border: 1px solid #275e6d;
}

.card:nth-child(7)
{
	border: 1px solid #072747;
}

.card::before
{
	content: "";
  position: absolute;
  top: 0;
  left: 0;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

.card:nth-child(1)::before
{
	border-top: 10px solid #66cbba;
	border-left: 10px solid #66cbba;
}

.card:nth-child(3)::before
{
	border-top: 10px solid #469493;
	border-left: 10px solid #469493;
}

.card:nth-child(5)::before
{
	border-top: 10px solid #275e6d;
	border-left: 10px solid #275e6d;
}

.card:nth-child(7)::before
{
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
}

.card .card-title
{
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
	text-transform: uppercase;
}

.card .card-subtitle
{
	text-align: start;
	font-size: 1rem;
	font-weight: normal;
	text-transform: uppercase;
	margin: 10px 0;
}

hr
{
	border: 1px solid #66cbba;
	margin-top: 20px;
}

.card .row
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}

.card .row .icon_text,
.card .row .counter
{
	display: flex;
	justify-content: center;
	align-items: center;
	text-wrap: balance;
	text-decoration: none;
	color: #072747;
}

.card .row .counter a
{
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
}

.card .row .icon_text img
{
	width: 40px;
}

.card .row .counter p
{
	font-weight: bold;
	font-size: 1.8rem;
}

.card p
{
	margin-left: 20px;
}

footer
{
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 600px;
	height: 100px;
	background-color: #072747;
}

footer nav
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

footer nav ul
{
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
}

footer nav ul li
{
	margin: 0 10px;
	color: #FFF;
}

footer nav ul li img
{
	width: 60px;
}

footer nav ul li a
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #FFF;
}

#volver
{
	background-color: #072747;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 40px -20px 0 10%;
	padding: 10px 20px 10px 10px;
	width: fit-content;
}

.menos_margin
{
	margin: 40px -20px -120px 10% !important;
}

main form#gnc
{
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: fit-content;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

main form#gnc .form_row
{
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}

main form#gnc .form_row p
{
	width: 80%;
}

main form#gnc input[type="text"],
main form#gnc input[type="number"],
main form#gnc input[type="email"],
main form#gnc input[type="tel"],
main form#gnc input[type="date"],
main form#gnc input[type="password"],
.input_like
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
}

select
{
	width: 100%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	color: #072747;
	font-weight: 500;
}

select:focus
{
	outline: none;
	border: 1px solid #66cbba;
	font-family: 'Inter', sans-serif;
	color: #072747;
}

option
{
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
}

main form#gnc input[type="text"]:focus,
main form#gnc input[type="number"]:focus,
main form#gnc input[type="email"]:focus,
main form#gnc input[type="tel"]:focus,
main form#gnc input[type="date"]:focus,
main form#gnc input[type="password"]:focus,
.input_like:focus
{
	outline: none;
	border: 1px solid #66cbba;
}

main #gnc .cantidad
{
	flex-direction: row !important;
	width: 80% !important;
	justify-items: center !important;
}

main #gnc .cantidad input
{
	width: 100% !important;
	font-family: 'Inter', sans-serif;
}

main #gnc .cantidad span
{
	width: 40px;
	height: 40px;
	background-color: #ffffff;
	border-top: 1px solid #072747;
	border-left: 1px solid #072747;
	border-bottom: 1px solid #072747;
	border-right: transparent;
	text-align: center;
	line-height: 40px;
}

.button_row
{
	display: flex;
	align-items: center;
	width: 80%;
}

input[type="radio"]
{
	display: none;
}

input[type="radio"] + label
{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 40px;
	background-color: #ffffff;
	border: 1px solid #072747;
	border-collapse: collapse;
	text-align: center;
	line-height: 40px;
	cursor: pointer;
}

input[type="radio"]:checked + label
{
	background-color: #072747;
	border: 1px solid #072747;
	color: #ffffff;
}

.search_icon
{
	position: absolute;
	right: 12%;
	top: 18px;
}

textarea
{
	width: 80%;
	height: 240px;
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	resize: none;
}

textarea:focus
{
	outline: none;
	border: 1px solid #66cbba;
}

input[type="submit"]
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	background-color: #072747;
	color: #ffffff;
	cursor: pointer;
}

.form_row hr
{
	width: 80%;
}

.form_row label
{
	display: flex;
	justify-content: start;
	align-items: center;
	width: 80%;
	text-align: start;
}

.continua
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100% !important;
}

.compact
{
	margin-top: 5px !important;
}

.form_row label input[type="checkbox"]
{
	width: 20px;
	height: 20px;
	border: 4px solid #072747;
	margin: 10px;
}

.scroll
{
	height: calc(100% - 178px);
	overflow-y: auto;
}

label[for="int_2"],
label[for="int_3"],
label[for="int_4"],
label[for="int_5"]
{
	border-left: transparent !important;
}

input[type="radio"]:checked + label[for="int_1"]
{
	background-color: #66cbba !important;
	border: 1px solid #66cbba !important;
}
input[type="radio"]:checked + label[for="int_2"]
{
	background-color: #377981 !important;
	border: 1px solid #377981 !important;
}
input[type="radio"]:checked + label[for="int_3"]
{
	background-color: #072747 !important;
	border: 1px solid #072747 !important;
}

::-webkit-scrollbar
{
	width: 10px;
}

::-webkit-scrollbar-thumb
{
	background: #072747;
	border-radius: 0;
}

::-webkit-scrollbar-track
{
	background: #ffffff;
}

.ref
{
	top: 120px !important;
}
.check-container
{
	display: block;
  position: relative;
  padding-left: 35px;
	margin-top: 10px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 16px;
  user-select: none;
	line-height: 26px;
}

.check-container input
{
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

.custom-check
{
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #aaa;
}

.check-container:hover input ~ .custom-check
{
	background-color: #999;
}

.check-container input:checked ~ .custom-check
{
	background-color: #072747;
}

.custom-check:after
{
	content: "";
	position: absolute;
	display: none;
}

.check-container input:checked ~ .custom-check:after
{
	display: block;
}

.check-container .custom-check:after
{
	left: 9px;
	top: 3px;
	width: 8px;
	height: 15px;
	border: solid white;
	border-width: 0 4px 4px 0;
	transform: rotate(45deg);
}

input[type="date"]
{
	color: transparent;
	background-color: #FFF;
}

.uau
{
	margin-top: -10px;
}

input[type="date"] + span {
	position: absolute;
	top: 10px;
	left: 10%;
	height: 40px;
	line-height: 40px;
	padding: 0 10px;
	color: #072747;
	border: 1px solid #072747;
	border-right: transparent;
	background-color: #ffffff;
}

input[type="date"]:focus + span
{
	border: 1px solid #66cbba;
	border-right: transparent;
}

.separator
{
	height: 10px;
}

#edit_user_info
{
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 40px;
	height: 40px;
}

#edit_user_info img
{
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
}

.edit_img
{
	position: absolute;
	right: 30px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	background-color: #072747;
	opacity: 0;
	transition: all 0.2s ease;
	z-index: 2;
}

.edit_img img
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	opacity: 0;
	transition: all 0.2s ease;
	z-index: 3;
}

aside:hover .edit_img
{
	opacity: 1;
}

aside:hover .edit_img img
{
	opacity: 1;
}

.p_container
{
	perspective: 1000px;
	overflow-x: hidden;
	height: calc(100% - 100px);
}

aside
{
  width: 600px;
	height: 350px;
	transform: translateZ(-10000px)
						scale(11)
						translateY(-215px);
	transition: all 0.5s ease;
}

form.parallax
{
	background: #d0d5db;
	height: unset !important;
}

.user_details
{
	align-items: start !important;
	width: 80% !important;
	color: #072747;
}

input[readonly]
{
	color: #072747 !important;
	font-weight: 600 !important;
	border: 1px solid #66cbba !important;
}

.user_details input
{
	width: 100% !important;
	color: #072747;
	font-family: 'Inter', sans-serif;
}

.user_details input[type="date"]
{
	color: #072747;
	font-family: inherit;
	font-weight: 500;
}

.success
{
position: absolute;
	top: -100%;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	padding: 30px 0;
	background-color: #66cbba;
	text-align: center;
	color: white;
	font-size: 1.12rem;
	animation: InOut 5s ease-in-out;
	z-index: 100;
}

.separator_span
{
	width: 5%;
}

#mask
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 210%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 5;
	opacity: 0;
}

#pass_change_btn
{
	color: #ffffff;
	background-color: #072747;
}

#pass_change
{
	position: absolute;
	top: 80%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 6;
	width: 90%;
	padding: 20px;
	background: #d0d5db;
	transform-origin: center center;
}

#pass_change input[type=submit]
{
	width: 100% !important;
}

#contactos-gnc
{
	position: absolute;
	top: 154px;
	width: 80%;
	left: 50%;
	transform: translateX(-50%);
}

.card-contacto
{
	width: 100%;
	padding: 10px 10px;
	height: 90px;
	background-color: #ffffff;
	border: 1px solid #072747;
	cursor: pointer;
}

.card-contacto::before
{
	content: "";
	position: relative;
	top: 9px;
	left: -10px;
	border-right: 20px solid transparent;
	border-top: 20px solid #072747;
	border-left: 0 solid #072747;
	border-bottom: 0 solid transparent;
}

.card-contacto:hover
{
	border: 1px solid #66cbba;
}

.card-contacto:hover::before
{
	border-top: 20px solid #66cbba;
	border-left: 0 solid #66cbba;
}

.card-contacto .card-body
{
	position: absolute;
	text-align: start;
}

.text_row
{
	position: relative;
	width: 80%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.text_row p:nth-child(2)
{
	text-align: right;
}

.repos_uau
{
	top: 143px !important;
}

.centrar_items
{
	display: flex;
	justify-content: center;
}

.tabla
{
	position: relative;
	margin: 20px 0 0 0;
	width: 80%;
	height: fit-content;
	background-color: white;
	border: 1px solid #072747;
}

.tabla::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 10px solid transparent;
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
	border-bottom: 10px solid transparent;
}

.tabla thead
{
	position: relative;
	border-bottom: 1px #072747 solid;
}

.tabla thead::after
{
	content: "";
	position: absolute;
	bottom: 0;
	transform: translateY(-50%);
	right: 0;
	height: 1px;
	width: 100%;
	background-color: #072747;
}

.tabla th
{
	padding: 10px;
}

.tabla tr:last-child
{
	border-bottom: transparent;
}

.tabla tr td
{
	position: relative;
	padding: 10px;
	text-align: end;
}

.tabla tr td::after
{
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	width: 1px;
	height: 75%;
	background-color: #072747;

}

.tabla tr td:last-child::after
{
	display: none;
}

.card-info
{
	position: relative;
	width: 95%;
	height: fit-content;
	background-color: white;
	border: 1px solid #072747;
	margin-top: 15px;
	padding: 10px 20px;
	color: #072747;
}

.card-info::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 10px solid transparent;
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
	border-bottom: 10px solid transparent;
}

ion-icon
{
	font-size: 1.25rem;
	font-weight: bolder;
}

.delete-card
{
position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #072747;
	border: none;
	cursor: pointer;
}

.delete-card ion-icon
{
	color: #ffffff;
	font-size: 1.5rem;
}

.link
{
	background-color: #072747;
	color: #ffffff;
	border: none;
	cursor: pointer;
	padding: 10px 20px;
	text-transform: uppercase;
	text-align: center;
	width: fit-content;
	margin: 20px auto 0 auto;
}

#admin-body *
{
	font-family: 'Inter', sans-serif;
}

#admin-body main
{
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	background-color: rgba(7, 39, 71, 0.1);
}

#delete_user, #reset_user
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	text-transform: uppercase;
	font-size: 1rem;
	color: #FFFFFF;
	background-color: #072747;
	font-weight: 500;
}

#create_user main
{
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
}

#create_user_form
{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 80%;
	background-color: white;
	border: 1px solid #072747;
	margin: 4rem 0;
	padding: 1rem 0;
}

#create_user_form::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 10px solid transparent;
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
	border-bottom: 10px solid transparent;
}

#create_user_form select
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	color: #072747;
	font-weight: 500;
}

#create_user_form input[type="file"]
{
	display: none;
}

#create_user_form>label>label:not(#ruta_imagen)
{
	width: 100%;
	height: 40px;
	margin: 10px 0;
	border: 1px solid #072747;
	background-color: #ffffff;
	color: #072747;
	cursor: pointer;
	text-transform: uppercase;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

#ruta_imagen
{
	width: 100% !important;
	height: 40px;
	margin: 10px 0;
	border: 1px solid #072747;
	background-color: #ffffff;
	color: #072747;
	display: flex;
	justify-content: start;
	align-items: center;
	overflow: scroll;
}

label ::-webkit-scrollbar
{
	display: none;
}

#create_user_form label
{
	width: 80%;
	margin-top: 1rem;
}

section
{
	position: relative;
	width: 90%;
	border: 1px solid #072747;
	padding: 1rem 1rem;
	background-color: white;
}

section::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 10px solid transparent;
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
	border-bottom: 10px solid transparent;
}

#user-actions
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#user-actions a
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	background-color: #072747;
	color: #ffffff;
	font-family: 'Inter', sans-serif;
	cursor: pointer;
	text-transform: uppercase;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

#report-generator
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 3.5rem;
	margin-bottom: 1rem;
}

#report-generator>form
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
}

#report-generator>form label
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#report-generator>form input[type="datetime-local"]
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
}

.row input, .row button
{
  width: 80%;
	height: 40px;
	margin: 10px;
	padding: 0 10px;
	border: 1px solid #072747;
}

.row button
{
	font-size: 1rem;
}

.danger
{
	border: none !important;
	background-color: #800008 !important;
	color: #ffffff;
}

form .container
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80%;
}

form .container button
{
	width: calc(100% - 270px);
	height: calc(100% - 20px);
	padding: 10px 10px;
	border: 1px solid #072747;
	background-color: #072747;
	color: #ffffff;
	cursor: pointer;
}

form .container button ion-icon
{
	font-size: 4rem;
}

form .container .wrapper
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: start;
	width: 100%;
}

form .container .wrapper label
{
	width: 100% !important;
}

.center-col
{
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
}

.adjust-btn
{
	position: relative;
	left: -45%;
}

#export
{
	width: 95%;
	margin: 20px 0;
	padding: 20px 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.5rem;
	background-color: #072747;
	color: #ffffff;
	font-weight: 500;
}

#admin-footer
{
	display: flex;
	justify-content: center;
	align-items: center;
}

#admin-footer a
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#admin-footer a span
{
	color: white;
}

#resumen-card
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 40%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: start;
}

#resumen-card p
{
	width: 100%;
	font-size: 1.5rem;
}

#resumen-card p span
{
	float: right;
}

#user
{
	cursor: pointer;
}

#lb_usuario
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#usuario
{
	cursor: auto;
}

#lb_pass
{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* ---- ESTILOS GLOBALES ---- */

.text-center
{
	margin-top: 1rem;
	text-align: center;
}

dialog
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 570px;
	height: fit-content;
	padding: 20px;
	background-color: #ffffff;
	border: 1px solid #072747;
	z-index: 100;
}

dialog h1
{
	text-align: center;
	font-size: 2.5rem;
}

dialog form div
{
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-top: 30px;
}

dialog form div button
{
	background-color: #072747;
	color: #ffffff;
	border: none;
	cursor: pointer;
	padding: 10px 20px;
}

dialog form div button.btn-delete
{
	background-color: #FFFFFF;
	color: #072747;
	border: 1px solid #072747;
	transition: background-color 0.2s ease;
}

dialog form div button.btn-delete:hover
{
	background-color: #470707;
	color: #ffffff;
}

dialog::before
{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-right: 10px solid transparent;
	border-top: 10px solid #072747;
	border-left: 10px solid #072747;
	border-bottom: 10px solid transparent;
}

#card-container
{
	overflow-y: auto;
}

.r-180
{
	transform: rotate(180deg);
}

.text_red
{
color: #ff0019;
}

.text_right
{
	text-align: right;
}

.oculto
{
	display: none;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="password"],
.input_like
{
	width: 80%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
}

select
{
	width: 100%;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
	font-family: 'Inter', sans-serif;
	color: #072747;
	font-weight: 500;
}

select:focus
{
	outline: none;
	border: 1px solid #66cbba;
	font-family: 'Inter', sans-serif;
	color: #072747;
}

option
{
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	height: 40px;
	margin: 10px 0;
	padding: 0 10px;
	border: 1px solid #072747;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
.input_like:focus
{
	outline: none;
	border: 1px solid #66cbba;
}

.error h1
{
	font-size: 1.5rem;
}

.warning h1
{
	font-size: 1.5rem;
}

.no-b-rl
{
	border-right: transparent !important;
	border-left: transparent !important;
}

.w-full
{
	width: 80%;
}

.p_abs
{
	position: absolute;
}

.p_rel
{
	position: relative;
}

.flex
{
	display: flex;
}

.flex-col
{
	display: flex;
	flex-direction: column;
}

.jc-start
{
	justify-content: start;
}

.ai-center
{
	align-items: center;
}

.is-invalid
{
	border: 1px solid #ff0019 !important;
}

.secondary-link
{
	color: #072747;
	border: 1px solid #072747;
	padding: 10px 20px;
	text-transform: uppercase;
	width: 50%;
}

/* ---- ANIMATION APPLIERS ---- */

.fadeIn
{
	animation: fadeIn 0.5s ease;
	animation-fill-mode: forwards;
}

.fadeOut
{
	animation: fadeOut 0.5s ease;
	animation-fill-mode: forwards;
}

.bounce:hover
{
	animation: bounce 0.4s ease;
	animation-fill-mode: forwards;
}

.bounce-sm:hover
{
	animation: bounce-sm 0.4s ease;
	animation-fill-mode: forwards;
}

.zoomIn
{
	animation: zoomIn 0.5s ease;
	animation-fill-mode: forwards;
}

.zoomOut
{
	animation: zoomOut 0.5s ease;
	animation-fill-mode: forwards;
}

.dialog_row
{
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.dialog_row button
{
	background-color: #072747;
	color: #ffffff;
	border: none;
	cursor: pointer;
	width: 48%;
	padding: 1rem;
	font-size: 1.2rem;
	text-transform: uppercase;
}
/* ---- ANIMATIONS ---- */

@keyframes InOut
{
	0%
	{
		top: -100%;
	}
	
	25%
	{
		top: 1%;
	}
	
	75%
	{
		top: 1%;
	}
	
	100%
	{
		top: -100%;
	}
}

@keyframes bounce
{
	0%
	{
		transform: translate(0, 0);
		box-shadow: 0 0 0 0 rgba(0,0,0,0.5);
	}
	
	50%
	{
		transform: translate(-10px, -10px);
		box-shadow: 20px 20px 0 0 rgba(0,0,0,0.5);
	}
	
	100%
	{
		transform: translate(-5px, -5px);
		box-shadow: 10px 10px 0 0 rgba(0,0,0,0.5);
	}
}

@keyframes bounce-sm
{
	0%
	{
		transform: translate(0, 0);
		box-shadow: 0 0 0 0 rgba(0,0,0,0.5);
	}
	
	50%
	{
		transform: translate(-5px, -5px);
		box-shadow: 10px 10px 0 0 rgba(0,0,0,0.5);
	}
	
	100%
	{
		transform: translate(-2.5px, -2.5px);
		box-shadow: 5px 5px 0 0 rgba(0,0,0,0.5);
	}
}

@keyframes fadeIn
{
	0%
	{
		opacity: 0;
	}
	
	100%
	{
		opacity: 1;
	}
}

@keyframes fadeOut
{
	0%
	{
		opacity: 1;
	}
	
	100%
	{
		opacity: 0;
	}
}

@keyframes zoomIn
{
	0%
	{
		scale: 0;
	}
	
	50%
	{
		scale: 1.05;
	}
	
	100%
	{
		scale: 1;
	}
}

@keyframes zoomOut
{
	0%
	{
		scale: 1;
	}
	
	50%
	{
		scale: 1.05;
	}
	
	100%
	{
		scale: 0;
	}
}

/* ---- RESPONSIVE ---- */

@media (max-width: 600px)
{
	body
	{
		width: 100%;
	}
	
	main
	{
		overflow: auto;
		height: calc(100% - 160px);
	}
	
	.card
	{
		width: calc(100% - 20px) !important;
	}
	
	label
	{
		font-size: 14px;
	}
	
	footer
	{
		height: 80px;
	}
	
	aside
	{
		width: 100%;
		height: 50vw;
		transform: translateZ(-10000px) scale(11) translateY(-225px);
	}
	
	.p_container
	{
		height: calc(100% - 80px);
	}
	
	.edit_img
	{
		opacity: 1;
		width: 40px;
		height: 40px;
		bottom: 30px;
	}
	
	.edit_img img
	{
		opacity: 1;
		width: 30px!important;
		height: 30px!important;
	}
	
	.card-info:last-child
	{
		margin-bottom: 20px;
	}
	
	#report-generator .container
	{
		flex-direction: column;
	}
	
	#report-generator .container button
	{
		width: 100%;
	}
}

@media (max-width: 380px)
{
	main form#gnc
	{
		top: 85px;
	}
	
	.ref
	{
		margin: 120px 0;
	}
}