@charset "utf-8";

*, *::before, *::after { box-sizing: border-box; }

html {
	height: 100%;
	scroll-behavior: smooth;
}

html, body, h1, h2, h3, h4, h5, h6, p, ul, li, ol, blockquote, button {
	margin: 0;
	padding: 0;
}

body {
	position: relative;
	height: 100%;
	font-size: 18px;
	line-height: 1.5;
	color: #6d6d6d;
	background-color: #fff;
}
	body *, body *::before, body *::after { transition: all 0.2s, z-index 0s; }

h1, h2, h3, h4, h5, h6 {
	margin-bottom: 0.5em;
	line-height: 1.2;
}
	h1 { font-size: 2.6rem; }
	h2 { font-size: 2.2rem; }
	h3 { font-size: 1.8rem; }
	h4 { font-size: 1.4rem; }
	h5 { font-size: 1rem; }

p { margin-bottom: 1em; }

small { font-size: 0.85rem; }

a { position: relative; }
	a:link {
		text-decoration: none;
		color: #505050;
	}
	a:hover { color: #ff3300; }
	a:focus { outline: none; }

	a > i, a > i::before, a > i::after,
	button > i, button > i::before, button > i::after,
	label > i, label > i::before, label > i::after,
	a > svg, a > svg::before, a > svg::after,
	button > svg, button > svg::before, button > svg::after,
	label > svg, label > svg::before, label > svg::after,
	a > span > i, a > span > i::before, a > span > i::after,
	button > span > i, button > span > i::before, button > span > i::after,
	label > span > i, label > span > i::before, label > span > i::after,
	a > svg > path, a > svg > path::before, a > svg > path::after,
	button > svg > path, button > svg > path::before, button > svg > path::after,
	label > svg > path, label > svg > path::before, label > svg > path::after {
		transition: none;
	}
	
ul { list-style: none; }

table { border-spacing: 0; }

img, svg {
	display: inline-block;
	max-width: 100%;
	vertical-align: bottom;
	border: 0;/* IE Hack */
}
svg { fill: currentColor; }
svg.icon, svg.icon-md, svg.icon-xl {
	display: inline-block;
	height: auto;
}
	svg.icon { width: 32px; }
	svg.icon-md { width: 64px; }
	svg.icon-xl { width: 128px; }

blockquote {
	position: relative;
	padding-left: 2rem;
}
	blockquote::before {
		content: "\201C";
		display: inline-block;
		position: absolute;
		font-size: 4rem;
		left: 0;
		top: 0.8rem;
	}
	blockquote cite {
		display: block;
		font-size: 0.9rem;
	}
	blockquote cite::before { content: "\2014 \2009"; }

code { font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; }

	/* Formularios */
form {
	position: relative;
	width: 100%;
	margin-bottom: 3rem;
	padding: 1rem;
	border: 1px solid #7d7d7d;
	border-radius: 5px;
}

fieldset {
	padding: 1rem;
	margin-bottom: 1rem;
	border: 1px solid #7d7d7d;
	border-radius: 5px;
	outline: none;
	overflow: visible;
}

input[type="text"], input[type="password"], input[type="email"], input[type="url"],
input[type="number"], input[type="date"], input[type="time"], textarea, select {
	width: 100%;
	padding: 10px;
	font-size: 1rem;
	color: #7d7d7d;
	border: 1px solid #7d7d7d;
	border-radius: 5px;
	background-color: transparent;
}
input[type="date"] { position: relative; }
input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background: transparent;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="url"]:focus, input[type="number"]:focus, input[type="date"]:focus,
textarea:focus, select:focus {
	/* Experimental */
	box-shadow: 0 0 2px rgba(30,140,190,.8);
}

button {
	position: relative;
	outline: none;
	cursor: pointer;
}
input[type="submit"], input[type="button"].submit, button[type="submit"],
button.submit, .btn-send {
	padding: 12px 25px;
	font-size: 1rem;
	color: #505050;
	background-color: #ffe400;
	border: none;
	border-radius: 5px;
	outline: none;
	cursor: pointer;
}
	input[type="submit"]:hover, input[type="button"].submit:hover, button[type="submit"]:hover,
	button.submit:hover, .btn-send:hover {
		box-shadow: 1px 1px #505050, 2px 2px #505050, 2px 2px #505050;
	}
	a.btn-send:hover { color: #505050; }

input[type="reset"], input[type="button"].reset, button[type="reset"],
button.reset, .btn-simple {
	margin-right: 1.5rem;
	color: #303030;
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
}
	input[type="reset"]:hover, input[type="reset"].reset:hover, button[type="reset"]:hover,
	button.reset:hover, .btn-simple:hover {
		text-decoration: underline;
	}

input[type="submit"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner, button::-moz-focus-inner {
	border: 0;
}

input[type="text"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder,
input[type="number"]::-webkit-input-placeholder, input[type="date"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
input[type="text"]::-moz-placeholder, input[type="password"]::-moz-placeholder,
input[type="email"]::-moz-placeholder, input[type="url"]::-moz-placeholder,
input[type="number"]::-moz-placeholder, input[type="date"]::-moz-placeholder,
textarea::-moz-placeholder,
input[type="text"]::-ms-input-placeholder, input[type="password"]::-ms-input-placeholder,
input[type="email"]::-ms-input-placeholder, input[type="url"]::-ms-input-placeholder,
input[type="number"]::-ms-input-placeholder, input[type="date"]::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	color: #7d7d7d;
}

form *[readonly], form *[disabled], input[type="submit"][disabled],
input[type="submit"][disabled]:hover, input[type="reset"][disabled],
input[type="reset"][disabled]:hover, select.disabled {
	border: 1px solid #7d7d7d;
	background-color: #e3e3e3;
}
input[type="submit"][disabled]:hover { box-shadow: none; }
select option[disabled] { display: none; }
fieldset[disabled] {
	background: none;
	border: none;
}

input[type="text"].input-error, input[type="password"].input-error,
input[type="radio"].input-error, input[type="checkbox"].input-error,
input[type="email"].input-error, input[type="url"].input-error,
input[type="number"].input-error, input[type="date"].input-error,
input[type="time"].input-error, textarea.input-error, select.input-error {
	border: 1px solid #dd4b39;
}

	/* Efecto Placeholder */
*::placeholder { color: transparent; }
input ~ label.label-placeholder,
textarea ~ label.label-placeholder,
select ~ label.label-placeholder {
	position: absolute;
	top: 8px;
	left: 10px;
	padding: 0 4px;
	color: #7d7d7d;
	cursor: text;
	/*/z-index: -1;*/
}
	input:focus ~ label.label-placeholder,
	input:not(:placeholder-shown) ~ label.label-placeholder,
	textarea:focus ~ label.label-placeholder,
	textarea:not(:placeholder-shown) ~ label.label-placeholder,
	select ~ label.label-placeholder {
		top: -10px;
		font-size: 14px;
		background-color: #fff;
		z-index: 1;
	}

div.form-row {
	position: relative;
	margin-bottom: 1rem;
	overflow: visible;
}
	div.col-2 div.form-row, div.col-3 div.form-row, div.col-3-span-2 div.form-row { padding-right: 0.5rem; }
	div.col-2:last-child > div.form-row, div.col-3:last-child > div.form-row { padding-right: 0; }

input.captcha { width: 40%; }
.captcha-container {
	position: absolute;
	top: 0;
	left: 40%;
	cursor: pointer;
}
	.captcha-container span {
		position: absolute;
		display: inline-block;
		width: 22px;
	}
.eye-container {
	position: absolute;
	top: 3px;
	right: 6px;
	cursor: pointer;
	width: 24px;
}
small.input-tip, small.error-msg {
	position: relative;
	font-size: 12px;
}
	small.input-tip {
		display: block;
		color: #7d7d7d;
	}
	small.error-msg {
		display: none;
		padding-left: 12px;
		color: #dd4b39;
	}
	small.error-msg img, small.error-msg svg {
		position: absolute;
		left: 0;
		top: 3px;
		width: 12px;
	}

div.submit-box {
	position: relative;
	display: inline-block;
	margin: 0 auto;
}
div.loading-box {
	position: absolute;
	width: 100%;
	}
	div.loading {
		position: relative;
		padding-top: 2px;
		text-align: center;
	}
	div.spinner {
		width: 2rem;
		height: 2rem;
		margin: 0 auto;
		border: 4px solid #eee;
		border-top: 4px solid rgba(0, 0, 0, .6);
		border-radius: 50%;
		animation: btnSpinner 1.5s linear infinite;
	}
	@keyframes btnSpinner {
		0% { transform: rotate(0deg); }
		100% { transform: rotate(360deg); }
	}

/* Modal boxes */
.modal-box-wrapper { background-color: rgba(0, 0, 0, .6); }
.modal-box-wrapper-no-bg { background-color: none; }
.modal-box {
	background-color: #fff;
	animation: modalBoxEntrada 0.3s;
}
@keyframes modalBoxEntrada {
	from {
		opacity: 0;
		transform: scale(0);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
.btn-modal-close {
	font-weight: bold;
	color: #eee;
	transition: all .18s ease;
}
	.btn-modal-close:hover {
		color: #303030;
		background-color: #eee;
		text-decoration: none;
		cursor: pointer;
	}
	.btn-modal-close::before, .btn-modal-close::after { display: none; }

	/* Alertas */
div.green-box { background-color: #4CAF50; }
div.blue-box { background-color: #2196F3; }
div.orange-box { background-color: #ff9800; }
div.red-box { background-color: #f44336; }
div.black-box { background-color: #000; }
	div.green-box h2, div.green-box h3, div.green-box p,
	div.orange-box h2, div.orange-box h3, div.orange-box p,
	div.red-box h2, div.red-box h3, div.red-box p,
	div.black-box h2, div.black-box h3, div.black-box p {
		color: #fff;
	}

	/* Snackbar / Toast */
.snackbar {
	border-radius: 4px;
	background-color: rgba(0, 0, 0, .6);
	color: #fff;
	top: 0;
}
	.snackbar-show { animation: snackFadeIn 0.5s; }
	.snackbar-hide {
		opacity: 0;
		animation: snackFadeOut 0.5s;
	}
@keyframes snackFadeIn {
	from {top: -4rem; opacity: 0;}
	to {top: 0; opacity: 1;}
}
@keyframes snackFadeOut {
	from {top: 0; opacity: 1;}
	to {top: -4rem; opacity: 0;}
}

	/* Flechas para Tooltips */
.arrow-up, .arrow-right, .arrow-down, .arrow-left {
	position: absolute;
	border: 10px solid transparent;
	width: 0;
	height: 0;
}
	.arrow-up {
		border-top: none;
		border-bottom-color: #fff;
	}
	.arrow-right {
		border-right: none;
		border-left-color: #fff;
	}
	.arrow-down {
		border-bottom: none;
		border-top-color: #fff;
	}
	.arrow-left {
		border-left: none;
		border-right-color: #fff;
	}

	/* Tooltips */
.tooltip {
	position: relative;
	visibility: hidden;
}
	.tooltip-left .arrow-right {
		top: -2rem;
		border-left-color: rgba(0, 0, 0, .8);
	}
	.tooltip-right .arrow-left {
		top: -2rem;
		right: 0;
		border-right-color: rgba(0, 0, 0, .8);
	}
	.tooltip .tooltip-content {
		position: absolute;
		width: 75%;
		padding: 1rem;
		background: rgba(0, 0, 0, .8);
		z-index: 1201 !important;
		font-size: 0.8rem;
	}
	.tooltip .tooltip-content p { color: #eee; }
	.tooltip-left .tooltip-content {
		top: -4rem;
		left: -75%;
	}
	.tooltip-right .tooltip-content {
		top: -2rem;
		left: 100%;
	}

	/* Flechas */
div.iarrow-container {
	height: 1rem;
	text-align: center;
    cursor: pointer;
}
	div.iarrow-container:hover i.iarrow {
		border: solid rgba(0, 0, 0, 1);
		border-width: 0 0.2rem 0.2rem 0;
	}
		i.iarrow {
			border: solid rgba(0, 0, 0, .8);
			border-width: 0 0.2rem 0.2rem 0;
			display: inline-block;
			padding: 0.2rem;
			margin: 0 auto;
		}
			i.iarrow-right { transform: rotate(-45deg); }
			i.iarrow-left { transform: rotate(135deg); }
			i.iarrow-up { transform: rotate(-135deg); }
			i.iarrow-down {
				transform: rotate(45deg);
				margin-bottom: 0.2rem;
			}

	/* Sugerencias */
.sugerencia { position: relative; }
	.sugerencia ul {
		position: absolute;
		width: 100%;
	}
	.sugerencia ul li {
		padding: 0 1rem;
		overflow: hidden;
	}
	.sugerencia ul li a { display: block; }
	/*.sugerencia ul li.selected {}*/
	td .sugerencia ul {	padding-top: 0.5rem; }/* Experimental */

	/* Tabs */
div.tabs { overflow: hidden; }
	div.tab-content { animation: fadeEffect 1s; }
@keyframes fadeEffect {
	from {opacity: 0;}
	to {opacity: 1;}
}

	/* Tabs - Segunda Versión */
.label-tab-desktop { display: none; }
.lnk-tab-mobile {
	display: block;
	padding: 10px;
	color: #505050;
	background-color: #ffe400;
	border-bottom: 1px #505050;
	cursor: pointer;
	user-select: none;
}
	.lnk-tab-mobile::before {
		position: absolute;
		display: block;
		right: 10px;
		content: '+';
		font-size: 1em;
		color: #505050;
		user-select: none;
	}
	.lnk-tab-mobile.active::before { content: '-'; }
.article-tab {
	position: relative;
	opacity: 0;
	height: 0;
	padding: 0;
	overflow-y: auto;
}
.radio-tab {
	position: absolute;
	visibility: hidden;
}
.radio-tab:checked + div.article-tab {
	opacity: 1;
	height: 300px;
	padding: 1rem;
}

@media (min-width: 960px) {
	.lnk-tab-mobile { display: none; }
	.label-tab-desktop { display: flex; }
	.label-tab-desktop > li > label {
		padding: 12px 18px;
		margin: 0 4px;
		border: 1px solid #7d7d7d;
		border-bottom: none;
		cursor: pointer;
	}
	.label-tab-desktop > li > label:hover,
	.label-tab-desktop > li > label.active {
		color: #ff3300;
	}
	.articles-container {
		position: relative;
		height: 300px;
		border: 1px solid #7d7d7d;
		overflow-y: auto;
	}
    .article-tab {
    	position: absolute;
		opacity: 0;
		width: 0;
		height: 0;
		padding: 0;
		overflow: hidden;
    }
    .radio-tab:checked + div.article-tab {
    	opacity: 1;
		width: 100%;
		height: auto;
		padding: 2rem;
    }
}

	/* Galería de fotos */
.galeria-content {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 200px;
	gap: 1rem;
}
.galeria-content > a {
	position: relative;
	display: block;
	width: 100%;
	height: 200px;
	overflow: hidden;
}
.galeria-content > a > img {
	height: 200px;
	object-fit: cover;
}
@media (min-width: 610px) {
	.galeria-content { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
	.galeria-content { grid-template-columns: 1fr 1fr 1fr 1fr; }
}

	/* Sort Order y Paginador */
div.orderby-box { margin-bottom: 5px; }
	div.orderby-box select {
		padding: 2px 5px;
		background: transparent;
	}
	div.orderby-box select { width: auto; }
	div.orderby-box input[type="submit"] {
		padding: 5px;
		font-size: 0.8rem;
	}
div.pager-box { font-size: 0.8rem; }
	div.pager-box input {
		width: 40px;
		padding: 2px 5px;
		background: transparent;
	}
	div.pager-box ul, div.pager-box li { display: inline-block; }
	div.pager-box li a { padding: 2px 5px; }
	div.pager-box li a:hover {
		color: #fff;
		background: rgba(0, 0, 0, .8);
	}
	div.pager-box li a.current-option, div.pager-box li a.current-option:hover {
		color: #303030;
		background-color: #eee;
	}
	div.pager-box li a.previous-page.current-option, div.pager-box li a.next-page.current-option {
		color: #e3e3e3;
		background: none;
	}
ul.ipp li a { border: 1px solid rgba(0, 0, 0, .4); }

	/* Tablas */
table.cptable {
	border-spacing: 0;
	/*border-collapse: collapse;*/
	margin-bottom: 1rem;
}
	table.cptable th, table.cptable td {
		border: dotted 1px rgba(0, 0, 0, .2);
		padding: 0 4px;
	}
	table.cptable tr:nth-child(even) { background: rgba(255, 255, 255, .4); }
	table.cptable thead tr.title-row th {
		text-align: left;
		color: #505050;
		background-color: rgba(255, 255, 204, .4);
	}

table.cptable-small { font-size: 0.7rem; }
	/* Tabla Sorteable */
table.sorteable thead tr.title-row, table.editable tbody tr { cursor: pointer; }
	table.sorteable thead tr.title-row th {
		background-image: url('img/up_down.png');
		background-repeat: no-repeat;
		background-position: center right;
	}
	table.sorteable thead tr.title-row th.thUp { background-image: url('img/up.png'); }
	table.sorteable thead tr.title-row th.thDown { background-image: url('img/down.png'); }
	table.sorteable thead tr.title-row th:hover, table.sorteable th.thHover {
		background-color: rgba(255, 255, 204, .8);
	}

div.filtro-box {
	font-size: 0.8rem;
	padding: 2px 0;
}
	div.filtro-box input {
		width: 250px;
		padding: 2px 5px;
		background: transparent;
	}

	/* Tabla Editable */
table.editable tbody tr.selected, table.editable tbody tr:hover, table.editable tbody tr.trHover {
	color: #fff;
	background: rgba(0, 0, 0, .6);
}

form.form-table th button {
	width: 20px;
	height: 20px;
	margin-right: 2px;
	border: 1px solid rgba(0, 0, 0, .4);
	background-repeat: no-repeat;
	background-position: center center;
	vertical-align: middle;
	cursor: pointer;
}
form.form-table th button:hover { border: 1px solid rgba(0, 0, 0, .8); }
form.form-table button span {
	position: absolute;
	visibility: hidden;
}
button.btn-new { background-image: url('img/new.png'); }
button.btn-edit { background-image: url('img/edit.png'); }
button.btn-delete { background-image: url('img/delete.png'); }
button.btn-pdf { background-image: url('img/pdf.png'); }
button.btn-xls { background-image: url('img/xls.png'); }
button.btn-refresh { background-image: url('img/refresh.png'); }

button[disabled].btn-new, button.btn-new:disabled, button.btn-new-disabled { background-image: url('img/new_disabled.png'); }
button[disabled].btn-edit, button.btn-edit:disabled, button.btn-edit-disabled { background-image: url('img/edit_disabled.png'); }
button[disabled].btn-delete, button.btn-delete:disabled, button.btn-delete-disabled { background-image: url('img/delete_disabled.png'); }
button[disabled].btn-pdf, button.btn-pdf:disabled, button.btn-pdf-disabled { background-image: url('img/pdf_disabled.png'); }
button[disabled].btn-xls, button.btn-xls:disabled, button.btn-xls-disabled { background-image: url('img/xls_disabled.png'); }
button[disabled].btn-refresh, button.btn-refresh:disabled, button.btn-refresh-disabled { background-image: url('img/refresh_disabled.png'); }

form.form-table input[type="text"], form.form-table select, form.form-table textarea { padding: 0.2rem; }
form.form-table input[type="text"].input-error, form.form-table select.input-error, form.form-table textarea.input-error { border: 1px solid #dd4b39; }
form.form-table input[type="submit"] {
	font-size: 0.8rem;
	padding: 0.4rem 1rem;
}

div#context-menu {
	padding: 2px;
	width: 180px;
	background-color: rgba(255, 255, 255, .8);
	border: 1px solid #505050;
}
	div#context-menu button {
		margin: 0;
		padding: 5px 0 5px 26px;
		width: 100%;
		border: none;
		font-size: 0.8rem;
		text-align: left;
		color: #505050;
		background-color: transparent;
		background-repeat: no-repeat;
		background-position: 4px 6px;
		cursor: pointer;
		transition: all .18s ease;
	}
	div#context-menu button:hover {
		color: #fff;
		background-color: rgba(0, 0, 0, .8);
	}

/**/
.time-picker { margin-top: -1rem; }
	.time-picker > div {
		float: left;
		width: 2rem;
		margin-right: 0.5rem;
	}
	.time-picker > div:last-child {
		width: 4rem;
		margin-right: 0;
	}
	.time-picker > div:last-child > div:first-child { margin-top: 1rem; }
	.time-picker > div:last-child > div > div { float: left; }
	.time-picker input { text-align: center; }

	/* Loaders */
.sk-cube-grid {
	width: 100px;
	height: 100px;
	margin: 30px auto;
}
	.sk-cube-grid .sk-cube {
		width: 33%;
		height: 33%;
		background-color: #eee;
		float: left;
		-webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
		animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
	}
	.sk-cube-grid .sk-cube1 {
		-webkit-animation-delay: 0.2s;
		animation-delay: 0.2s;
	}
	.sk-cube-grid .sk-cube2 {
		-webkit-animation-delay: 0.3s;
		animation-delay: 0.3s;
	}
	.sk-cube-grid .sk-cube3 {
		-webkit-animation-delay: 0.4s;
		animation-delay: 0.4s;
	}
	.sk-cube-grid .sk-cube4 {
		-webkit-animation-delay: 0.1s;
		animation-delay: 0.1s;
	}
	.sk-cube-grid .sk-cube5 {
		-webkit-animation-delay: 0.2s;
		animation-delay: 0.2s;
	}
	.sk-cube-grid .sk-cube6 {
		-webkit-animation-delay: 0.3s;
		animation-delay: 0.3s;
	}
	.sk-cube-grid .sk-cube7 {
		-webkit-animation-delay: 0s;
		animation-delay: 0s;
	}
	.sk-cube-grid .sk-cube8 {
		-webkit-animation-delay: 0.1s;
		animation-delay: 0.1s;
	}
	.sk-cube-grid .sk-cube9 {
		-webkit-animation-delay: 0.2s;
		animation-delay: 0.2s;
	}
@-webkit-keyframes sk-cubeGridScaleDelay {
	0%, 70%, 100% {
		-webkit-transform: scale3D(1, 1, 1);
		transform: scale3D(1, 1, 1);
	}
	35% {
		-webkit-transform: scale3D(0, 0, 1);
		transform: scale3D(0, 0, 1);
	}
}
@keyframes sk-cubeGridScaleDelay {
	0%, 70%, 100% {
		-webkit-transform: scale3D(1, 1, 1);
		transform: scale3D(1, 1, 1);
	}
	35% {
		-webkit-transform: scale3D(0, 0, 1);
		transform: scale3D(0, 0, 1);
	}
}

/*
 * Clases genéricas
 */
.dn, .screen-reader-text { display: none; }
.vh { visibility: hidden; }
.pa { position: absolute; }
.pr { position: relative; }
.fl { float: left; }
.fr { float: right; }
.vh { visibility: hidden; }
.dib { display: inline-block; }
.vab { vertical-align: bottom; }
.tac { text-align: center; }
.tar { text-align: right; }
.tal { text-align: left; }
.m0 { margin: 0; }
.m-center { margin: 0 auto; }
.centrar { text-align: center; }
.mb0 { margin-bottom: 0; }
.mb1 { margin-bottom: 1rem; }
.mb2 { margin-bottom: 2rem; }
.mb3 { margin-bottom: 3rem; }
.mt1 { margin-top: 1rem; }
.mt2 { margin-top: 2rem; }
.mt3 { margin-top: 3rem; }
.mr1 { margin-right: 1rem; }
.ml1 { margin-left: 1rem; }
.mr-1 { margin-right: -1rem; }
.ml-1 { margin-left: -1rem; }
.p0 { padding: 0; }
.p1 { padding: 1rem; }
.pt1 { padding-top: 1rem; }
.pr1 { padding-right: 1rem; }
.pb1 { padding-bottom: 1rem; }
.pl1 { padding-left: 1rem; }
.fwb { font-weight: bold; }
.w100 { width: 100% ;}
.w50 { width: 50%; }
.lista {
	list-style: circle;
	margin-left: 2rem;
}
.img-left-square-alignment {
	width: 40%;
	float: left;
	margin-right: 1rem;
}
.img-right-square-alignment {
	width: 40%;
	float: right;
	margin-left: 1rem;
}
.true-abs-pos, .true-abs-pos::before, .bg-overlay::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.bg-overlay { height: 100%; }
.bg-overlay, .bg-overlay > * {
	position: relative;
	color: #fff;
}
.bg-overlay::before { background-color: rgba(0, 0, 0, 0.5); }
.bg-cover, .bg-cover::before {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.rowHide {
	visibility: hidden;
	position: absolute;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
}
.hide-on-small-device { display: none; }
.container {
	position: relative;
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
}

/* Icomoon
[class*="icon-"] { line-height: 1rem; }*/

@media(max-width: 840px) {
		/* Tooltip */
	.tooltip-left .arrow-right, .tooltip-right .arrow-left {
		top: -0.62rem;
		left: 1rem;
		border-top: none;
		border-bottom-color: rgba(0, 0, 0, .8);
	}
	.tooltip-left .arrow-right {
		border-right: 10px solid transparent;
		border-left-color: transparent;
	}
	.tooltip-right .arrow-left {
		border-left: 10px solid transparent;
		border-right-color: transparent;
	}
	.tooltip-left .tooltip-content, .tooltip-right .tooltip-content {
		top: 0;
		left: 0;
		width: 100%;
	}
}

@media(max-width: 380px) {
    fieldset { padding: 0.5rem; }
	div.col-2 div.form-row, div.col-3 div.form-row, div.col-3-span-2 div.form-row { padding-right: 0; }
	div.col-2 div.col-2 div.form-row { padding-right: 0.5rem; }
}
@media(min-width: 380px) { .hide-on-small-device { display: block; } }