/*
Theme Name: Neo Salud
Theme URI: https://neosalud.com.ar
Version: 1.0
Author: bellop.io
Author URI: https://bellop.io
*/

:root,
[data-bs-theme=light]{

	/* Defaults */
	--header-min-height: 65px;	

	/* Colors */
	--bs-heading-color: inherit; /* H1, H2 colors */

    --bs-body-color:  #00274C; /* 002844 */
    --bs-secondary-color: #1B3349;
    --bs-body-bg: #FDFCF9;

    --bs-font-monospace: "Roboto Mono", monospace;

	--bs-primary: #BAD800; 
	--bs-primary-rgb: 186,216,0; /* rgba(186, 216, 0, 1) */
	--bs-secondary: #0094DA;
	--bs-secondary-rgb: 0, 148, 218; /* rgba(0, 148, 218, 1)*/

    --bs-white: #fff;

    --bs-light: #F2F2F2;
    --bs-light-rgb: 242, 242, 242;

	--bs-black: #000;

    --bs-dark: #00274C;
    --bs-dark-rgb: 0, 39, 76; /*rgba(0, 39, 76, 1)*/

	--bs-gray: #cacaca;

	/* Links */
    --bs-link-color: #0d6efd;
    --bs-link-color-rgb: 13,110,253;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10,88,202;

    /* BS Borders */
    --bs-border-width: 1px;
/*    --bs-border-color: #fc3f50;*/
    --bs-border-radius: 30px;

}

@media screen and (min-width:1200px){
	:root,
	[data-bs-theme=light]{
		--header-min-height: 90px;
		--header-fixed-min-height: 70px;
	}
}

/* Animate */

@keyframes bounce{
	0% {
		transform: translate3d(0, 0, 0);
	}
	45% {
		transform: translate3d(0, -18px, 0);
	}
	70% {
		transform: translate3d(0, 5px, 0);
	}
	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes dropDown{
	0% {
		opacity: 0;
		transform: translate3d(0, -30px, 0) scaleY(.85);
	}
	70% {
		opacity: 1;
		transform: translate3d(0, 5px, 0) scaleY(1.03);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) scaleY(1);
	}
}

@keyframes slideInDown{
	from {
		opacity: 0;
		transform: translate3d(0, -70px, 0);
		visibility: visible;
	}
	to {
		opacity: var(--wow-opacity, 1);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeIn{
	from {
		opacity: 0;
		transform: translate3d(0, 25px, 0) scale(.98);
	}
	to {
		opacity: var(--wow-opacity, 1);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes fadeInUp{
	0% {
		opacity: 0;
		transform: translate3d(0, 80px, 0) scale(.96);
	}
	70% {
		opacity: 1;
		transform: translate3d(0, -6px, 0) scale(1.01);
	}
	100% {
		opacity: var(--wow-opacity, 1);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes fadeInLeft{
	0% {
		opacity: 0;
		transform: translate3d(-90px, 20px, 0) rotate(-2deg) scale(.96);
	}
	70% {
		opacity: 1;
		transform: translate3d(6px, 0, 0) rotate(.3deg) scale(1.01);
	}
	100% {
		opacity: var(--wow-opacity, 1);
		transform: translate3d(0, 0, 0) rotate(0) scale(1);
	}
}

@keyframes fadeInRight{
	0% {
		opacity: 0;
		transform: translate3d(90px, 20px, 0) rotate(2deg) scale(.96);
	}
	70% {
		opacity: 1;
		transform: translate3d(-6px, 0, 0) rotate(-.3deg) scale(1.01);
	}
	100% {
		opacity: var(--wow-opacity, 1);
		transform: translate3d(0, 0, 0) rotate(0) scale(1);
	}
}

@keyframes zoomInUp{
	0% {
		opacity: 0;
		transform: translate3d(0, 70px, 0) scale(1.18) rotate(1.5deg);
	}
	100% {
		opacity: var(--wow-opacity, 1);
		transform: translate3d(0, 0, 0) scale(1) rotate(0);
	}
}

@keyframes zoomIn{
	0% {
		opacity: 0;
		transform: scale(.88) rotate(-1deg);
	}
	65% {
		opacity: 1;
		transform: scale(1.025) rotate(.2deg);
	}
	100% {
		opacity: var(--wow-opacity, 1);
		transform: scale(1) rotate(0);
	}
}


/* Base */

.wow{
	visibility: hidden;
	opacity: 0;
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(.22, 1, .36, 1);
	animation-play-state: paused;
	will-change: opacity, transform;
}

.wow.slow{
	animation-duration: 1.8s;
}

.wow.fadeIn{
	animation-duration: 1.1s;
}

.wow.fadeInUp,
.wow.fadeInLeft,
.wow.fadeInRight{
	animation-duration: 1.15s;
}

.wow.zoomIn,
.wow.zoomInUp{
	animation-duration: 1.25s;
}

.wow.is-visible{
	visibility: visible;
	animation-play-state: running;
}

.fadeIn{ animation-name: fadeIn; }
.fadeInUp{ animation-name: fadeInUp; }
.fadeInLeft{ animation-name: fadeInLeft; }
.fadeInRight{ animation-name: fadeInRight; }
.zoomInUp{ animation-name: zoomInUp; }
.zoomIn{ animation-name: zoomIn; }

/* Utilities */

.has-primary-color,
.text-primary{ 
	color: var(--bs-primary) !important; 
}

.has-secondary-color,
.text-secondary{ 
	color: var(--bs-secondary) !important; 
}

.has-primary-background-color,
.bg-primary{ 
	background: var(--bs-primary) !important; 
}

.has-secondary-background-color,
.bg-secondary{ 
	background: var(--bs-secondary) !important; 
}

.has-white-background-color,
.bg-white{
	background: var(--bs-white) !important; 
}

.has-dark-background-color,
.bg-dark{
	background: var(--bs-dark) !important; 
}

.has-black-background-color,
.bg-black{
	background: var(--bs-black) !important; 
}

.has-light-background-color,
.bg-light{
	background: var(--bs-light) !important;
}

/* 3. Structure */

html{
	scroll-behavior: smooth;
}

body{
	font-size: 16px;
	font-weight: 400;
	font-family: "Rethink Sans", sans-serif;
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
}

/*body.header-fixed{
	padding-top: var(--header-min-height);
}*/

a{
	color: inherit;
	text-decoration: none;
	transition: 0.3s all;
}

h1, h2, h3, h4, h5, h6{
	font-weight: 600;
	line-height: 1.12em;
}

h1 { font-size: 30px; }
h2 { font-size: 28px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

@media screen and (min-width: 992px) {
	h1 { font-size: 34px; }
	h2 { font-size: 30px; }
	h3 { font-size: 26px; }
	h4 { font-size: 22px; }
	h5 { font-size: 20px; }
	h6 { font-size: 18px; }
}

b, strong {
    font-weight: 700;
}

button {
    box-shadow: none;
    border: none;
    background: transparent;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.ratio-4x3 {
	aspect-ratio: 4 / 3;	
}
.ratio-4x3 img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.opacity-60 {
	--wow-opacity: 0.6;
	opacity: var(--wow-opacity);
}
.opacity-80 {
	--wow-opacity: 0.8;
	opacity: var(--wow-opacity);
}

/* 4. Structure > Framework */

.main {
	width: 100%;
	min-height: 80svh;
	overflow: hidden;
}

.container,
.container-fluid{
	width: 100%;
	max-width: 100%;
}
.container{
	max-width: 1600px;
}
.container-fluid{
	max-width: 1920px;
}

@media screen and (min-width: 992px){
	.col-lg-5-2{
		-ms-flex: 0 0 20%;
	    flex: 0 0 20%;
	    max-width: 20%;
	}
}

@media screen and (min-width: 1440px){
	.container,
	.container-fluid{
		padding: 0 70px;
	}
}

/* Structure > extras */

.overh{
	overflow: hidden;
}

#pageloader{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--bs-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2em;
	transition: opacity 0.5s ease-in-out;
	z-index: 1000;
	opacity: 0;
	pointer-events: none;
}
#pageloader.show{
	opacity: 1;
	pointer-events: all;
}

.grecaptcha-badge{
	opacity:0;
}


/* Components > buttons */

.btn{
	font-family: var(--bs-font-monospace);
	min-width: 112px;
	--bs-btn-padding-x: 30px;
	--bs-btn-padding-y: 10px;
	--bs-btn-font-weight: 400;
	border-radius: 10px;
	text-transform: uppercase;
}
.btn i{
	vertical-align: -1px;
	font-size: 18px;
	margin-right: 6px;
}

@media screen and (max-width: 576px){
	.btn-block-mobile{
		width: 100%;
	}
}

.btn-primary{
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-color: var(--bs-dark);
    --bs-btn-border-color: var(--bs-primary);

    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-color: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);

    --bs-btn-active-bg: var(--bs-light);
    --bs-btn-active-color: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
}
.btn-outline-primary{
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--bs-white);
    --bs-btn-border-color: var(--bs-primary);

    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-light);
    --bs-btn-hover-border-color: var(--bs-primary);

    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-color: var(--bs-light);
    --bs-btn-active-border-color: var(--bs-primary);
}

.btn-secondary{
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-color: var(--bs-light);
    --bs-btn-border-color: var(--bs-secondary);

    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-color: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);

    --bs-btn-active-bg: var(--bs-light);
    --bs-btn-active-color: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
}
.btn-outline-secondary{
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);

    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-color: var(--bs-light);
    --bs-btn-hover-border-color: var(--bs-secondary);

    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-color: var(--bs-light);
    --bs-btn-active-border-color: var(--bs-secondary);
}

.btn-outline-dark{
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--bs-dark);
    --bs-btn-border-color: var(--bs-dark);

    --bs-btn-hover-bg: var(--bs-dark);
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-border-color: var(--bs-dark);

    --bs-btn-active-bg: var(--bs-dark);
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-border-color: var(--bs-dark);
}

.btn-dark{
    --bs-btn-bg: var(--bs-dark);
    --bs-btn-color: var(--bs-white);
    --bs-btn-border-color: var(--bs-dark);

    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-color: var(--bs-dark);
    --bs-btn-hover-border-color: var(--bs-primary);

    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-color: var(--bs-dark);
    --bs-btn-active-border-color: var(--bs-primary);
}


/***/

.btn-glass{	
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(135deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.10) 40%, rgba(244,250,210,.20) 100%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	backdrop-filter: blur(14px) saturate(125%);
	box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -1px 2px rgba(255,255,255,.12), 0 8px 24px rgba(20,35,0,.16);
	transition: background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.btn-glass::before{
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 5%;
	width: 90%;
	height: 55%;
	border-radius: inherit;
	background: linear-gradient(to bottom, rgba(255,255,255,.28), rgba(255,255,255,0));
	filter: blur(5px);
	pointer-events: none;
}
.btn-glass::after{
	content: "";
	position: absolute;
	z-index: -1;
	top: -90%;
	left: -30%;
	width: 65%;
	height: 280%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.20), transparent);
	transform: rotate(-45deg);
	filter: blur(8px);
	opacity: .8;
	pointer-events: none;
	transition: transform .5s ease;
}
.btn-glass:hover{
	color: #fff;
	background: linear-gradient(135deg, rgba(186,216,0,.30), rgba(255,255,255,.16));
	box-shadow: inset 0 1px 2px rgba(255,255,255,.75), inset 0 -1px 2px rgba(186,216,0,.20), 0 10px 30px rgba(20,35,0,.22);
	transform: translateY(-2px);
}
.btn-glass:hover::after{
	transform: translateX(170%) rotate(-45deg);
}

/**/
.btn-whatsapp{
	width: 51px;
	height: 51px;
	background: #01C501;
	color: var(--bs-white);
	text-align: center;
	align-content: center;	
	padding: 0;
	min-width: 51px;
	border-radius: 100px;
}
.btn-whatsapp i{
	font-size: 34px;
	line-height: 1em;
	margin: 0;
}

.btn-whatsapp:hover{
	color: #01C501;
	background: var(--bs-white);
}

/**/
.see-more{
	font-family: var(--bs-font-monospace);
	text-transform: uppercase;
}

/* Buttons Float */

.btn-float{
    position: fixed;
    right: 15px;
    bottom: calc(15px + var(--btn-float-index, 0) * 65px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    font-size: 30px;
    text-align: center;
    z-index: 9999;
    border-radius: 50%;
    box-shadow: 0 0 15px 0 rgba(0,0,0,0.1);
    transition: 0.3s all;
}
.btn-float-right{
	right: 15px;
	left: auto;
}
.btn-float-left{
	left: 15px;
	right: auto;
}

@media screen and (min-width:768px){
	.btn-float{
		right: 30px;
		bottom: calc(30px + var(--btn-float-index, 0) * 90px);
	    width: 70px;
	    height: 70px;
	    font-size: 40px;
	}
	.btn-float-right{
		right: 30px;
		left: auto;
	}
	.btn-float-left{
		left: 30px;
		right: auto;
	}
}

.btn-float-edit{
	width: auto;
	height: auto;
	font-size: 16px;
	border-radius: 25px;
    padding: 10px 15px;
    font-weight: 500;
    color: #fff;
    background: rgba(0,0,0,0.75);
    opacity: 0.95;
}
.btn-float-edit:hover{
    background: var(--bs-primary);
    color: #fff;
}

.btn-float-whatsapp{
    color: #fff;
    background: #25D366;
}
.btn-float-whatsapp:hover{
    background: #fff;
    color: #25D366;
}

.btn-float-menu{
	position: fixed;
	bottom: calc(15px + var(--btn-float-index, 0) * 65px);
	z-index: 9999;
}
.btn-float-menu-right{
	right: 15px;
}
.btn-float-menu-left{
	left: 15px;
}
.btn-float-menu .btn-float{
	position: static;
	border: 0;
	cursor: pointer;
}
.btn-float-menu.is-open .btn-float-whatsapp{
	animation: bll-whatsapp-pop .32s cubic-bezier(.2,.9,.25,1.25);
	box-shadow: 0 0 0 8px rgba(37,211,102,.14), 0 8px 24px rgba(37,211,102,.32);
}
.bll-whatsapp-options{
	position: absolute;
	bottom: calc(100% + 12px);
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: max-content;
	min-width: 220px;
	max-width: min(320px, calc(100vw - 30px));
	padding: 10px;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 8px 30px rgba(0,0,0,.18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(14px) scale(.95);
	transition: opacity .2s ease, transform .28s ease, visibility 0s linear .28s;
	will-change: opacity, transform;
}
.btn-float-menu-right .bll-whatsapp-options{
	transform-origin: bottom right;
}
.btn-float-menu-left .bll-whatsapp-options{
	transform-origin: bottom left;
}
.btn-float-menu.is-open .bll-whatsapp-options{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	transition: none;
	animation: bll-whatsapp-panel-in .56s cubic-bezier(.16,1,.3,1) both;
}
.btn-float-menu-right .bll-whatsapp-options{
	right: 0;
}
.btn-float-menu-left .bll-whatsapp-options{
	left: 0;
}
.bll-whatsapp-option{
	display: flex;
	align-items: center;
	padding: 10px 12px;
	color: var(--bs-dark);
	background: var(--bs-light);
	border-radius: 10px;
	font-size: 15px;
	line-height: 1.25;
	opacity: 0;
	transition: color .2s ease, background .2s ease, opacity .22s ease;
}
.btn-float-menu.is-open .bll-whatsapp-option{
	opacity: 1;
}
.btn-float-menu.is-open .bll-whatsapp-option:nth-child(2){
	transition-delay: .025s;
}
.btn-float-menu.is-open .bll-whatsapp-option:nth-child(3){
	transition-delay: .05s;
}
.btn-float-menu.is-open .bll-whatsapp-option:nth-child(4){
	transition-delay: .075s;
}
.btn-float-menu.is-open .bll-whatsapp-option:nth-child(n+5){
	transition-delay: .1s;
}
.bll-whatsapp-option:hover,
.bll-whatsapp-option:focus{
	color: #fff;
	background: #25D366;
}

@keyframes bll-whatsapp-pop{
	0%{ transform: scale(1); }
	50%{ transform: scale(.9); }
	78%{ transform: scale(1.06); }
	100%{ transform: scale(1); }
}

@keyframes bll-whatsapp-panel-in{
	0%{
		opacity: 0;
		transform: translateY(20px) scale(.9);
	}
	60%{
		opacity: 1;
		transform: translateY(-3px) scale(1.018);
	}
	78%{
		transform: translateY(1.5px) scale(.996);
	}
	90%{
		transform: translateY(-.5px) scale(1.002);
	}
	100%{
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce){
	.btn-float-menu .btn-float-whatsapp,
	.bll-whatsapp-options,
	.bll-whatsapp-option{
		animation: none !important;
		transition: none !important;
	}
}
@media screen and (min-width:768px){
	.btn-float-menu{
		bottom: calc(30px + var(--btn-float-index, 0) * 90px);
	}
	.btn-float-menu-right{
		right: 30px;
	}
	.btn-float-menu-left{
		left: 30px;
	}
}

.btn-float-phone,
.btn-float-email,
.btn-float-link{
    font-size: 22px;
    color: #fff;
    background: var(--bs-primary);
}
.btn-float-phone:hover,
.btn-float-email:hover,
.btn-float-link:hover{
    background: #fff;
    color: var(--bs-primary);
}

@media screen and (min-width:768px){
	.btn-float-phone,
	.btn-float-email,
	.btn-float-link{
		font-size: 30px;
	}
}

@media print{
	.btn-float,
	.btn-float-menu{
		display: none !important;
	}
}

/* Portal login */

.portal-login{
	position: relative;
	z-index: 2;
}
.portal-login__panel{
	position: relative;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	padding: 36px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0,39,76,.1);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(0,39,76,.14);
}

.portal-login__intro{
	margin-bottom: 26px;
}
.portal-login__intro h2{
	margin-bottom: 8px;
	font-size: clamp(28px, 4vw, 36px);
}
.portal-login__intro p{
	margin: 0;
	color: rgba(0,39,76,.68);
}
.portal-login-form .form-group > label:not(.form-check-label){
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 600;
}
.portal-login-form .input-group-text{
	width: 52px;
	justify-content: center;
	color: var(--bs-dark);
	background: rgba(0,39,76,.04);
	border-color: rgba(0,39,76,.14);
}
.portal-login-form .form-control{
	min-height: 52px;
	border-color: rgba(0,39,76,.14);
}

.portal-login-form__options{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
}
.portal-login-form__options .form-check-label{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	cursor: pointer;
}
.portal-login-form__options .form-check-input{
	margin: 0;
}
.portal-forgot-password{
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.portal-login__submit{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 52px;
	transition: transform .2s ease, box-shadow .2s ease;
}

/* Mandatory portal credentials setup */
.portal-credentials-gate{
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: 24px;
	overflow-y: auto;
}
.portal-credentials-gate__backdrop{
	position: fixed;
	inset: 0;
	background: rgba(0, 24, 48, .78);
	backdrop-filter: blur(8px);
}
.portal-credentials-gate__dialog{
	position: relative;
	z-index: 1;
	width: min(100%, 700px);
	padding: 42px;
	background: #fff;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 26px;
	box-shadow: 0 30px 90px rgba(0, 20, 42, .35);
	animation: portalCredentialsIn .48s cubic-bezier(.2, .85, .3, 1.12) both;
}

.portal-credentials-gate__icon{
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 18px;
	color: var(--bs-dark);
	background: rgba(190, 226, 0, .22);
	border-radius: 16px;
	font-size: 23px;
}
.portal-credentials-gate__intro{
	margin-bottom: 24px;
}
.portal-credentials-gate__intro .subtitle{
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.portal-credentials-gate__intro h2{
	margin-bottom: 9px;
	font-size: clamp(28px, 4vw, 38px);
}
.portal-credentials-gate__intro > p:last-child{
	margin: 0;
	color: rgba(0, 39, 76, .68);
}
.portal-credentials-form label{
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 600;
}
.portal-credentials-form .input-group-text{
	width: 50px;
	justify-content: center;
	background: rgba(0, 39, 76, .04);
	border-color: rgba(0, 39, 76, .14);
}
.portal-credentials-form .form-control{
	min-height: 52px;
	border-color: rgba(0, 39, 76, .14);
}
.portal-credentials-form .show_password{
	position: static;
	width: 48px;
	border: 1px solid rgba(0, 39, 76, .14);
	border-left: 0;
	border-radius: 0 26px 26px 0;
	background: #fff;
}
.portal-credentials-form__hint{
	margin: 0 0 14px;
	color: rgba(0, 39, 76, .62);
	font-size: 13px;
}
.portal-credentials-form__logout{
	display: block;
	margin-top: 14px;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.portal-credentials-gate .portal-alert{
	margin-bottom: 20px;
	padding: 12px 15px;
	color: #8a2430;
	background: #fff0f2;
	border: 1px solid #f5c2c7;
	border-radius: 12px;
}
html.portal-gate-open,
html.portal-gate-open body{
	overflow: hidden;
}
.portal-credentials-gate{
	overscroll-behavior: contain;
}
.portal-credentials-form .form-control.is-invalid{
	padding-right: .75rem;
	background-image: none;
}
.portal-credentials-form .input-group:has(.is-invalid) > *{
	border-color: #d63c4a;
}
.portal-field-error{
	margin: 6px 0 0 6px;
	font-size: 13px;
	color: #b42335;
}
.portal-password-rules{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	margin: -6px 0 6px;
	padding: 0;
	list-style: none;
}
.portal-password-rules li{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px 4px 7px;
	font-size: 13px;
	color: rgba(0, 39, 76, .7);
	background: rgba(0, 39, 76, .05);
	border-radius: 30px;
	transition: background-color .2s ease, color .2s ease;
}
.portal-password-rules li::before{
	content: '';
	width: 15px;
	height: 15px;
	background: no-repeat center / 9px 9px;
	border: 1.5px solid rgba(0, 39, 76, .3);
	border-radius: 50%;
	transition: background-color .2s ease, border-color .2s ease;
}
.portal-password-rules li.is-valid{
	color: var(--bs-dark);
	background: rgba(186, 216, 0, .25);
}
.portal-password-rules li.is-valid::before{
	background-color: var(--bs-dark);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23BAD800' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m3 8.5 3.5 3.5L13 4.5'/%3e%3c/svg%3e");
	border-color: var(--bs-dark);
}
.portal-login__submit.is-loading{
	opacity: .7;
	cursor: progress;
}
.page.portal .portal-notice{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 16px;
	padding: 14px 18px;
	color: var(--bs-dark);
	background: rgba(186, 216, 0, .18);
	border: 1px solid rgba(186, 216, 0, .7);
	border-radius: 15px;
}
.page.portal .portal-notice i{
	margin-top: 4px;
}
@keyframes portalCredentialsIn{
	from{ opacity: 0; transform: translateY(28px) scale(.96); }
	to{ opacity: 1; transform: translateY(0) scale(1); }
}
@media screen and (max-width: 575px){
	.portal-login__panel{
		padding: 28px 22px;
		border-radius: 18px;
	}
	.portal-login-form__options{
		align-items: flex-start;
		flex-direction: column;
	}
	.portal-credentials-gate{
		align-items: start;
		padding: 14px;
	}
	.portal-credentials-gate__dialog{
		padding: 30px 22px;
		border-radius: 20px;
	}
}


/* Structure */

.section{
	position: relative;
	padding: 35px 0;
}

@media screen and (min-width: 992px){
	.section{
		padding: 70px 0;
	}
}

/* Card */
.card {
	background: rgba(241, 241, 241, 0.2);
	border: 1px solid rgba(0, 39, 76, 0.3);
	border-radius: 20px;
	position: relative;
	    justify-content: space-between;
    align-items: flex-start;
	transition: all 0.3s ease;
	overflow: hidden;
}

.card a {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.card .data{
	padding: 35px 24px;
}

.card .see-more{
	border-top: 1px solid rgba(0, 39, 76, 0.3);
	padding: 24px 24px;
	width: 100%;
	transition: all 0.3s ease;
}
.card p {
	font-size: 17px;
}

@media screen and (min-width: 992px){
	.card p {
		font-size: 20px;
	}

	.card h2{
		font-size: 42px;
	}
}

/* Structure > Header */

.header{
	 position: absolute;
	top: 0;
	left: 0;
	width: stretch;
	min-height: var(--header-min-height);
	background: transparent;
	transition: 0.3s all;
	z-index: 999;
	align-content: center;
	margin: 0 30px;
	margin-top: 30px;

}
.header .container{
	max-width: 1460px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 15px;
	height: 67px;
	border: 1px solid rgba(255,255,255,.15);
    box-shadow:
        inset 1px 1px 0 rgba(255,255,255,.35),
        inset -1px -1px 0 rgba(255,255,255,.05),
        0 8px 32px rgba(0,0,0,.15);
    backdrop-filter: blur(5px);
    padding: 0 20px;

}
.header .logo{
	display: inline-block;
	max-width: 199px;
}

.header.fixed{
	position: fixed;
	margin-top: 0;
	z-index: 999;
    -webkit-animation: slideInDown 0.3s ease-out;
    -moz-animation: slideInDown 0.3s ease-out;
}

.header.fixed .container{
	background: rgb(1 6 31 / 40%);
}

/* Header > Navigation */

.header .nav-menu {
	position: relative;
	float: right;
	width: 35px;
	padding: 15px 0;
	cursor: pointer;
	z-index: 21;
	overflow: hidden;
}
.header .nav-menu .menu-line {
	float: right;
	display: block;
	width: 100%;
	height: 2px;
	margin: 4px 0;
	background: var(--bs-white);
	transition: 0.3s;
	border-radius: 6px;
}
.header.active .nav-menu .menu-line:nth-child(1) { transform: rotate(45deg); width: 40px; margin-top: 14px; }
.header.active .nav-menu .menu-line:nth-child(3) { transform: rotate(-45deg); width: 40px; margin-top: -16px; }
.header.active .nav-menu .menu-line:nth-child(2) { opacity: 0; }

.header .navigation {
	display: none;
	position: absolute;
	top: var(--header-min-height);
	left: 5%;
	width: 90%;
	margin: 0;
	text-align: center;
	background: rgba(0, 39, 76, 1); 
}
body.open-menu .header .navigation {
	display: block;
    border: 1px solid rgba(255,255,255,.15);
}
.header .navigation .menu {
	position: relative;
	color: var(--bs-white);

}
.header .navigation .menu li a {
	font-family: var(--bs-font-monospace);
	display: block;
	position: relative;
	padding: 13px 23px;
	font-size: 18px;
	font-weight: 400;
	text-transform: uppercase;
	background: transparent;
	border-radius: 10px;
}
.header .navigation .menu li.current-menu-item a,
.header .navigation .menu li a:hover{
	background: rgba(241, 241, 241, 0.3);
}

.header .navigation .menu li.btn {
	padding: 0;
	margin-top: 20px;
}
.header .navigation .menu li.btn a {
	padding: 8px 12px;
}

.header .navigation .menu li .sub-menu{
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}
.header .navigation .menu li.open-submenu > ul{
	display: block;
}

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

	.header .nav-menu {
		display: none;
	}

	.header .navigation{
		display: flex;
		align-items: center;
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		background: transparent;
        width: 100%;
	}
	.header .navigation ul,
	.header .navigation ul li {
		position: relative;
		display: inline-block;
		vertical-align: middle;
	}
	.header .navigation ul{
		margin: 0;
	}

	.header .navigation .menu {
        width: 100%;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 2px;
	}

	.header .navigation .menu li a {
		font-size: 16px;
	}

	.header .navigation .menu li.btn {
		margin-top: 0;
		margin-left: 40px;
	}

}

@media screen and (max-width: 1199.99px){
	.header {		
		margin:0 15px;
		margin-top: 20px;
	}

	.header.fixed{
		margin-top: 5px;
	}
	.header .navigation{
		box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
		backdrop-filter: blur(33px);
	}
	.header .navigation .menu li.active a,
	.header .navigation .menu li a:hover{
		background: var(--bs-primary);
		color: var(--bs-white);
	}

	.header .navigation ul li.open-submenu > ul{
		background: rgba(0,0,0,0.05);
	}
	.header .navigation ul li ul li a{
		padding-top: 6px;
		padding-bottom: 6px;
		font-size: 16px;
	}

}


/* Components > Forms */

label{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 8px;
}
.bg-primary label,
.bg-dark label{
	color: var(--bs-white);
}

.required{
	color: #ff0000;
}

.form-select,
.form-control{
	line-height: 1.8em;
}

.form-select:focus,
.form-control:focus{
    box-shadow: none !important;
    border-color: var(--bs-dark);
}
textarea.form-control{
	border-radius: 15px;
}

/* Form checkbox */

.form-check{
	display: inline-block;
}

.form-check-input:focus{
	box-shadow: none;
}
.form-check-input:checked{
	background-color: var(--bs-dark);
	border-color: var(--bs-dark);
}

input[type="checkbox"] ~ label,
input[type="radio"] ~ label{
	margin: 0;
	font-weight: 400;
}

/* Form files */

.input-file-group{
	position: relative;
	display: block;
	padding: 30px 15px;
	margin: 0;
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
	background-color: var(--bs-body-bg);
	border: var(--bs-border-width) dashed var(--bs-border-color);
	border-radius: 15px;
	cursor: pointer;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.input-file-group input{
	opacity: 0;
	width: 0;
}

.input-file-group .files{
	max-height: 100px;
	overflow: auto;
}
.input-file-group .files span{
	display: block;
	font-size: 12px;
	text-transform: uppercase;
}
.input-file-group:hover,
.input-file-group:focus{
	border-color: var(--bs-dark);
}

/* Forms > Show password */

.show_password{
	position: absolute;
	bottom: 0;
	right: 15px;
	padding: 15px;
}
.show_password.active,
.show_password:hover{
	color: #f58426;
}

/* Components > modals */

.modal{
	z-index: 99999;
}
.modal-backdrop{
	z-index: 9999;
}
.modal .modal-content{
	border: 0;
	border-radius: 0;
}

.modal .btn-close{
	position: absolute;
	top: -50px;
	right: 15px;
	width: 30px;
	height: 30px;
	padding: 0;
	background: url('assets/img/icons/icon-cross.svg') no-repeat center;
	background-size: contain;
	z-index: 10;
	opacity: 0.5;
}

@media screen and (min-width: 992px) {
	.modal .btn-close{
		top: 20px;
		right: -50px;
	}
}

#modalVideo .modal-content{
	background-color: #000;
}
#modalVideo .modal-body{
	padding: 0;
}
#modalVideo .btn-close{
	top: -40px;
	right: 0;
	color: #fff;
	font-size: 30px;
	filter: brightness(0) invert(1);
}

/* Components > socialmedia */

.socialmedia h4{
	font-size: 18px;
	line-height: 24px;
}

ul.socialmedia{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	gap: 5px;
	list-style: none;
}
ul.socialmedia li{
	display: inline-block;
	vertical-align: middle;
}
ul.socialmedia li a{
	display: block;
	font-size: 26px;
	padding: 5px;
}
ul.socialmedia li a:hover{
	color: var(--bs-primary);
}

@media screen and (min-width: 992px){	
	ul.socialmedia{
		justify-content: flex-start;
	}
	ul.socialmedia li a{
		font-size: 24px;
	}
}



/* Components > Slider  */

.slider{
	position: relative;
}
.slider .swiper.overflow{
	overflow: visible;
}
.swiper[data-continuous="true"] .swiper-wrapper {
	transition-timing-function: linear !important;
}
.swiper[data-continuous="true"] .swiper-slide {
	flex-shrink: 0;
}

.swiper[data-equal-height="true"] .swiper-wrapper {
    align-items: stretch;
}
.swiper[data-equal-height="true"] .swiper-slide {
    height: auto;
    display: flex;
}

/**/

.slider:has(.swiper-pagination){
    padding-bottom: 60px;
}
.swiper-pagination {
	bottom: 0;
}
.swiper-pagination.left {
    left: 0;
    width: fit-content;
}
.swiper-pagination-bullet{
	background: var(--bs-dark);
	opacity: 0.2;
}
.swiper-pagination-bullet-active {
	opacity: 1;
}
.swiper-button-next,
.swiper-button-prev{
	position: absolute;
	width: 48px;
	height: 48px;
    color: var(--bs-dark);
    background: transparent;
}

.swiper-button-next svg,
.swiper-button-prev svg{
    display: none;
}

.swiper-button-prev::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: currentColor;

	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23050A45' stroke='%23050A45' d='M12.008 4.687c.085 0 .159.026.241.108a.337.337 0 0 1 .108.249c0 .087-.026.16-.108.243l-6.361 6.361h13.41c.121 0 .197.036.26.1a.322.322 0 0 1 .097.252c0 .12-.034.192-.096.253a.339.339 0 0 1-.261.099H5.888l6.355 6.355c.082.081.11.158.111.25v.001a.301.301 0 0 1-.055.185l-.052.061a.31.31 0 0 1-.242.107.344.344 0 0 1-.256-.114L4.801 12.25a.416.416 0 0 1-.091-.125v-.001a.316.316 0 0 1-.023-.124c0-.048.008-.087.023-.122v-.001a.41.41 0 0 1 .09-.125l6.951-6.95a.348.348 0 0 1 .257-.114Z'/%3E%3C/svg%3E")
		no-repeat center / 24px 24px;

	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23050A45' stroke='%23050A45' d='M12.008 4.687c.085 0 .159.026.241.108a.337.337 0 0 1 .108.249c0 .087-.026.16-.108.243l-6.361 6.361h13.41c.121 0 .197.036.26.1a.322.322 0 0 1 .097.252c0 .12-.034.192-.096.253a.339.339 0 0 1-.261.099H5.888l6.355 6.355c.082.081.11.158.111.25v.001a.301.301 0 0 1-.055.185l-.052.061a.31.31 0 0 1-.242.107.344.344 0 0 1-.256-.114L4.801 12.25a.416.416 0 0 1-.091-.125v-.001a.316.316 0 0 1-.023-.124c0-.048.008-.087.023-.122v-.001a.41.41 0 0 1 .09-.125l6.951-6.95a.348.348 0 0 1 .257-.114Z'/%3E%3C/svg%3E")
		no-repeat center / 24px 24px;
}
.swiper-button-next::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: currentColor;

	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23050A45' stroke='%23050A45' d='M11.995 4.69c.071 0 .133.017.195.06l.061.053 6.948 6.948a.414.414 0 0 1 .091.125v.001a.314.314 0 0 1 .024.124.31.31 0 0 1-.024.122v.001a.41.41 0 0 1-.09.125l-6.955 6.948c-.091.09-.17.117-.253.117-.08 0-.153-.025-.236-.11l-.005-.006-.052-.06a.3.3 0 0 1-.056-.183c0-.065.014-.122.056-.182l.052-.06 6.361-6.361H4.702c-.122 0-.194-.036-.255-.096-.062-.061-.096-.134-.096-.256s.034-.195.095-.256h.001c.06-.06.133-.095.255-.096h13.41l-6.355-6.355a.347.347 0 0 1-.106-.185l-.005-.067c-.001-.09.025-.164.105-.244l.001-.001a.313.313 0 0 1 .243-.107Z'/%3E%3C/svg%3E")
		no-repeat center / 24px 24px;

	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23050A45' stroke='%23050A45' d='M11.995 4.69c.071 0 .133.017.195.06l.061.053 6.948 6.948a.414.414 0 0 1 .091.125v.001a.314.314 0 0 1 .024.124.31.31 0 0 1-.024.122v.001a.41.41 0 0 1-.09.125l-6.955 6.948c-.091.09-.17.117-.253.117-.08 0-.153-.025-.236-.11l-.005-.006-.052-.06a.3.3 0 0 1-.056-.183c0-.065.014-.122.056-.182l.052-.06 6.361-6.361H4.702c-.122 0-.194-.036-.255-.096-.062-.061-.096-.134-.096-.256s.034-.195.095-.256h.001c.06-.06.133-.095.255-.096h13.41l-6.355-6.355a.347.347 0 0 1-.106-.185l-.005-.067c-.001-.09.025-.164.105-.244l.001-.001a.313.313 0 0 1 .243-.107Z'/%3E%3C/svg%3E")
		no-repeat center / 24px 24px;
}

.circle.swiper-button-next,
.circle.swiper-button-prev{
	border: 1px solid var(--bs-dark);
	border-radius: 50%;
    background-size: 12px 20px;
}

.swiper-button-next:hover,
.swiper-button-prev:hover{
    background-color: var(--bs-dark);
    color: var(--bs-white);
}

.swiper-button-next.bottom,
.swiper-button-prev.bottom{
    top: auto;
    bottom: 0;
}
.swiper-button-prev.bottom {
    left: auto;
    right: 60px;
}
:is(.bg-dark, .bg-primary) :is(.circle.swiper-button-next, .circle.swiper-button-prev) {
	color: var(--bs-white);
	border-color: var(--bs-white);
}
:is(.bg-dark, .bg-primary) :is(.circle.swiper-button-next:hover, .circle.swiper-button-prev:hover) {
	background: var(--bs-white);
	border-color: var(--bs-white);	
}
.bg-primary :is(.circle.swiper-button-next:hover, .circle.swiper-button-prev:hover) {
	color: var(--bs-primary);
}
.bg-dark :is(.circle.swiper-button-next:hover, .circle.swiper-button-prev:hover) {
	color: var(--bs-dark);
}

:is(.bg-dark, .bg-primary) .swiper-pagination-bullet {
	background: var(--bs-white);
}


/* Categories Filter */

.categories-filter ul {
    margin: 0 -15px;
    padding: 0 15px;
    white-space: nowrap;
    overflow: auto;
    display: flex;
    gap: 16px;
}
.categories-filter ul li a {
    display: block;
    padding: 8px 22px;
    border: solid 1px var(--bs-primary);
    border-radius: 50px;
    position: relative;
}
.categories-filter ul li a.active,
.categories-filter ul li a:hover{
	background: var(--bs-primary);
	color: var(--bs-white);
}


/* Components > Title */

.title{
	position: relative;
	margin-bottom: 30px;
}

.title h1,
.title h2,
.title h3,
.title h4,
.title h5{
	margin: 0;
}

.title h1{
	font-size: 36px;
}
.title h2{
	font-size: 36px;
}
.title h3{
	font-size: 32px;
}
.title h4{
	font-size: 22px;
}
.title h5{
	font-size: 20px;
}
.title span{
	color: var(--bs-primary);
}
.title p:not(.subtitle){
	--wow-opacity: 0.8;
	margin: 0;
	margin-top: 8px;
	opacity: var(--wow-opacity);
}


.title .btn{
	margin-top: 20px;
}
.title .subtitle{
	font-size: 14px;
	font-family: var(--bs-font-monospace);
	margin-bottom: 8px;
	font-weight: 400;
	text-transform: uppercase;	
}

.title .description {
	font-size: 17px;
}
.title.lined{
	padding-bottom: 15px;
	border-bottom: 1px solid #262626;
}
.title.max-width{
	max-width: 595px;
}
.title.max-width-lg{
	max-width: 992px;
}

/**/
.title ul {
	list-style: none;
	padding-left: 0;
	margin-top: 12px;
}

.title ul li {
	position: relative;
	padding-left: 34px;
	font-size: 18px;
    line-height: 1.2em;
    margin-bottom: 20px;
}

.title ul li::before {
	content: '';
	position: absolute;
	top: 5px;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #BAD800;
	border: 3px solid #F0F5C7;
	box-sizing: border-box;
}


@media screen and (min-width: 992px){
	.title{
		margin-bottom: 50px;
	}
	.title h1{
		font-size: 60px;
	}
	.title h2{
		font-size: 48px;
	}
	.title h3{
		font-size: 40px;
	}
	.title h4{
		font-size: 24px;
	}
	.title h5{
		font-size: 22px;
	}
	.title p:not(.subtitle){
		margin-top: 24px;
	}
	.title .subtitle{
		font-size: 16px;
		margin-bottom: 12px;
	}
	.title .description {
		font-size: 19px;
	}
	.title .lead {
		font-size: 24px;
	}
	.title .btn{
		margin-top: 50px;
	}

	/**/
	.title ul {
		margin-top: 20px;
	}
	.title ul li {
		font-size: 24px;
	}

}

/* Components > Video Player */

.video-player{
	position: relative;
	width: 100%;
	padding: 25% 0;
	background: #000 no-repeat center;
	background-size: cover;
}
.video-player .play{
	display: none;
	position: absolute;
	top: calc(50% - 30px);
	left: calc(50% - 30px);
	width: 60px;
	height: 60px;
	font-size: 24px;
	line-height: 60px;
	text-align: center;
	background: var(--bs-primary);
	color: #fff;
	border-radius: 50%;
	transition: 0.3s all;
	cursor: pointer;
}
.video-player.active .play,
.video-player:hover .play{
	background: var(--bs-primary);
	color: #fff;
}
.video-player .play:hover{
	transform: scale(1.1);
}
.video-player .play i{
	margin-left: 4px;
}

.video-player.allowed{
	cursor: pointer;
}
.video-player.allowed .play{
	display: block;
}

/* Components > Pagination */

.pagination {
	justify-content: center;
	width: 100%;
	padding: 60px 0 0;
	text-align: center;
}
.pagination .screen-reader-text {
	display: none;
}
.pagination .page-numbers {
	display: inline-block;
	vertical-align: middle;
	padding: 6px 12px;
	font-size: 18px;
}
.pagination .page-numbers:hover{
	color: var(--bs-primary);
}
.pagination .page-numbers.current{
	font-weight: bold;
	color: var(--bs-primary);
}

@media screen and (min-width: 992px) {
	.pagination .page-numbers {
		font-size: 22px;
	}
}


/* Components > Share */

.share  {
	margin: 40px 0;
    padding: 20px 0;
    border-top: solid 1px #36373A;
    border-bottom: solid 1px #36373A;
}
.share ul {
	display: flex;
	align-items: center;
	margin: 0;
}
.share ul li a{
	display: block;
	padding: 8px;
	font-size: 26px;
	color: var(--bs-primary);
}
.share ul li a:hover{
	color: var(--bs-secondary);
}

@media screen and (min-width: 992px){
	.share ul li a{
		font-size: 32px;
	}
}

/* Components > Errors */

.error{
	text-align: center;
	padding: 30px 0;
}
.error.error-nologued {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60svh;
}

.error .smile {
	margin: 0;
	font-size: 50px;
	transform: rotate(90deg);
	color: var(--bs-primary);
}
@media screen and (min-width: 992px){
	.error .smile {
		font-size: 80px;
	}
}



/*
	Modules
*/

/* Module > Presentation */

.presentation .wrapper{
	position: relative;
	display: flex;
	align-items: center;
	height: calc(100svh - 30px);
	min-height: 400px;
	padding: 30px 0;
	background: var(--bs-dark) no-repeat bottom;
	background-size: cover;
	margin: 8px;
	border-radius: 30px;
	overflow: hidden;
}
.presentation .container{
	position: relative;
	z-index: 2;
}


.presentation .title {
	max-width: 1200px;
	color: var(--bs-white);
}

.presentation .title p:not(.subtitle){
	font-size: 18px;
	max-width: 980px;
}


.presentation video{
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.presentation .line{
	content: '';
	position: absolute;
	width: calc(100% - 32px);
	max-width: 1440px;
	height: 2px;
	left: 50%;
	bottom: 55px;
	transform: translateX(-50%);
	background: rgba(186, 216, 0, 0.3);
}

.presentation .line:before{
	content: '';
	position: absolute;
	width: 20%;
	height: 2px;
	background: var(--bs-primary);
}

@media screen and (min-width: 992px) {
	.presentation .wrapper{
		margin: 15px;
	}
	
    .presentation .title p:not(.subtitle){
    	font-size: 32px;
    }
	.presentation .title h1{
		font-size: 80px;
	}
}


/* Modules > Banner */

.banner .wrapper{
	position: relative;
	display: flex;
	align-items: center;
	background-color: var(--bs-dark);
	padding: 180px 0 55px 0;
	min-height: 350px;
	border-radius: 30px;
	overflow: hidden;
	margin: 8px;
}
.banner .bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.banner .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.banner .title{
	position: relative;
	max-width: 90%;
	margin: 0;
	color: var(--bs-white);
	z-index: 2;
}

.banner .title p{
	max-width: 1200px;
}

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

	.banner{
		min-height: 400px;
	}
	.banner .wrapper{
		margin: 15px;
	}

	.banner .title p:not(.subtitle) {
    	font-size: 32px;
    }
}


/* Module > Tab Menu */

.module-tabs .tabs {
	min-height: 55px;
	/*box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);*/
}
.module-tabs .tabs ul {
    margin: 0 -15px;
    padding: 0 15px;
    white-space: nowrap;
    overflow: auto;
    display: flex;
    justify-content: center;
    border-bottom: solid 1px #CACACA;
}
.module-tabs .tabs ul li a {
    display: block;
    padding: 15px 12px;
    position: relative;
}
.module-tabs .tabs ul li a.active,
.module-tabs .tabs ul li a:hover{
	color: var(--bs-primary);
}

.module-tabs .tabs ul li a:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 1px;
    background: var(--bs-primary);
    transition: 0.3s all;
}
.module-tabs .tabs ul li.current-menu-item a:before,
.module-tabs .tabs ul li a.active:before,
.module-tabs .tabs ul li a:hover:before{
    left: 10%;
    width: 80%;
}
.module-tabs .tabs.fixed{
	position: fixed;
	top: 70px;
	width: 100%;
	z-index: 1;
	box-shadow: 0px 5px 5px 0 rgb(0 0 0 / 0.05);
}

/* Modules > Faqs */

.module-accordion .items .item{
	position: relative;
	border-bottom: solid 1px rgba(0, 39, 76, 0.6);
	padding: 23px 0;
}
.module-accordion .items .item .question{
	position: relative;
	display: inline-flex;
	width: 100%;
	font-size: 18px;
	font-weight: 700;
	padding-right: 50px;

}

.module-accordion .items .item .question .year {
	color: var(--bs-secondary);
	min-width: 70px;
    display: inline-block;
}
.module-accordion .items .item .question::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 15px;
	height: 7px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='7' fill='none'%3E%3Cpath stroke='%2300274C' stroke-linecap='round' stroke-linejoin='round' d='m.5.5 7 5.771L14.5.5'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: translateY(-50%);
	transition: transform .3s ease;
}

.module-accordion .items .item .question[aria-expanded="true"]:after{
	transform: translateY(-50%) rotate(180deg);
}

.module-accordion .items .item .answer{
	padding-top: 15px;
	padding-left: 70px;
}

.module-accordion .items .item .answer a {
	text-decoration: underline;
}

.module-accordion .items .item .answer a:hover {
	color: var(--bs-primary);
}


/* Module > Clients */
.module-clients .items {
	position: relative;
}
.module-clients .items article{
	min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
	border: 1px solid rgba(0, 39, 76, 0.3);
	border-radius: 20px;
	height: 100%;

}
.module-clients .items article img {
	mix-blend-mode: multiply;
}

.module-clients .overlay{
	content: '';
	position: absolute;
	width: 100%;
	height: 195px;
	left: 0;
	bottom: 0;
	background: linear-gradient(0deg, #FDFDFC 7.18%, rgba(253, 253, 252, 0) 100%);

}

/* Module > Portfolio */
.module-portfolio .title h2 {
	font-weight: 400;
}



/*
	Pages
*/


/* Page > Home */

.page.home .stats .items article h4{
	font-size: 38px;
	font-weight: 700;
}

.page.home .stats .items article p{
	font-size: 18px;
}

/* Mobile: borde en todos excepto el último */
.page.home .stats .items .item article{
	border-bottom: 1px solid #B0BCC7;
	padding-bottom: 16px;
}

.page.home .stats .items .item:last-child article{
	border-bottom: none;
}

@media screen and (min-width: 992px){
	.page.home .stats .items article h4{
		font-size: 64px;
	}
	.page.home .stats .items article p{
		font-size: 28px;
	}
	.page.home .stats .items .item article{
		border-bottom: none;
		padding-bottom: 0;
	}
	.page.home .stats .items .item:nth-child(-n + 3) article{
		border-bottom: 1px solid #B0BCC7;
		padding-bottom: 24px;
	}
}

.page.home .links .items article {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.page.home .links .items article:hover{
	box-shadow: inset 0 0 0 1px #002844;
	transform: translateY(-5px);
}

.page.home .links .items article h2{
	font-size: 32px;
	max-width: 300px;
}
.page.home .links .items article p{
	max-width: 340px;
}
.page.home .links .items article:hover .see-more{
	background: var(--bs-dark);
	color: var(--bs-white);
}
@media screen and (min-width: 992px){
	.page.home .links .items article h2{
		font-size: 40px;
	}
}


/* Page > About */

.page.about .values .items .card{
	background: #FDFCF9;
	border: 1px solid rgba(0, 39, 76, 0.2);
	box-shadow: 0px 4px 15px 5px rgba(0, 0, 0, 0.05);	
	padding: 20px 12px;
}
.page.about .values .items .card h4{
	font-size: 32px;
}
.page.about .values .items .card .data{
	padding: 0;
}
@media screen and (min-width: 992px){
	.page.about .values .items .card{
		padding: 52px;
	}

	.page.about .values .items .card h4{
		font-size: 42px;
	}
}


.page.about .phrase .title {
	border-top: 1px solid rgba(0, 39, 76, 0.3);
	padding-top: 80px;
	max-width: 1300px;
}

.page.about .phrase .title:before{
	content: '';
	position: absolute;
	width: 50%;
	height: 1px;
	background: var(--bs-dark);
	top: -0.5px;
	left: 0;
}
.page.about .phrase .title span{
	color: var(--bs-body-color);
}
.page.about .phrase .title h2 {
	font-size: 32px;
	font-weight: 400;
}

.page.about .phrase .title h2 .word {
	opacity: 0.25;
	transition: opacity 0.15s linear;
}

@media screen and (min-width: 992px) {
	.page.about .phrase .title h2 {
		font-size: 70px;
	}
}

/* Pages > Services */
.page.services .solutions .nav{
	flex-direction: column;
}

.page.services .solutions .nav li {
	padding: 8px 0;
	padding-left: 20px;
	position: relative;
}

.page.services .solutions .nav li:last-child{
	padding-bottom: 0;
}

.page.services .solutions .nav li:before{
	content: '';
	position: absolute;
	left: 0;
	height: 100%;
	width: 1px;
	background: #B0BCC7;
}
.page.services .solutions .nav li:has(a.active):before{
	background: var(--bs-dark);
}

.page.services .solutions .nav li .btn{
	border-radius: 100px;
}

.page.services .solutions .tab-content article{
	padding: 16px;
	background: #FDFCF9;
	border: 1px solid rgba(0, 39, 76, 0.2);
	box-shadow: 0px 4px 15px 5px rgba(0, 0, 0, 0.05);
	border-radius: 30px;
}
@media screen and (min-width: 992px) {
	.page.services .solutions .tab-content {
		padding: 56px;
	}
	.page.services .solutions .tab-content article {
		padding: 42px;
	}
	.page.services .solutions .tab-content article p{
		font-size: 24px;
	}
}

@media screen and (max-width: 991.99px) {
	.page.services .solutions .nav{
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-top: 20px;
	}
	.page.services .solutions .nav li .btn {
		text-wrap: nowrap;
	}
	.page.services .solutions .nav li{
		padding: 20px 5px;
	}
	.page.services .solutions .nav li:before{
		height: 1px;
		width: 100%;
		top: 0;
	}
}

.page.services .services .items .card {
	background: #FDFCF9;
	border: 1px solid rgba(0, 39, 76, 0.2);
	box-shadow: 0px 4px 15px 5px rgba(0, 0, 0, 0.05);
	border-radius: 30px;
	padding: 24px;
}
.page.services .services .items .card .data{
	padding: 0;
}

.page.services .services .items .card .title .subtitle{
	display: inline-block;
	padding: 10px 20px;
	background: rgba(186, 216, 0, 0.1);
	border: 1px solid #BAD800;
	border-radius: 60px;
}

@media screen and (min-width: 992px) {
	.page.services .services .items .card {
		padding: 52px;
	}
}

/* Pages > Medicines */
@media screen and (min-width: 992px) {
	.page.medicines .solutions .title p:not(.subtitle){
		font-size: 24px;
	}
}

/* Pages > Logistics */
.page.logistics .process .items article{
	text-align: center;
	position: relative;
}
.page.logistics .process .items .item:not(:last-child) article:before{
	content: '';
    position: absolute;
    width: 100%;
    top: 38px;
    height: 1px;
    background: rgba(0, 39, 76, 0.4);
    z-index: 1;
}


.page.logistics .process .items article .number{
	position: relative;
	font-size: 32px;
	width: 128px;
	height: 77px;
	background: #F2F4F6;
	border-radius: 20px;
	margin: 0 auto;
	text-align: center;
	align-content: center;
	font-weight: 700;
	z-index: 2;
	transition: all 0.3s ease;
	transform-origin: center bottom;
}

.page.logistics .process .items article .data h4{
	font-size: 14px;
	font-weight: 400;
	max-width: 130px;
	margin: 0 auto;
	opacity: 0.8;
	transition: all 0.3s;
}
.page.logistics .process .items article:hover .number{
	background: var(--bs-primary);
	transform: scale(1.2);
}

.page.logistics .process .items article:hover .data h4{
	transform: scale(1.2);
	opacity: 1;
}
@media screen and (max-width: 767.99px) {
	.page.logistics .process .items article {
		display: flex;
		text-align: left;
		gap: 20px;
		margin-bottom: 20px;
	}

	.page.logistics .process .items .item:not(:last-child) article:before{
	    top: 30%;
        left: 65px;
        width: 1px;
        height: 100%;
        background: rgba(0, 39, 76, 0.4);
        z-index: 1;
	}

	.page.logistics .process .items article .number{
		margin: 0;
	}

}

/* Pages > Contact */

.page.contact #map{
	position: relative;
	background-color: #eee;
	width: 100%;
	height: 400px;
}
.page.contact .map .maparea{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#map .leaflet-control-attribution {
    display: none;
}

@media screen and (min-width: 992px){
	.page.contact .vias {
		font-size: 20px;
	}
}

/* Pages > Thanks */

.page.page-thanks .content{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 80svh;
}

/* Pages > Internal */

.page.internal .content .title{
	text-align: center;
}
.page.internal .content article {
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
}

/* Pages > Page 404 */

.page.page-404 .content,
.page.page-maintenance .content{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 95svh;
}

.page.page-maintenance .content{
	min-height: 100svh;
}


/*
	CPT Feed
*/

/* Feed > General */

.feed article{
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	background: #F1F1F1;
	border: 1px solid rgba(0, 39, 76, 0.3);
	transition: all 0.3s ease;

}
.feed article a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
}
.feed article .thumbnail{
	position: relative;
	display: block;
	aspect-ratio: 1.23 / 1;
	width: 100%;
	height: 100%;
	background-color: var(--bs-dark);
	overflow: hidden;
}
.feed article .thumbnail img.image{
	aspect-ratio: 1.23 / 1;
	object-fit: cover;
	width: 100%;
	transition: 0.3s all;
}
.feed article:hover .thumbnail img.image{
    transform: scale(1.2);
}


/* Feed > Relateds */

.feed-relateds article .data{
	position: absolute;
	inset: 0;
	color: var(--bs-white);
	align-content: end;
	padding: 20px 32px;
	z-index: 4;
}


.feed-relateds article .see-more{
	display: block;
	padding: 22px 32px;
}

.feed-relateds article:hover {
	transform: translateY(-10px);
}

.feed-relateds article:hover .see-more{
	background: var(--bs-primary) ;
}

.feed article .thumbnail::before{
	content: "";
	position: absolute;
	inset: 0;
	background: var(--bs-primary) ;
	mix-blend-mode: multiply;
	opacity: 0;
	z-index: 1;
	pointer-events: none;
	transition: opacity .3s ease;
}

.feed article:hover .thumbnail::before{
	opacity: 1;
}

/*
	CPT Single
*/

/* CPT > Single */

.single{}
.single .content article.post-content{}

.single .content article.post-content img{
	max-width: 100%;
	height: auto;
}

.single .content article.post-content .wp-block-quote{
	border-left: solid 2px var(--bs-dark);
	padding-left: 30px;
}



/* Structure > Footer */

.footer a:hover{
	color: var(--bs-primary);
}

.footer .widgets{
	padding: 50px 0;
	text-align: center;
	background: var(--bs-dark);
	color: var(--bs-white);
	font-size: 18px;
}
.footer .widgets h4{
	font-size: 18px;
	font-weight: 600;
}
.footer .widgets .logo{
	display: block;
	width: 199px;
	margin: 0 auto 30px;
}

.footer .widgets .menu{
	margin: 0 0 30px;
}
.footer .widgets .menu li a{
	display: block;
	padding: 3px;
}


.footer .copyright {
	background: var(--bs-primary);
	padding: 25px 0;
	font-family: var(--bs-font-monospace);
	color: var(--bs-body-color);
	text-align: center;
}
.footer .copyright p{
	margin: 0;
	font-size: 12px;
}

@media screen and (min-width: 992px){
	.footer .widgets{
		padding: 50px 0 70px 0;
		text-align: left;
	}
	.footer .widgets .logo{
		margin: 0;
		margin-bottom: 20px;
	}
	.footer .widgets .description{
		font-size: 20px;
		opacity: 0.6 !important;
	}
	.footer .copyright {
		text-align: left;
		font-size: 14px;
	}
}


/* Portal */
.portal-menu .nav{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 10px 20px;
	gap: 25px;
	background: var(--bs-primary);
	border-radius: 15px;
}

.portal-menu .nav li a{
    font-family: var(--bs-font-monospace);
    text-transform: uppercase;
    padding: 13px 23px;
    background: transparent;
    border-radius: 10px;
}
.portal-menu .nav li:has(.btn){
	margin-left: auto;
}
.portal-menu .nav li a.active,
.portal-menu .nav li a:hover{
	background: var(--bs-dark);
	color: var(--bs-primary);
}

.page.portal .search form {
	border: 1px solid rgba(0, 39, 76, 0.3);
    border-radius: 20px;
    padding: 10px 20px;
}

.portal-advanced-toggle{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 6px;
	padding: 0;
	font-family: var(--bs-font-monospace);
	font-weight: 600;
	text-transform: uppercase;
	color: var(--bs-secondary);
}

.portal-advanced-toggle:hover{
	color: var(--bs-dark);
}

.portal-advanced-toggle i{
	font-size: 12px;
	transition: transform 0.3s ease;
}

.portal-advanced-toggle:not(.collapsed) i{
	transform: rotate(180deg);
}

.portal-advanced-panel{
	margin-top: 18px;
	padding: 20px;
	background: rgba(242, 244, 246, 0.65);
	border: 1px solid rgba(0, 39, 76, 0.14);
	border-radius: 15px;
}

.portal-advanced-panel .avanced-search-label,
.portal-advanced-panel .list-for{
	display: block;
}

.portal-advanced-panel .avanced-search-label{
	margin-bottom: 10px;
	font-weight: 600;
}

.portal-advanced-panel .list-for{
	margin-bottom: 14px;
	opacity: 0.72;
}

.portal-advanced-panel .form-check{
	margin-bottom: 8px;
}

.portal-advanced-panel .form-check-label{
	margin: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	text-transform: none;
}

.portal-advanced-panel .form-check-input{
	accent-color: var(--bs-secondary);
}

.page.portal .portal-table-wrap{
	background: var(--bs-white);
	overflow: auto;
}

.page.portal .portal-table{
	min-width: 1100px;
	font-size: 14px;
	--bs-table-striped-bg: rgba(242, 244, 246, 0.7);
	--bs-table-hover-bg: rgba(186, 216, 0, 0.12);
}

.page.portal .portal-table thead th{
	font-family: var(--bs-font-monospace);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: rgba(0, 39, 76, 0.72);
	background: rgba(0, 148, 218, 0.08);
	border-bottom: 1px solid rgba(0, 39, 76, 0.16);
}

.page.portal .portal-table th{
	padding: 15px 12px;
}

.page.portal .portal-table td {
    padding: 6px 12px;
}
.page.portal .portal-table td.comprobante{
	white-space: nowrap;
}

.page.portal .portal-table tbody td{
	border-color: rgba(0, 39, 76, 0.1);
}

.page.portal .portal-table tbody td:first-child{
	font-family: var(--bs-font-monospace);
	font-weight: 700;
	color: var(--bs-dark);
	white-space: nowrap;
}

.page.portal .portal-table a{
	font-size: 10px;
	padding: 5px 10px;
	min-width: fit-content;
	white-space: nowrap;
}

.page.portal .portal-back-link{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	font-family: var(--bs-font-monospace);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--bs-secondary);
}

.page.portal .portal-back-link:hover{
	color: var(--bs-dark);
}

.page.portal .portal-detail__header{
	margin-bottom: 24px;
}

.page.portal .portal-detail__header h2{
	margin: 0;
	font-size: clamp(28px, 4vw, 44px);
}

.page.portal .portal-detail__summary{
	padding: 24px;
	border: 1px solid rgba(0, 39, 76, 0.14);
	border-radius: 15px;
	background: rgba(242, 244, 246, 0.65);
}

.page.portal .portal-detail__summary strong{
	color: var(--bs-dark);
}

.page.portal .portal-report__actions{
	display: flex;
	justify-content: flex-end;
	gap: 28px;
	margin-bottom: 14px;
}

.page.portal .portal-report__actions a,
.page.portal .portal-report__actions button{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--bs-dark);
	font: inherit;
	font-weight: 500;
}

.page.portal .portal-report__actions a:first-child{
	margin-right: auto;
}

.page.portal .portal-report__actions a:hover,
.page.portal .portal-report__actions button:hover{
	color: var(--bs-primary);
}

.page.portal .portal-report__sheet{
	background: var(--bs-white);
	border: 1px solid rgba(0, 39, 76, 0.12);
}

.page.portal .portal-report__head{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	padding: 28px 24px;
	border-bottom: 1px solid rgba(0, 39, 76, 0.12);
}

.page.portal .portal-report__brand{
	font-size: 30px;
	line-height: 1;
	color: var(--bs-secondary);
}

.page.portal .portal-report__brand span{
	display: block;
	margin-top: 3px;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(0, 39, 76, 0.55);
}

.page.portal .portal-report__head h2{
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	color: #f04b23;
}

.page.portal .portal-report__head address{
	margin: 0;
	text-align: right;
	font-style: normal;
	line-height: 1.45;
}

.page.portal .portal-report__grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 1px solid rgba(0, 39, 76, 0.08);
}

.page.portal .portal-report__grid > div{
	padding: 10px 24px;
	border-bottom: 1px solid rgba(0, 39, 76, 0.08);
}

.page.portal .portal-report__grid--compact{
	grid-template-columns: 2fr 1fr 1.4fr 1.4fr 1fr;
}

.page.portal .portal-report__grid--compact > div:nth-last-child(-n+2){
	grid-column: span 2;
}

.page.portal .portal-report .portal-table{
	min-width: 900px;
}

.page.portal .portal-report__serial-row td{
	background: rgba(242, 244, 246, 0.78);
}

.page.portal .portal-report__foot{
	margin: 0;
	padding: 14px 24px;
	background: rgba(242, 244, 246, 0.78);
	font-style: italic;
}

@media screen and (max-width: 767px){
	.page.portal .portal-report__actions,
	.page.portal .portal-report__head{
		display: block;
	}

	.page.portal .portal-report__actions a,
	.page.portal .portal-report__actions button{
		margin-bottom: 10px;
	}

	.page.portal .portal-report__head h2,
	.page.portal .portal-report__head address{
		margin-top: 20px;
		text-align: left;
	}
	.page.portal .portal-report__head h2{
		white-space: normal;
	}

	.page.portal .portal-report__grid,
	.page.portal .portal-report__grid--compact{
		grid-template-columns: 1fr;
	}

	.page.portal .portal-report__grid--compact > div:nth-last-child(-n+2){
		grid-column: auto;
	}
}


/* Portal > Menu profile link */
.portal-menu .nav li.portal-menu__profile{
	margin-left: auto;
}
.portal-menu .nav li.portal-menu__profile + li{
	margin-left: 0;
}
.portal-menu .nav li.portal-menu__profile a i{
	margin-right: 6px;
}
@media screen and (max-width: 991px){
	/* The menu wraps: keep every item aligned to the left */
	.portal-menu .nav li.portal-menu__profile{
		margin-left: 0;
	}
}

/* Portal > Sortable table headers */
.page.portal .portal-table thead .portal-sort{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 0;
	font-size: inherit;
	white-space: normal;
	color: inherit;
	text-decoration: none;
}
.page.portal .portal-table thead .portal-sort:hover,
.page.portal .portal-table thead th.is-sorted{
	color: var(--bs-dark);
}
.portal-sort__arrows{
	display: inline-flex;
	flex-direction: column;
	gap: 3px;
	flex-shrink: 0;
}
.portal-sort__arrows::before,
.portal-sort__arrows::after{
	content: '';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	opacity: .35;
	transition: opacity .2s ease, color .2s ease;
}
.portal-sort__arrows::before{
	border-bottom: 6px solid currentColor;
}
.portal-sort__arrows::after{
	border-top: 6px solid currentColor;
}
.portal-sort:hover .portal-sort__arrows::before,
.portal-sort:hover .portal-sort__arrows::after{
	opacity: .6;
}
.is-sorted-asc .portal-sort__arrows::before,
.is-sorted-desc .portal-sort__arrows::after{
	color: var(--bs-secondary);
	opacity: 1 !important;
}

.page.portal .portal-results-count{
	margin: 0 0 12px;
	font-family: var(--bs-font-monospace);
	font-size: 13px;
	text-transform: uppercase;
	color: rgba(0, 39, 76, .68);
}
.page.portal .portal-results-count strong{
	color: var(--bs-dark);
}
.page.portal #portal-resultados{
	scroll-margin-top: calc(var(--header-min-height) + 20px);
}

/* Portal > Advanced filters */
.portal-advanced-toggle__count{
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	font-size: 12px;
	line-height: 1;
	color: var(--bs-white);
	background: var(--bs-secondary);
	border-radius: 11px;
}
.portal-advanced-panel label{
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
}
.portal-advanced-panel__actions{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-top: 22px;
}
.portal-advanced-clear{
	font-family: var(--bs-font-monospace);
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bs-secondary);
}
.portal-advanced-clear:hover{
	color: var(--bs-dark);
}

/* Portal > Select2 */
.select2-container--default .select2-selection--multiple{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-height: 43px;
	padding: 5px 40px 5px 16px;
	background: var(--bs-white) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300274C' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right 18px center / 12px 12px;
	border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: 22px;
	transition: border-color .2s ease;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered{
	display: contents;
}
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--multiple{
	border: var(--bs-border-width) solid var(--bs-dark);
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{
	border-radius: 22px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	max-width: 100%;
	margin: 0;
	padding: 3px 4px 3px 11px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--bs-dark);
	background: rgba(0, 148, 218, .1);
	border: 1px solid rgba(0, 148, 218, .28);
	border-radius: 30px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display{
	overflow: hidden;
	padding: 0;
	text-overflow: ellipsis;
	cursor: default;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
	position: static;
	order: 2;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	padding: 0 0 1px;
	font-size: 14px;
	line-height: 1;
	color: rgba(0, 39, 76, .55);
	border: 0;
	border-radius: 50%;
	transition: background-color .2s ease, color .2s ease;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus{
	color: var(--bs-white);
	background: var(--bs-dark);
	outline: none;
}
.select2-container--default .select2-search--inline{
	flex: 1 1 40px;
	min-width: 40px;
}
.select2-container--default .select2-search--inline .select2-search__field{
	height: 26px;
	margin: 0;
	font-family: inherit;
	font-size: 15px;
	line-height: 26px;
	color: var(--bs-dark);
}
.select2-container--default .select2-search--inline .select2-search__field::placeholder{
	color: rgba(0, 39, 76, .5);
}

.select2-container--default .select2-dropdown{
	overflow: hidden;
	background: var(--bs-white);
	border: 1px solid rgba(0, 39, 76, .14) !important;
	border-radius: 16px !important;
	box-shadow: 0 18px 40px rgba(0, 39, 76, .14);
}
.select2-container--default .select2-dropdown--below{
	margin-top: 6px;
}
.select2-container--default .select2-dropdown--above{
	margin-top: -6px;
}
.select2-container--default .select2-results > .select2-results__options{
	max-height: 260px;
	padding: 6px;
	scrollbar-width: thin;
}
.select2-container--default .select2-results__option{
	position: relative;
	padding: 8px 12px;
	font-size: 15px;
	line-height: 1.35;
	color: var(--bs-dark);
	border-radius: 10px;
}
.select2-container--default .select2-results__option--selectable{
	padding-left: 38px;
}
.select2-container--default .select2-results__option--selectable::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 12px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: var(--bs-white) no-repeat center / 10px 10px;
	border: 1.5px solid rgba(0, 39, 76, .3);
	border-radius: 5px;
	transition: background-color .15s ease, border-color .15s ease;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
	color: var(--bs-dark);
	background: rgba(186, 216, 0, .2);
}
.select2-container--default .select2-results__option--selected{
	font-weight: 600;
	background: transparent;
}
.select2-container--default .select2-results__option--selected::before{
	background-color: var(--bs-secondary);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m3 8.5 3.5 3.5L13 4.5'/%3e%3c/svg%3e");
	border-color: var(--bs-secondary);
}
.select2-container--default .select2-results__message{
	color: rgba(0, 39, 76, .6);
}
.select2-container--default .select2-selection--multiple .select2-selection__placeholder{
	display: block;
	font-size: 15px;
	line-height: 31px;
	color: rgba(0, 39, 76, .5);
}
.select2-container--default .select2-search--dropdown{
	padding: 10px 10px 4px;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
	width: 100%;
	height: 40px;
	padding: 0 14px 0 38px;
	font-size: 15px;
	color: var(--bs-dark);
	background: rgba(0, 39, 76, .04) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cg fill='none' stroke='%2300274C' stroke-linecap='round' stroke-width='1.8'%3e%3ccircle cx='7' cy='7' r='5'/%3e%3cpath d='m11 11 3.5 3.5'/%3e%3c/g%3e%3c/svg%3e") no-repeat 14px center / 14px 14px;
	border: 1px solid rgba(0, 39, 76, .14);
	border-radius: 30px;
	outline: none;
	transition: border-color .2s ease, background-color .2s ease;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{
	background-color: var(--bs-white);
	border-color: var(--bs-dark);
}
.select2-container--default .select2-search--dropdown .select2-search__field::placeholder{
	color: rgba(0, 39, 76, .5);
}
.select2-results__option mark,
.portal-autocomplete mark{
	padding: 0;
	color: inherit;
	font-weight: 700;
	background: rgba(186, 216, 0, .45);
	border-radius: 3px;
}

/* Portal > Search autocomplete */
.portal-filter .form-group{
	position: relative;
}
.portal-autocomplete{
	position: absolute;
	top: 100%;
	right: calc(var(--bs-gutter-x) * .5);
	left: calc(var(--bs-gutter-x) * .5);
	z-index: 30;
	margin: 6px 0 0;
	padding: 6px;
	list-style: none;
	background: var(--bs-white);
	border: 1px solid rgba(0, 39, 76, .14);
	border-radius: 16px;
	box-shadow: 0 18px 40px rgba(0, 39, 76, .14);
}
.portal-autocomplete li{
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 8px 12px;
	font-size: 15px;
	line-height: 1.35;
	color: var(--bs-dark);
	border-radius: 10px;
	cursor: pointer;
}
.portal-autocomplete li.is-active{
	background: rgba(186, 216, 0, .2);
}
.portal-autocomplete__label{
	flex-shrink: 0;
	width: 92px;
	font-family: var(--bs-font-monospace);
	font-size: 11px;
	text-transform: uppercase;
	color: var(--bs-secondary);
}
@media screen and (max-width: 575px){
	.portal-autocomplete li{
		flex-direction: column;
		gap: 2px;
	}
}

/* Portal > Profile */
.page.portal .portal-profile{
	max-width: 980px;
	margin: 0 auto;
	padding: 36px;
	background: var(--bs-white);
	border: 1px solid rgba(0, 39, 76, .1);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(0, 39, 76, .08);
}
.portal-profile__intro{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 30px;
	margin-bottom: 26px;
}
.portal-profile__intro h2{
	margin-bottom: 6px;
	font-size: clamp(28px, 4vw, 36px);
}
.portal-profile__intro p{
	margin: 0;
	color: rgba(0, 39, 76, .68);
}
.portal-profile__intro .portal-profile__user{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	font-size: 14px;
	color: var(--bs-dark);
	background: rgba(0, 148, 218, .08);
	border-radius: 30px;
}
.portal-profile__block{
	margin-bottom: 22px;
	padding: 24px;
	background: rgba(242, 244, 246, .45);
	border: 1px solid rgba(0, 39, 76, .14);
	border-radius: 15px;
}
.portal-profile__block legend{
	margin-bottom: 8px;
	font-family: var(--bs-font-monospace);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--bs-secondary);
}
.portal-profile-form label{
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 600;
}
.portal-profile-form .input-group-text{
	width: 50px;
	justify-content: center;
	background: rgba(0, 39, 76, .04);
	border-color: rgba(0, 39, 76, .14);
}
.portal-profile-form .form-control{
	min-height: 52px;
	border-color: rgba(0, 39, 76, .14);
}
.portal-profile-form .form-control:focus{
	border-color: var(--bs-dark);
}
.portal-profile-form .show_password{
	position: static;
	width: 48px;
	padding: 0;
	background: var(--bs-white);
	border: 1px solid rgba(0, 39, 76, .14);
	border-left: 0;
	border-radius: 0 26px 26px 0;
}
.portal-profile__hint{
	margin: 0 0 16px;
	font-size: 13px;
	color: rgba(0, 39, 76, .62);
}
.portal-profile__block .portal-profile__hint.mb-0{
	margin-top: 14px;
}
.portal-profile__actions{
	display: flex;
	justify-content: flex-end;
}
.portal-profile .portal-alert{
	margin-bottom: 22px;
	padding: 12px 15px;
	color: #8a2430;
	background: #fff0f2;
	border: 1px solid #f5c2c7;
	border-radius: 12px;
}
.portal-profile .portal-alert--success{
	color: #3d4a00;
	background: rgba(186, 216, 0, .16);
	border-color: rgba(186, 216, 0, .6);
}
@media screen and (max-width: 575px){
	.page.portal .portal-profile{
		padding: 26px 18px;
		border-radius: 18px;
	}
	.portal-profile__block{
		padding: 18px;
	}
	.portal-profile__actions .btn{
		width: 100%;
	}
}
