/* Variables
----------------------------------------------------------- */
:root {
	--font-family-primary: 'Montserrat', Arial, sans-serif;
	--primary: #000000;
	--primary-hex: "0, 0, 0";
	--gray: #F2F2F2;
	--grey: #f5f5f5;
	--lightgray: #6F6F6E;
	--danger: #dd091f;
	--dark: 29, 29, 27;
	--body-color: #1D1D1B;
	--font-size-xs: 0.75rem; /* 12px */
	--font-size-sm: 0.875rem;
	--font-size-small: 0.938rem; /* 15px */
	--font-size-default: 16px; /* 1.25rem; */
	--font-size-lg: 20px;
	--font-weight-light: 300;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--h4-font-size: 1.563rem;
	--shadow: 0 0 2rem rgba(0,0,0,0.12);
	--footer-bg-color: #FFFFFF;
	--footer-dark-bg-color: #000000;
	--footer-dark-color: #FFFFFF;
	--navbar-height: 72px;
	--navbar-desktop-height: 115px;
	--navbar-account-height: 60px;
}

.font-size-default{font-size: var(--font-size-default) !important;}
.font-size-small{font-size: var(--font-size-small) !important;}
.font-size-xs{font-size: var(--font-size-xs) !important;}
.font-size-sm{font-size: var(--font-size-sm) !important;}
.font-size-lg{font-size: var(--font-size-lg) !important;}

/* Font
----------------------------------------------------------- */
.font-family-montserrat{font-family: var(--font-family-primary);}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat/Montserrat-Light.woff') format('woff');
	font-style: normal;
	font-weight: 300;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff');
	font-style: normal;
	font-weight: 400;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat/Montserrat-Medium.woff') format('woff');
	font-style: normal;
	font-weight: 500;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat/Montserrat-SemiBold.woff') format('woff');
	font-style: normal;
	font-weight: 600;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff');
	font-style: normal;
	font-weight: 700;
}

/* Overwrite
----------------------------------------------------------- */
button { outline: none !important; }
a { outline: none !important; }
a,
a:hover,
a:not([class]), 
a:not([class]):hover { color: inherit; text-decoration: none; }

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* Utils
----------------------------------------------------------- */
.bg-primary { background-color: var(--primary) !important; } 
.bg-primary-gradient { background: linear-gradient(135deg, rgba(var(--primary-hex),1) 0%,rgba(var(--primary-hex),1) 35%,rgba(var(--primary-hex),1) 100%); }
.bg-warning { background-color: #F0D232 !important; } 
.bg-gray { background-color: var(--grey) !important; }
.bg-lightgray { background-color: #CCCCCC !important; }
/*.bg-light { background-color: #DC80B3 !important; } 
.bg-secondary { background-color: #803A8E !important; } 
.bg-tertiary { background-color: #A54794 !important; } 
.bg-tertiary-light { background-color: #C78CBC !important; } */

.text-primary { color: var(--primary) !important; }
.text-white { color: #fff !important; }
.text-gray { color: #8D8D8D !important; }
.text-lightgray { color: #666 !important; }
.text-darkgray { color: #929292 !important; }
.text-lightest { color: #b0b0b0 !important; }

.font-size-xs { font-size: var(--font-size-xs) !important; }
.font-size-sm { font-size: var(--font-size-sm) !important; }
.font-size-small { font-size: var(--font-size-small) !important; }
.font-size-md { font-size: 1.313rem !important; /* 21px */ }
.font-size-lg { font-size: 1.5rem !important; /* 24px */ }
.font-size-xl { font-size: 2rem !important; /* 32px */ }
.font-size-xxl { font-size: 2.5rem !important; }

.font-weight-medium { font-weight: var(--font-weight-medium) !important; } 
.font-weight-semibold { font-weight: var(--font-weight-semibold) !important; } 

.line-height-1 { line-height: 1.05; }

.text-uppercase { text-transform: uppercase !important; }

a.text-primary,
a.text-primary:hover,
a.text-primary:focus { text-decoration: none; color: var(--primary) !important; }

a.underline {
	color: inherit;
	text-decoration: underline;
}

.collapsing {
	-webkit-transition-duration: 0.15s;
  transition-duration: 0.15s;
}

.bordered-2em {
	border-radius: 2rem !important;
}

.bordered {
	border: 1px solid #C6C6C5;
	border-radius: 2rem;
}

.bordered.max-width {
	margin-left: auto;
	margin-right: auto;
	max-width: 13rem;
}

.reflection { 
	background-image: url(../images/reflection.png); 
	background-repeat: no-repeat;
	background-size: 100% 120px;
	background-position: -1px top;
}

@media (min-width: 992px) {
	.reflection {
		background-size: 100% 222px;
	}
}

.custom-divider {
	border-bottom: 1px solid rgba(var(--dark), .25);
}

@media (min-width: 992px) {
	.custom-divider {
		border-bottom: 0;
		border-right: 1px solid rgba(var(--dark), .25);
	}
}

.rounded-shadow {
	border-radius: 2rem;
	box-shadow: var(--shadow);
	display: inline-block;
}

.background-image {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.overflow-unset{ overflow: unset !important; }

/* Base
----------------------------------------------------------- */
html, body {
	height: 100%;
}

html {
	font-size: 12px; 
}

@media (min-width: 1600px) {
	html {
		font-size: 16px; 
	}
}

html {
	font-size: 16px;
}

body {
	background-color: #fff;
	color: var(--body-color);
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: var(--font-size-default);
	line-height: 1.35;
	min-width: 320px;
	overflow-x: hidden;
}

/* Layout
----------------------------------------------------------- */
.wrapper {
	display: flex;
	flex-direction: column;
}

.content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.content.bg-image {
	display: flex;
	flex-direction: column;
}

.container-fluid {
	margin: 0 auto;
	max-width: 1722px;
}

.container-fluid.full-width {
	margin: 0 auto;
	max-width: 1920px;
	overflow: hidden;
	padding: 0;
}

@media (min-width: 768px) {
	.container-fluid.wide {
		max-width: 992px;
	}

	.container-inner {
		margin-left: auto;
		margin-right: auto;
		max-width: 23.438rem;
	}
}

/* Headings
----------------------------------------------------------- */

.text-lightgray .h1,
.text-lightgray .h2 {
	color: #666;
}

.h1 {
	border: 0;
	font-size: 1.813rem; /* 29px */
	line-height: 1.10;
	margin-bottom: .5em;
	text-align: center;
}

.h4 {
	font-size: 1.25rem; /* 20px */
	font-weight: bold;
	line-height: 1.20;
}

@media (min-width: 992px) {
	.h4 {
		font-size: 1.563rem; /* 25px */
	}
}

.display-1 {
	font-size: 1.75rem; 
	line-height: 1.20;
}

@media (min-width: 992px) {
	.display-1 {
		font-size: 2rem; /* 2.5rem; /* 40px */
	}
}

.display-2 {
	font-size: 2.056rem; /* 32.9px */
	line-height: 1.10;
}

.display-3 {
	font-size: 2.188rem; /* 35px */
	line-height: 1.10;
}

.circle {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	font-size: 2.125rem; /* 34px */
	line-height: 1.15;
	height: 14rem;
	width: 14rem;
}

.section-title {
	border-top: 1px solid #E6E6E6;
	border-left: 1px solid #E6E6E6;
	border-right: 1px solid #E6E6E6;
	border-bottom: 1px solid #E6E6E6;
	color: #8d8d8d;
	font-size: 1.313rem; 
	line-height: 1.2;
	padding: 0.875rem 1.25rem;
	display: flex;
}

.section-title a {
	text-decoration: underline;
}

.step-title {
	background-color: #C78CBC;
	color: #fff;
	display: flex;
	align-items: center;
	padding: 0.35rem 1.25rem;
	font-size: 1.669rem; /* 26.7px */
}

.step-title > span {
	background-color: #A54794;
	border: 0.125rem solid #fff;
	border-radius: 50%;
	font-size: 2.625rem; /* 42px */
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.375rem; /* 54px */
	width: 3.375rem; /* 54px */
	flex-shrink: 0;
	margin-right: 1rem;
}

/* Buttons
----------------------------------------------------------- */
.btn,
.nav-pills .nav-link {
	border: 0;
	border-radius: 2em;
	box-shadow: none !important;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	padding: 0.95em 1.35em;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.btn:not(.btn-block) {
	max-width: 23.438rem;
	width: fit-content;
}

@media (min-width: 992px) {
	.btn,
	.nav-pills .nav-link {
		font-size: var(--font-size-default);
	}
}

.btn[disabled] {
	cursor: not-allowed;
}

.btn-quizz {
	background-color: transparent !important;
	color: #000000 !important;
	border: 1px solid black;
	border-radius: 35px;
	padding: 5px 15%;
	cursor: pointer;
	padding: 0.1em 1.35em!important;
}

.btn-quizz-active {
	background-color: transparent !important;
	color: var(--primary) !important;
	border: 2px solid var(--primary);
	padding: 0.1em 1.35em!important;
}

.btn-primary {
	background-color: var(--primary) !important;
	color: #fff !important;
}

.btn-outline-primary {
	background-color: transparent !important;
	border: 1px solid var(--primary) !important;
	color: var(--primary) !important;
}

.btn-outline-primary:hover {
	color: var(--primary);
}

.btn-delete, .btn-view {
	background-color: transparent !important;
	color: var(--primary) !important;
	border: none;
}

.btn-outline-white {
	background-color: transparent !important;
	border: 1px solid #fff !important;
	color: #fff !important;
}

.btn-outline-secondary {
	background-color: transparent !important;
	border: 1px solid #000000 !important;
	color: #000000!important;
}

.btn-outline-secondary:hover {
	color: #ffffff;
	border: 1px solid #ffffff !important;
}

.btn-primary:active {
	background-color: #000000 !important;
}

.btn-secondary {
	background-color: #000000 !important;
	color: #fff !important;
}

.btn-secondary:active {
	background-color: #000000 !important;
}

.btn-light {
	background-color: #999999 !important;
	color: #fff !important;
}

.btn-light:active {
	background-color: var(--primary) !important;
}

.btn-tertiary {
	background-color: #8D8D8D !important;
	color: #fff !important;
}

.btn-tertiary:active {
	background-color: #CCCCCC !important;
}

.btn-tertiary {
	background-color: #000000 !important;
	color: #fff !important;
}

.btn-tertiary:active {
	background-color: #000000 !important;
}

.btn-lightgray {
	background-color: #CCCCCC !important;
	color: #fff !important;
}

.btn-lightgray:active {
	background-color: #8D8D8D !important;
}

.btn-blue {
    background-color: #00A6FF !important;
    color: #fff !important;
}
.btn-blue:active {
    background-color: #95DAFF !important;
}

.btn-rounded {
	border-radius: 2rem;
}

.btn-white {
	background: #FFFFFF !important;
	color: var(--primary) !important;
}

.btn-lg {		
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 1.669rem; /* 26.7px */
	margin: 0 auto;
	max-width: 15.125rem; /* 242px */
	padding-bottom: 0.725rem;
	padding-top: 0.725rem;
}

.btn-xl {		
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 2.756rem; /* 44.1px */
	margin: 0 auto;
}

.btn-md {
	border-radius: 1.5rem;
	font-size: 1.5rem;
	padding-left: .5rem;
	padding-right: .5rem;
}

.btn-md img {
	max-height: 2.25rem;
	max-width: 13.5rem;
}

.btn-sm {
	font-size: 1rem;
	line-height: 1.33;
	min-height: 0;
	padding: 0.5em 1.5em;
}

.btn-sm.btn-outline-primary {
	padding: calc(0.5em - 1px) calc(1.5em - 1px);
}

.btn-sm.py-2 {
	padding-top: 0.75rem !important;
	padding-bottom: 0.75rem !important;
}

.btn-xs {		
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 0.75rem; /* 12px */
	margin: 0 auto;
	min-height: 0;
	padding: .42em 1em;
}

.btn-xl.btn-rounded {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	border-radius: 50%;
	height: 4.35rem;
	width: 4.35rem;
	padding: 0;
}

/* Nav pills
----------------------------------------------------------- */
.nav-pills {
	/*border: 1px solid rgba(var(--primary-hex), .3);*/
	border: 1px solid var(--primary);
	border-radius: 2.5em;
	font-size: 1rem;
}

.nav-pills .nav-link {
	/*color: rgba(var(--primary-hex), .3);*/
	/*font-weight: bold;*/
	font-weight: normal;
	color: var(--primary);
	background: none;
	border: 1px solid transparent;
	letter-spacing: 0.02em;
	margin: -1px;
	padding-left: 1.5em;
	padding-right: 1.5em;
}

.nav-pills .nav-link.active {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
	font-weight: bold;
}

/* Form controls
----------------------------------------------------------- */
.form-group,
.custom-select,
.custom-control {
	margin-bottom: 0.625rem; /* 10px */
	position: relative;
}

.form-control::-webkit-input-placeholder { color: var(--lightgray); opacity: 1; }
.form-control:-moz-placeholder { color: var(--lightgray); opacity: 1; }
.form-control::-moz-placeholder { color: var(--lightgray); opacity: 1; }
.form-control:-ms-input-placeholder { color: var(--lightgray); opacity: 1; } 

.form-control,
.custom-file-label,
.custom-select {
	background-color: #fff;
	border: 1px solid var(--body-color) !important;
	border-radius: 3.5em;
	box-shadow: none !important;
	color: var(--body-color) !important;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 1rem; 
	height: 3.5em;
	line-height: 1.5;
	text-align: left;
	text-shadow: none !important;
}

@media (min-width: 992px) {
	.form-control,
	.custom-file-label,
	.custom-select {
		font-size: var(--font-size-default);
	}
}

.form-control.text-white {
	color: #fff !important;
}

.form-control.primary, 
.custom-select.primary {
	background-color: var(--primary) !important;
	color: #fff !important;
}

.form-control.bg-gray, 
.custom-select.bg-gray {
	background-color: #8D8D8D !important;
	color: #fff !important;
}

.form-control-light {
	background-color: #fff !important;
}

/* Input / Textarea */
.form-control {
	padding: .315rem 1.5em; 
}

.form-control:focus {
	border-color: var(--body-color); 
}

.input-group .form-control {
	border-right: 0 !important;
}

.input-group-append {
	border: 1px solid var(--body-color);
	border-left: 0;
	border-radius: 0 3.5em 3.5em 0;
	font-size: var(--font-size-default); 
	padding-right: 1.5em; 
	display: flex;
	align-items: center;
}

/* Autocomplete */
.form-control.dropdown-toggle + .dropdown-menu {
  border: 0;
  box-shadow: 2px 2px 8px 0px rgba(0,0,0,0.24);
  left: 0;
  max-height: 300px;
	font-family: 'Montserrat', Arial, sans-serif;
  overflow-y: auto;
  width: 75%;
}

.form-control.dropdown-toggle + .dropdown-menu .dropdown-item {
  font-size: 1.063rem;
  padding: .5em 1rem;
  white-space: normal;
}

.form-control.dropdown-toggle + .dropdown-menu .dropdown-item .text-primary {
  font-weight: 700;
}

.form-control.dropdown-toggle + .dropdown-menu .dropdown-item:focus,
.form-control.dropdown-toggle + .dropdown-menu .dropdown-item:hover {
  background-color: rgba(var(--primary-hex), .5);
}

.form-control.dropdown-toggle + .dropdown-menu .dropdown-item.active,
.form-control.dropdown-toggle + .dropdown-menu .dropdown-item:active {
  background-color: #fff;
  color: var(--primary);
}

/* Validation */
.invalid-tooltip,
.invalid-feedback {
	background-color: var(--danger);
	border: 0;
	border-radius: 0;
	color: #fff;
	letter-spacing: .04em;
	margin-top: 0;
	padding: .25rem .5rem;
	display:block;
}

.invalid-feedback {
	background: none;
	border: none;
	color: var(--danger);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
}

.form-control.is-invalid, 
.was-validated .form-control:invalid {
	border-color: var(--danger) !important;
}

/* Select */
.custom-select {
	background-image: url("data:image/svg+xml,%3Csvg width='13px' height='12px' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cpath d='M6.488,11.134l6.488,-11.134l-12.976,0l6.488,11.134Z' style='fill:%23000000;fill-opacity:.8;fill-rule:nonzero;'/%3E%3C/svg%3E");
	background-size: 13px 11px;
	padding: .315rem 1.75rem .315rem 1rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

.custom-select.primary {
	background-image: url("data:image/svg+xml,%3Csvg width='13px' height='12px' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cpath d='M6.488,11.134l6.488,-11.134l-12.976,0l6.488,11.134Z' style='fill:%23ffffff;fill-opacity:.5;fill-rule:nonzero;'/%3E%3C/svg%3E");
}

.custom-select.bg-gray {
	background-image: url("data:image/svg+xml,%3Csvg width='13px' height='12px' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cpath d='M6.488,11.134l6.488,-11.134l-12.976,0l6.488,11.134Z' style='fill:%23ffffff;fill-opacity:.5;fill-rule:nonzero;'/%3E%3C/svg%3E");
}

.custom-select.placeholder { color: rgba(0,0,0,0.8) !important; }
.custom-select.placeholder option { color: rgba(0,0,0,0.8) !important; }

.custom-select option {
	padding-left: 0;
	padding-right: 0;
}

/* Custom control */
.custom-control-input~.custom-control-label::before {
	box-shadow: none !important;
	outline: none !important;
}

.custom-control-input:not(:disabled):active~.custom-control-label::before {
	background-color: rgba(var(--primary-hex), .2);
	border-color: rgba(var(--primary-hex), .2);
}

.custom-control-input:checked~.custom-control-label::before {
	background-color: var(--primary);
	border-color: var(--primary);
}

/* Switch */
.custom-switch .custom-control-input ~ .custom-control-label::before {
	box-shadow: none !important;
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
	border-color: #666;
	background-color: #666;
}

.custom-switch .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
	border-color: #adb5bd;
}

.custom-switch .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
	background-color: transparent;
	border-color: #adb5bd;
} 

.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
	background-color: #666;
	opacity: .5;
}

/* File */
.custom-file {
	height: auto;
	display: block;
}

.custom-file-label {
	align-items: center;
  display: flex;
	position: static;
	cursor: pointer;
	padding: .315rem 1.5em; 
}

.custom-file-label.btn-tertiary {
	background-color: var(--primary) !important;
}

.custom-file-label::after {
	display: none;
}

.custom-file-label .value {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-right: 6px;
}

.custom-file-input {
	margin: 0;
	z-index: 0;
	position: absolute;
	width: 1px;
	height: 1px;
}

/* Icons
----------------------------------------------------------- */
.icon-camera {
	background-image: url(../images/icon_camera.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	display: block;
	height: 1.425rem; /* 22.8px */
	margin-left:  auto;
	width: 1.769rem; /* 28.3px */
	flex-shrink: 0;
}

.icon-play {
	background-image: url(../images/icon_play.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	display: block;
	height: 4.375rem;
	width: 4.375rem;
}

.icon-scrolldown {
	background-image: url(../images/icon_scrolldown.svg);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	display: block;
	height: 3.25rem;
	width: 3.25rem;
}

/* Section
----------------------------------------------------------- */
.section {
	background-image: url(../images/bg_shapes.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.section-gray {
	background-color: var(--gray);
}

.section-purple {
	background-image: url(../images/bg_shapes_b.png), linear-gradient(to right, rgba(202,167,189,1) 0%,rgba(145,71,153,1) 100%);
}

.section-pink {
	background-image: url(../images/bg_shapes.png), linear-gradient(to right, rgba(222,183,208,1) 0%,rgba(233,102,162,1) 100%);
}

.section-purple,
.section-pink {
	color: #fff;
}

@media (min-width: 992px) {
	.section {
		display: flex;
		align-items: center;
		min-height: 200px;
	}
}

/* Navbar
----------------------------------------------------------- */
.navbar {
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, .25);
	display: block;
	padding: 0 20px;
	height: var(--navbar-height);
	/*border-top: 4px solid var(--primary); */
}

.navbar > .container-fluid {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	height: 100%;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1722px;
	width: 100%;
}

.navbar-brand {
	padding: 0;
	width: 170px;
	height: calc(var(--navbar-height) - 2px);
	display: flex;
	align-items: center;
}

.navbar-brand > img {
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.navbar .navbar-toggler {
	border: 0;
	font-size: 1rem;
	padding: 0;
}

.navbar .navbar-toggler-icon {
	background-image: url(../images/icon_nav.svg);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: 0 0;
	height: 3em;
	width: 4em;
	height: 2em;
	width: 3.5em;
}

.navbar .navbar-nav .nav-link {
	color: var(--body-color) !important;
	padding: 10px 20px;
}

.navbar .navbar-nav .nav-item.active .nav-link {
	color: var(--primary) !important;
}

@media (max-width: 991.98px) {
	.navbar-collapse {
		background-color: var(--grey);
		border-top: 1px solid var(--grey);
		left: 0;
		padding-bottom: 20px;
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 2;
		padding-top: 15px;
		box-shadow: 0 20px 20px rgba(0, 0, 0, .25);
	}
}

@media (min-width: 992px) {
	.navbar {
		height: var(--navbar-desktop-height);
		padding: 20px 0;
	}
	
	.navbar-nav {
		padding: 20px 0;
	}

	.navbar-brand {
		width: 10.2rem; /* 20px=204px */
	}

	.navbar .navbar-nav .nav-item + .nav-item {
		margin-left: 30px;
	}

	.navbar .navbar-nav .nav-link {
		padding: 0;
	}
}

@media (min-width: 1600px) {
	.navbar {
		font-size: var(--font-size-default);
	}

	.navbar > .container-fluid {
		flex-flow: row nowrap;
		justify-content: flex-start;
	}

	.navbar .navbar-nav .nav-item + .nav-item {
		margin-left: 50px;
	}
}

.navbar-account {
	padding-top: 16px;
}

.navbar-account .navbar-nav {
	background-color: transparent;
	border-top: 1px solid #FFFFFF;
	padding-top: 16px;
}

@media (min-width: 992px) {
	.navbar-account {
		position: absolute; 
		width: 100%; 
		inset: 115px 0 0 0;
		padding-top: 0px;
		margin-bottom: var(--navbar-account-height);	
	}

	.navbar-dark .navbar-account .navbar-nav {
		background-color: #666666 !important;
	}

	.navbar-account .navbar-nav {
		padding-inline: 10px; 
		justify-content: center;
		background-color: var(--grey) !important;
	}

	.navbar:has(.navbar-account) {
		margin-bottom: var(--navbar-account-height);
	}
}

.nav-user .fa {
	line-height: 1.4;
}

.nav-user span {
	text-transform: capitalize;
	white-space: nowrap;
	overflow: hidden;
	max-width: 500px;
	text-overflow: ellipsis;
	display: inline-block;
}

/* Navbar Dark Mode
----------------------------------------------------------- */
.navbar-dark, 
.navbar-dark .navbar-collapse {
	background-color: #000000;
}

.navbar-dark .navbar-nav .nav-link {
	color: #FFFFFF!important;
}

.navbar-dark .navbar-nav .nav-item.active .nav-link,
.navbar-dark .navbar-nav .nav-item.nav-link .active {
	color: var(--navbar-dark-active)!important;
}

.navbar-dark .navbar-toggler-icon {
	filter: invert(1) brightness(2);
}

/* Modal
----------------------------------------------------------- */
.modal-content {
	border: 0;
  border-radius: 0;
}

.modal-header {
	border: 0;
	border-radius: 0;
}

.modal-body:not(.font-base) {
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 0.958rem; /* 6.9pt */
}

.modal-footer {
	border: 0;
  	border-radius: 0;
}

/* Footer
----------------------------------------------------------- */
.footer {
	background-color: var(--footer-bg-color);
	border-top: 1px solid var(--body-color);
	padding: 60px 0;
}

.footer a {
	text-decoration: none;
}

.footer-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-logo img {
	max-width: 170px;
	max-height: 70px;
}

.copyright {
	padding: 54px 0 0 0;
}

@media (min-width: 768px) {
	.footer {
		padding: 108px 0;
	}

	.footer-logo {
		align-items: flex-start;
		justify-content: flex-start;
	}
}

/* Footer Dark Mode
----------------------------------------------------------- */
.footer.dark-mode {
	background-color: var(--footer-dark-bg-color);
	color: var(--footer-dark-color);
}

.footer.dark-mode a, .footer.dark-mode .text-primary {
	color: var(--footer-dark-color)!important;
}

/* Cookies
----------------------------------------------------------- */
.cookies {
    background-color: rgba(0, 0, 0, 0.6);
    font-size: 0.8rem;
    padding: 11px 0;
	bottom: 0;
	color: #fff;
	left: 0;
	position: fixed;
	width: 100%;
	z-index: 99;
}

.cookies .container-fluid {
	max-width: 1722px;
}

.cookies p {
	margin: 0 15px 0 0;
}

.cookie-close {
	border: 1px solid #fff;
	border-radius: .5em;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 0.875rem;
	line-height: 1.33;
	padding: calc(0.275em - 1px) calc(1.25em - 1px);
	text-decoration: none;
	text-align: center;
	height: auto;
}

.cookies-text-link {
    text-decoration: underline!important;
}

.cookies-buttons {
    column-gap: 1rem;
}

.cookies-buttons a {
    cursor: pointer;
}

/* Table
----------------------------------------------------------- */
.c-project-col {
	color: var(--primary) !important;
}

/* Progress
----------------------------------------------------------- */
.progress {
	border-radius: 0;
	background-color: #fff;
	height: 1.875rem; /* 30px */
	overflow: unset;
}

.progress-bar {
	position: relative;	
	overflow: unset;
} 

.progress-bar::after {
	content: attr(aria-valuenow);
	position: absolute;
	left: 100%;	
	font-size: 1.5rem;
	line-height: 1.15;
	margin-left: -.45em;
	top: 100%;	
	color: #F0D232;
} 

/* Accordion
----------------------------------------------------------- */
.accordion {
	margin: 0 auto;
	max-width: 1190px;
}

.accordion .card {
	border-color: #E6E6E6;
	border-radius: 2rem;
	font-size: 1.313rem; 
	line-height: 1.2;
	text-align: left;
	margin-bottom: 1.5rem;
}

.accordion .card-header {
	background: none;
	border-bottom: 0;
	padding: 0;
}

.accordion .card-header .btn-link {	
	color: var(--body-color);
	font-size: var(--h4-font-size);
	font-weight: bold;
	line-height: 1.2;
	padding: 0.875rem 4.8rem 0.875rem 2rem;
	text-align: left;
	text-decoration: none;
	justify-content: flex-start;
	width: 100%;
	max-width: 100%;
}

.accordion .card-header .btn-link::after {
	border-radius: 50%;
	background-color: var(--primary);
	content: "+";
	display: block;
	position: absolute;
	right: 1.75rem;
	top: 1.05rem;
	height: 1.438rem; 
	line-height: 1.438rem;
	width: 1.438rem; 
	color: #fff;
	text-align: center;
}	

.accordion .card-header .btn-link[aria-expanded="true"]::after {
  	content: "-";
	background-color: black;
}

.accordion .card-body {	
	padding: 0.875rem 2rem;
}

/* Dropdown
----------------------------------------------------------- */
.dropdown.show .dropdown-toggle {
	border-top-left-radius: 1.35em;
	border-top-right-radius: 1.35em;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	position: relative;
	z-index: 1001;
}

.dropdown-menu {
	border: 0;
	border-radius: 0 0 2em 2em;
	margin-top: 0;
	min-width: 100%;
}

.dropdown-menu.show {
	box-shadow: var(--shadow);
}

.dropdown-item {
	color: var(--primary);
	padding: 0.95em 1.35em;
	position: relative;
}

.dropdown-item + .dropdown-item::before {
	height: 1px;
	background-color: var(--body-color);
	left: 10px;
	right: 10px;
	top: 0;
	position: absolute;
	z-index: 1;
	content: "";
	display: block;
	opacity: .12;
}

.dropdown-item:hover,
.dropdown-item:focus {
	background: none;
	color: var(--primary);
}

/* FAQ
----------------------------------------------------------- */
.faq-title {
	border-top: 1px solid #E6E6E6;
	border-left: 1px solid #E6E6E6;
	border-right: 1px solid #E6E6E6;
	color: #8d8d8d;
	font-size: 1.313rem; 
	line-height: 1.2;
	padding: 0.875rem 1.25rem;
}

.faq-text {
	font-size: 0.794rem; /* 12.7px */
	font-size: 1.313rem; 
	line-height: 1.2;
	margin-top: .5em;
	padding: 0.875rem 1.25rem;
}

.faq-text a {
	text-decoration: none;
}

/* List
----------------------------------------------------------- */
.step-list {
	list-style: none;
	font-size: 1.25rem;
	margin: 0;
	padding: 0;
}

.step-list li {
	margin: 0.5rem 0;
}

.step-list li a {
	background-color: #C78CBC;
	border-radius: 2rem;	
	display: block;
	min-height: 2.5rem;
	position: relative;
	padding: .5rem 1rem .5rem 2.5rem;
	text-align: center;
	color: #fff;
}

.step-list li a:hover {
	color: #fff;
}

.step-list li a span {
	background-color: #A54794;
	border: 2px solid #fff;
	border-radius: 50%;	
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.875rem; /* 30px */
	position: absolute;
	height: 2.5rem;
	width: 2.5rem;
	left: 0;
	top: 0;
}

@media (min-width: 768px) {
	.step-list {
		display: flex;
		flex-wrap: wrap;
		margin-left: -10px;
		margin-right: -10px;
	}

	.step-list li {
		padding: 0 10px;
		max-width: 33.3333%;
		width: 100%;
	}
}

/* Alert
----------------------------------------------------------- */
.alert {
	border: 0;
	border-radius: 1.5rem;
	color: #fff;
	position: fixed;
	text-align: center;
	top: 3rem;
	padding: 2rem;
	left: 50%;
	transform: translateX(-50%);
	width: 19.063rem;
	z-index: 2;
}

.alert .close {
	box-shadow: none;
	color: #fff;
	opacity: 1 !important;
}

/* Card
----------------------------------------------------------- */
.card {
	border: 0;
	border-radius: 0;
}

/* CTA
----------------------------------------------------------- */
.cta {
	background-color: var(--primary);
	color: #fff;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

.cta .icon-scrolldown {
	flex-shrink: 0;
}

.cta img {
	max-height: 2.25rem;
	max-width: 13.5rem;
}

@media (min-width: 768px) {
	.cta {
		display: none;
	}
}

#showHide {
	cursor: pointer;
}

.numRounded {
	border: 2px solid var(--primary);
	color: var(--primary);
	padding: 5px 13px;
	font-size: var(--font-size-default);
	font-weight: bold;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	height: 2.190em;
	width: 2.190em;
}

.inputDiv {
	background-color: #F2F2F2;
	color: #AAB7B6;
	border: 1px solid #C2C2C2;
	border-radius: 15px;
	padding: 5px 15px;
}

/* Quiz
----------------------------------------------------------- */
.quiz .custom-control {
	padding-left: 0;
}

.quiz .custom-control-input:checked ~ .btn {
	background-color: #000 !important;
	color: #fff !important;
}

.quiz .btn {
	border-top-left-radius: 2.25rem;
	border-bottom-left-radius: 2.25rem;
	margin: 0;
	position: relative;
	/* floating-circle + btn-outline-primary padding + border width */
	padding-left: calc(3.292rem - 1px);
}

.quiz .btn .floating-circle {
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 50%;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	position: absolute;
	left: -1px;
	/* top: -1px; */
	top: 50%;
	transform: translateY(-50%);
	height: 2.625rem; /* 42px */
	width: 2.625rem; /* 42px */
}

/* FAQs
----------------------------------------------------------- */
.cardFaqs {
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
}

.cardFaqs:last-of-type {
	border-bottom: 1px solid #cccccc;
}

/* Hero
----------------------------------------------------------- */
.hero {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.hero-bg {
	/*background-image: url(../images/gradient.png);*/
	background-repeat: repeat-y;
	background-position: left top;
	background-size: 50% 100%;
	height: 410px;
	padding: 30px 0;
}

.hero .container-fluid {
  position: relative;
}

.hero .card,
.hero .container-fluid {
	height: 100%;
}

.hero .card-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
}

.hero .card-title {
	font-size: 2.125rem;
	font-weight: bold;
	margin: 0;
}

.hero .card-text {
	font-size: 1.2rem;
	margin-top: 1.25rem;
}

.hero .btn {
	margin-top: 2.5rem;
}

.hero .floating-badge {
  position: absolute;
  right: 0;
  z-index: 1;
  width: 200px;
  bottom: -150px;
}

.hero .floating-badge > img {
  width: 100%;
}

@media (min-width: 576px) {
  .hero .floating-badge {
    right: 10px;
    bottom: -50px;
  }
}

@media (min-width: 768px) {
  .hero .floating-badge {
    right: 10px;
    bottom: unset;
    top: 10px;
  }
}

@media (min-width: 992px) {
	.section-home-mobile {
		display: none;
	}

	.hero-bg {
		height: 32rem; /* 37.35rem; /* 20px= 747px */
		padding: 52px 0;
	}

	.hero .card {
		max-width: 32.25rem; /* 20px= 645px */
	}

	.hero .card-body {
		padding: 6.5rem 5rem 6.5rem 6.5rem; /* 20px= 130px 100px 130px 130px */
		padding: 2.5rem 4.25rem; 
	}

	.hero .card-title {
		font-size: 2.5rem; /* 3.125rem */
		font-weight: bold;
		margin: 0;
	}
	
	.hero .card-text {
		font-size: 1.35rem; /* 1.563rem; */
		margin-top: 1.5rem;
	}
	
	.hero .btn {
		margin-top: 3rem;
	}

  .hero .floating-badge {
    right: 0;
    top: 0;
    width: unset;
  }
  
}

.account-sub-nav {
	height: fit-content!important;
	padding: 5px 0;
	box-shadow: none;
	background-color: var(--grey);
}

.progressFather {
	border-radius: 35px;
	height: 50px;
	width: 100%;
	background-color: #DADADA;
}

#inicioProgess {
	position: relative;
	left: 0;
}
#finProgess {
	position: relative;
	right: 0;
}

.progressChild{
	position: relative;
}

.puntuacion1, .puntuacion2{
	position: absolute;
}

.puntuacion1 {
	height: 50px;
	background-color: var(--primary);
}

.puntuacion2 {
	font-weight: bolder;
	color: white;
	padding: 0 15px 0 15px;
	width: 100%;
	top: 12px;
}

.shadowSelect {
	-webkit-box-shadow: 5px 5px 5px #666;
	-moz-box-shadow: 5px 5px 5px #666;
	box-shadow: 5px 5px 5px #666;
}


/* Media
----------------------------------------------------------- */
.media {
	border-top: 1px solid rgba(var(--dark), .12);
	display: flex;
	align-items: center;
	padding: 1rem 0;
}

.media > div {
	flex-grow: 1;
}

.media-image {
	flex-shrink: 0;
	margin-right: 1.5rem;
	width: 92px;
}

.media-title {
	font-weight: bold;
	padding-right: 1.5rem;
	width: 260px;
}

.media-size {
	border-left: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
	color: #C6C6C6;
	flex-shrink: 0;
	font-size: var(--font-size-small);
	text-align: center;
	width: 92px;
}

.media-text {
	font-size: var(--font-size-xs);
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.media-buttons {
	display: flex;
	flex-shrink: 0;
	margin-left: auto;
}

@media (max-width: 991.98px) {
	.media {
		flex-direction: column;
	}

	.media-image {
		margin-right: 0;
		margin-bottom: 1.5rem;
	}

	.media-title {
		padding-right: 0;
		text-align: center;
	}

	.media-size {
		border: 0;
		margin-top: 1.5rem;
		width: 100%;
	}

	.media-title,
	.media-size {
		width: 100%;
	}

	.media-text {
		padding: 1.5rem 0;
	}

	.media-buttons { 
		margin: 0;
		justify-content: center;
	}
}

.slick-slide{
	margin: 10px;
}

.slick-slide img{
	width: 100%;
	border: 2px solid #fff;
}

.slick-prev::before, .slick-next::before {
	content: none!important;
}
.fas {
	color: var(--primary);
	font-size: 20px;
}

.my-custom-scrollbar {
	position: relative;
	height: 500px;
	overflow: auto;
	margin-bottom: 15px;
}
.table-wrapper-scroll-y {
	display: block;
}

.selectedItem {
	/* border: 2px solid #3871e0; */
	background-color:#3871e0 !important;
}
.cuestionario{
	background-color: var(--primary) !important;
	color: #fff !important;
	cursor: pointer;
}
.pop_up{
	width: auto !important;
	height: auto !important;
	right: 0 !important;
	left: auto !important;
	margin: 50px;
}
.banner_home_slider_group{
	/* background-color: #DDDDDD; */
	border-radius: 30px;
}
/* .banner_home_slider .slick-dots{
	text-align: left;
} */
 .custom_slider_dots li {
	background-color: white !important;
	border-radius: 50% !important;
	border: 1px solid #AE1163;
}
 .custom_slider_dots ul {
	bottom: 30px;
 }

.custom_slider_dots .slick-dots .slick-active {
	background-color: #AE1163 !important;
}

.custom_slider_dots .slick-dots li{
	width: 10px !important;
	height: 10px !important;
}

@media (min-width: 768px) {

	.custom_slider_dots .slick-dots li{
		width: 20px !important;
		height: 20px !important;
	}
}

.custom_slider_dots li button::before{
content: none !important;
}

.custom_slider_dots.slick-dotted.slick-slider{
	margin-bottom: 0px !important;
}

.custom_slider_dots .slick-slide{
	margin: 0;
}

.banner_home_fija {
	top: 0;
	right: 0;
	margin-top: 10px;
	margin-right: 100px;
}
.banner_home_modulo img{
	border-radius: 20px;
}
.banner_home_slider_container{
	width: calc(100% - 420px);
}
.banner_home_slider{
	width: 100%;
}

@media (max-width: 1200px) {
.banner_home_slider{
	width: 100%;
}
.banner_home_slider_container{
	width: 100%;
}
}
.impulsa_digital_categorias,
.impulsa_digital_content {
	background-color: #AE1163;
}
.impulsa_group{
	background-color: rgb(158,154,155,0.2);
}
.impulsa_gray_color{
	background-color: rgb(29, 29, 27, 0.2);
	margin-top: 0;
	margin-bottom: 0;
}
.impulsa_group_header{
	border-bottom: 1px solid #AE1163;
	max-width: 1000px !important;
}
.impulsa_slider_items{
	padding: 15px;
	border-radius: 25px;
	background-color: white;
	box-shadow: 0px 0px 10px rgb(0,0,0,0.2);
	/* max-height: 300px !important;
	max-width: 300px !important; */

  height: unset !important;
  float: none !important;
}
.impulsa_select_img{
	width: 30px !important;
	height: 30px !important;
}
.impulsa_digital_content_video{
		border-right: 1px solid #AE1163;
		border-left: 1px solid #AE1163;
}
.clickable{
	cursor: pointer;
}
.responsive-impulsa{
	max-width: 400px !important;
	width: 100%;
}

.responsive-impulsa .slick-track {
  display: flex;
}

.archivo_banner_impulsa{
	max-width: 400px !important;
}

.e_commerce_images {
	height: 120px;
}

.redes_images {
	height: 150px;
}

@media (min-width: 992px) {

	/* pc */
	.responsive-impulsa {
		max-width: 1200px !important;
	}

	.archivo_banner_impulsa {
		max-width: 1200px !important;
	}

	.e_commerce_images {
		height: 170px;
	}

	.redes_images {
		height: 200px;
	}

	.impulsa_slider_items{
		padding: 25px;
	}
	.impulsa_gray_color{
		margin-top: 1rem;
		margin-bottom: 1rem;
	}
}
.imagnes_home_slider_footer{
	width:100% !important;
	max-height:300px !important;
}

/* Icon radio
------------------------------------------------- */
.icon-radio {
	background-image: url(../images/selectable_item.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%;
	display: block;
	height: 30px;
	width: 30px;
	cursor: pointer;
}

.active .icon-radio {
	background-image: url(../images/selected_item.png);
}

.responsive-impulsa .slick-arrow {
	height: 100px;
	margin-left: 10px;
	margin-right: 10px;
}

.impulsa_digital_videos{
	object-fit: cover;
}

.pdf_show{
	width: 100%;
	height: 300px;
	max-width: 100%;
}

@media (min-width: 992px) {
	.pdf_show{
		width: 70%;
		height: 1000px;
	}
}
.cursor_pointer{
	cursor: pointer;
}

.impulsa_header_content{
	max-width: 640px !important;
	max-height: 360px !important;
	width: 100% !important;
	height: 100% !important;
}

.w-mobile-100{
	width: 100% !important;
}

@media (min-width: 992px) {
	.w-lg-25 {
		width: 25% !important;
	}

	.btn-sm-lg {
		font-size: 1rem;
		line-height: 1.33;
		min-height: 0;
		padding: 0.5em 1.5em;
	}

	.btn-sm-lg.btn-outline-primary {
		padding: calc(0.5em - 1px) calc(1.5em - 1px);
	}

	.btn-sm-lg.py-2 {
		padding-top: 0.75rem !important;
		padding-bottom: 0.75rem !important;
	}

	.w-mobile-100{
		width: auto !important;
	}
}

.placeholder-center::placeholder{
	text-align: center;
}
.modal_propia {
	position: fixed;
	z-index: 9999999;
	background-color: white;
	padding: 20px;
	border-radius: 15px;
	border: 0.5px solid var(--primary);
	left: 50% !important;
	right: auto !important;
	transform: translate(-50%, 0) !important;
	max-width: 600px;
	max-height: 700px;
	width: 100%;
	overflow: auto;
}

.btn-outline-primary {
	background-color: transparent !important;
	border: 1px solid var(--primary) !important;
	color: var(--primary) !important;
}

.btn-outline-primary:hover {
	color: white !important;
	background-color: var(--primary) !important;
}

.btn-sm.btn-outline-primary {
	padding: calc(0.5em - 1px) calc(1.5em - 1px);
}

.warning {
    border-right: 100px solid transparent;
    border-left: 100px solid transparent;
    border-bottom: 150px solid #f0ad4e;
    width: 0;
    height: 0;
}

.placeholder-center::placeholder{
	text-align: center !important;
  }

.placeholder-size-default::placeholder{
	font-size: var(--font-size-default) !important;
  }

.text-border-danger{
	-webkit-text-stroke: 2px #dc3545;
}
/* custom checkbox */
.custom-button-checkbox {
	position: relative;
	max-width: 200px;
	width: 100%;
	height: 45px;
	overflow: hidden;
	border: 1px solid var(--primary);
	border-radius: 2em;
}

.custom-slide-checkbox {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
	z-index: 3;
}

.check-first {
	z-index: 2;
}

.layer {
	width: 100%;
	background-color: #ebf7fc;
	transition: 0.3s ease all;
	z-index: 1;
}

.custom-button-checkbox .check-first:before,
.custom-button-checkbox .check-first:after,
.custom-button-checkbox .check-first span {
	position: absolute;
	top: 0;
	max-width: 100px;
	width: 100%;
	height: 45px;
	font-size: var(--font-size-lg);
	font-weight: 800;
	letter-spacing: 0.02em;
	font-size: var(--font-size-default);
	text-align: center;
	line-height: 1;
	border-radius: 2em;
	transition: 0.3s ease all;
}

.custom-button-checkbox .check-first:after,
.custom-button-checkbox .check-first span {
	top: 30%;
}

.custom-button-checkbox .check-first:before {
	content: "";
	left: 0;
	background-color: var(--primary);
}

.custom-button-checkbox .check-first:after {
	content: "Sí";
	right: 4px;
	color: var(--primary);
}

.custom-button-checkbox .check-first span {
	display: inline-block;
	left: 4px;
	color: #fff;
	z-index: 1;
}

.custom-button-checkbox .custom-slide-checkbox:checked + .check-first span {
	color: var(--primary);
}

.custom-button-checkbox .custom-slide-checkbox:checked + .check-first:before {
	left: 100px;
	background-color: var(--primary);
}

.custom-button-checkbox .custom-slide-checkbox:checked + .check-first:after {
	color: #fff;
}

.custom-button-checkbox .custom-slide-checkbox:checked ~ .layer {
	background-color: #fcebeb;
}

.custom-spinner-primary {
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 3px solid rgba(var(--primary-hex), .3);
	border-radius: 50%;
	border-top-color: #fff;
	animation: custom-spin 1s ease-in-out infinite;
	-webkit-animation: custom-spin 1s ease-in-out infinite;
}

.custom-spinner-secondary{
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 3px solid rgba(var(--primary-hex), .8);
	border-radius: 50%;
	border-top-color: #fff;
	animation: custom-spin 1s ease-in-out infinite;
	-webkit-animation: custom-spin 1s ease-in-out infinite;
}

@keyframes custom-spin {
	to {
		-webkit-transform: rotate(360deg);
	}
}

@-webkit-keyframes custom-spin {
	to {
		-webkit-transform: rotate(360deg);
	}
}

.shiny-text{
	transition: text-shadow 1s ease-in-out;
}

.shiny-text:hover{
	text-shadow: 0 0 10px var(--primary);
}

.custom-badge {
	max-width: 100%;
}

@media (min-width: 992px) {
	.custom-badge {
		max-width: 50%;
	}
}

iframe.aprende {
	border: none !important;
	width: 100%;
	height: 100%;
}

.mw-p-50-m-85 {
	max-width: 85% !important;
}

@media (min-width: 992px) {
	.mw-p-50-m-85 {
		max-width: 50% !important;
	}
}

.actualidad-item-text {
	min-height: 43px;
}

.actualidad-item-img {
	min-height: 403px; 
	min-width: auto;
}

.actualidad-item-img,
.actualidad-item-img2 {
	border: 0 none;
}

.actualidad-item-noimage {
	background-color: #ededed;
	width: 100%;
	display: block;
}

/* Check User: Landing Home
------------------------------------------------- */
.landing-home {
	color: #fff;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0 auto;
	/* */
    max-width: 660px;
    padding: 0 15px;
}

.landing-home-hero-section {
	flex: 1;
	padding-top: calc(210px / 2);
	text-align: center;
	background-color: var(--primary);
	height: 50vh;
	margin-top: 160px;
}

.landing-home-hero-section .container {
	margin-top: 30px;
	margin-bottom: 30px;
}

.landing-home-logo {
	width: 210px;
	height: 210px;
	border: 2px solid var(--primary);
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 40px;
	left: 50%;
	margin-left: calc(0px - calc(210px / 2));
}

.landing-home.dark .landing-home-logo {
	border-color: #fff;
	background-color: #000;
}

.landing-home-logo img {
	max-width: 190px;
	max-height: 190px;
}        

.landing-home .btn-custom {
	background-color: #fff;
	color: var(--primary);
	border: 2px solid #fff;
	border-radius: 25px;
	padding: 10px 30px;
	text-transform: uppercase;
	font-weight: bold;
	margin: 10px;
}

.landing-home .btn-custom:hover {
	background-color: transparent;
	color: #fff;
}

.landing-home-footer {
	background-color: #000;
	position: relative;
	bottom: 0;
	width: 100%;
}

.landing-home-footer-bg {
	background-color: rgba(var(--primary-hex), 0.5);
	padding: 20px 0;
	text-align: center;
}

.landing-home-footer .copyright {
	padding: 0;
}

.landing-home-footer .copyright-text {
	flex: 1!important;
	max-width: 100%!important;
}

/* Upload Ticket
------------------------------------------------- */
.my-custom-scrollbar::-webkit-scrollbar {
    background: transparent;
}

.main-row {
	max-width: 1100px;
	flex-wrap: nowrap;
	justify-content: center;
	padding-left: 10px;
    padding-right: 10px;
}

.main-col-step1 {
	margin-right: 10px!important;
}

.main-col-step2 {
	margin-left: 10px!important;
}

.referencia-label-und,
.referencia-label-pts {
	display: none;
}

.output-image {
	max-width: 150px;
	max-height: 150px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

/* new ticket upload reference styles */
.select-container {
	position: relative;
}

.firstSelect, .secondInput {
	position: absolute;
	width: 100%;
	padding: 8px;
	font-size: 16px;
	box-sizing: border-box;
}

.secondInput {
	z-index: 10;
	padding-right: 40px;
}

.back-button {
	padding: 8px;
	background: none;
	cursor: pointer;
	position: absolute;
	top: 9px;
	right: 0;
	z-index: 11;
	width: 40px;
	border: 0 none;
}

.autocomplete-container {
	position: relative;
	width: 100%;
}

.autocomplete-items {
	position: absolute;
	border: 1px solid var(--body-color);
	border-radius: 1.5em;
	z-index: 99;
	width: 100%;
	top: 56px;
	left: 0px;
	right: 0;
	max-height: 200px;
	overflow-y: auto;
	background: white;
	text-align: left;
}

.autocomplete-items div {
	padding: 10px;
	cursor: pointer;
	background-color: #fff;
}

.autocomplete-items div:hover {
	background-color: #e9e9e9;
}

.autocomplete-family-category {	
    background: #ededed;
	color: #333;
    border-radius: 18px;
    position: absolute;
    text-align: left;
    top: 56px;
    padding-top: 11px;
    width: 100%;
    height: 80px;
	font-weight: bold;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.autocomplete-family-category + .autocomplete-container .autocomplete-items {
	margin-top: 40px;
}

@media (max-width: 991px) {
	.main-row {
		flex-wrap: wrap;
		padding-left: 0px;
		padding-right: 0px;
	}

	.main-col-step1 {
		margin-right: 0px!important;
	}
	
	.main-col-step2 {
		margin-left: 0px!important;
	}
}

@media (max-width: 590px) {
    #subir_ticket .table thead th {
        display: none;
    }

    #subir_ticket .table thead th.referencia-td {
        text-align: left;
    }

    #subir_ticket .table {
        border-top: 2px solid #dee2e6;
        margin-top: 16px;
    }

    #subir_ticket .table {
        width: 100%;
        border-collapse: collapse;
    }

    #subir_ticket .table tbody td.referencia-td {
        width: 100%!important;
        display: block!important;
		margin-top: 16px;
		min-height: 80px;
	}

    #subir_ticket .table tbody td:not(.referencia-td) {
        width: 50%!important;
        display: inline-block!important;
    }    

	#subir_ticket .table tbody td.delete-td {
		width: 100%!important;
		text-align: center!important;
		border-top: 0 none;
		padding-top: 0px!important;
	}

	#subir_ticket .table tbody td.und-td {
		padding-left: 0px;
		padding-right: calc(0.75rem / 2)!important;
	}

	#subir_ticket .table tbody td.pts-td {
		padding-left: calc(0.75rem / 2)!important;
	}	

	#subir_ticket .table tbody td.und-td,
	#subir_ticket .table tbody td.pts-td {
		border-top: 0 none;
		padding-top: 0px!important;
	}

	#subir_ticket .table tbody .referencia-label-und,
	#subir_ticket .table tbody .referencia-label-pts {
		display: block;
	}
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav {
		align-items: center;
	}

	.navbar-expand-lg .navbar-nav .dropdown-menu.show {
		display: flex;
		min-width: 174px;
		right: 15px;
		left: auto;
		margin-top: -40px;
		flex-direction: column;
		text-align: right;
		border-radius: 0!important;
		row-gap: 6px;
		background-color: #fff;
	}
}

#imagen_pop_up_ticket {
    max-height: 600px;
    object-fit: scale-down;
    background-color: #eee;
}

#modalPopUpFoto {
	background-color: #eee;
}

#modalPopUpFoto .close {
	background-color: #000;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    line-height: 20px;
    margin-right: -11px;
	opacity: 1;
}

#modalPopUpFoto .close:hover {
	opacity: .5;
}

#modalPopUpFoto .close span {
	color: #fff;
}

.font-header-points {
	font-size: 10px;
}

.nav-item a.active {
	color: var(--primary);
}

.retos-container {
	gap: 15px;
}

.image-container {
	width: 100%;
	max-width: 469px;
	height: 469px;
	overflow: hidden;
	margin: auto;
	background-color: #ededed;
}

.image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.reto-item-noimage {
	width: 469px;
	height: 469px;
	aspect-ratio: 1/1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 15px;
	text-align: center;
}    

@media (max-width: 499px) {
	.image-container {
		height: auto;
	}

	.col-container {
		flex-grow: 1;
	}

	.reto-item-noimage {
		width: 100%;
		height: 100%;
	}
}