
@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: 'Galliard';
    src: url('../fonts/GalliardBoldItalic.eot');
    src: url('../fonts/GalliardBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/GalliardBoldItalic.woff2') format('woff2'),
        url('../fonts/GalliardBoldItalic.woff') format('woff'),
        url('../fonts/GalliardBoldItalic.ttf') format('truetype'),
        url('../fonts/GalliardBoldItalic.svg#GalliardBoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

/* -------------------------------------------

#PRESETS 

------------------------------------------- */

/* #root */ 
:root {


	/* colores base */
	--cygnus            : #003F55;

	--fff-rgb           : 255 255 255;
	--f5f-rgb           : 245 245 245;
	--bbb-rgb           : 187 187 187;
	--eee-rgb           : 238 238 238;
	--ddd-rgb           : 221 221 221;
	--ccc-rgb           : 204 204 204;
	--999-rgb           : 153 153 153;
	--666-rgb           : 102 102 102;
	--333-rgb           : 51 51 51;
	--222-rgb           : 34 34 34;
	--111-rgb           : 17 17 17;
	--000-rgb           : 0 0 0;

	--fff               : rgb(var(--fff-rgb));
	--f5f               : rgb(var(--f5f-rgb));
	--bbb               : rgb(var(--bbb-rgb));
	--eee               : rgb(var(--eee-rgb));
	--ddd               : rgb(var(--ddd-rgb));
	--ccc               : rgb(var(--ccc-rgb));
	--999               : rgb(var(--999-rgb));
	--666               : rgb(var(--666-rgb));
	--333               : rgb(var(--333-rgb));
	--222               : rgb(var(--222-rgb));
	--111               : rgb(var(--111-rgb));
	--000               : rgb(var(--000-rgb));
	--placeholder       : rgb(var(--666));

	/* colores web */ 
	
	/*
	--color-web-1-hash  : var(--cygnus);
	--color-web-1-rgb   : var(--cygnus);
	--color-web-1       : var(--cygnus);
	*/

	--color-web-1-hash  : var(--fff);
	--color-web-1-rgb   : var(--fff-rgb);
	--color-web-1       : rgb(var(--color-web-1-rgb));

	/* form */
	--msj-ok-tx         : #00ad17;
	--msj-ok-bg         : #e5ffe8;
	--msj-error-tx      : #c40000;
	--msj-error-bg      : #ffe5e5;
	--msj-info-tx       : #a39200;
	--msj-info-bg       : #fffbdb;

	/* font's */
	--font-awesone      : 'Font Awesome 6 Free';
	--font-g            : "Galliard", "EB Garamond", "Times New Roman", serif;
	--font              : "Inter Tight", "Arial", sans-serif;
	
	/* size's */
	--size              : .813rem; /* 13px */
	--size-1            : 2rem; /* 32px */
	--size-2            : 1.625rem; /* 26px */
	--size-3            : 1.375rem; /* 22px */
	--size-4            : 1.125rem; /* 18px */
	--size-5            : 1rem; /* 16px */
	--size-6            : .875rem; /* 14px */

	--display           : 1.25;

	--display-1         : calc(var(--size-1) * var(--display)); /* 74px */
	--display-2         : calc(var(--size-2) * var(--display)); /* 67px */
	--display-3         : calc(var(--size-3) * var(--display)); /* 54px */
	--display-4         : calc(var(--size-4) * var(--display)); /* 44px */
	--display-5         : calc(var(--size-5) * var(--display)); /* 34px */
	--display-6         : calc(var(--size-6) * var(--display)); /* 28px */

	/* letter */
	--letter-spacing-4  : 0.04em;
	--letter-spacing-6  : 0.06em;
	--letter-spacing-8  : 0.08em;
	--letter-spacing-16 : 0.16em;
	--letter-spacing-24 : 0.24em;
	--letter-spacing-32 : 0.32em;

	/* line height */
	--line-height       : 1.65;

	/* container */
	--container-full    : 100%;
	--container-gr      : 768px;
	--container-md      : 640px;
	--container-sm      : 480px;

	/* medidas */
	--w-logo            : 260px;
	--h-header          : 90px;
	--h-footer          : 70px;

	--padding-container : 25px;

	/* separador */
	/* --separador-bg   :; */
	/* --separador-width:; */

	/* radius */
	--radius            : 30px;

	/* espacios */
	--espacio-10        : 10px;
	--espacio-15        : 15px;
	--espacio-20        : 20px;
	--espacio-30        : 30px;
	--espacio-40        : 40px;
	--espacio-50        : 50px;
	--espacio-60        : 60px;
	--espacio-70        : 70px;
	--espacio-80        : 80px;
	--espacio-90        : 90px;


	/* ratio */
	--ratio-1x1         : 100%;
	--ratio-4x3         : 75%;
	--ratio-16x9        : 56.25%;
	--ratio-3x4         : 133%;
	--ratio             : 0%;

	/* efectos */
	--transition        : all .4s ease;

} 

*, 
:before,
:after{
	margin                  : 0;
	padding                 : 0; 
	box-sizing              : border-box;
	position                : relative;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust   : none;
	-ms-text-size-adjust    : none; 
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust   : 100%; 
	-ms-text-size-adjust    : 100%;
}

* {
	will-change: auto;
}

/* #loading */
.loading {
	width           : 100%;
	height          : 100vh;
	background-color: #000;
	display         : flex;
	align-items     : center;
	justify-content : center;

	position        : fixed;
	top             : 0;
	left            : 0;
	z-index         : 999999 !important;
}

	.loading:before {
		content            : '';
		position           : absolute;
		top                : 0;
		right              : 0;
		left               : 0;
		bottom             : 0;
		margin             : auto;
		width              : 40px;
		height             : 40px;
		border             : 5px solid #eee;
		border-bottom-color: transparent;
		border-radius      : 50%;
		display            : inline-block;
		box-sizing         : border-box;
		animation          : rotation 1s linear infinite;

		z-index            : 902;
	 }

    @keyframes rotation {
	    0% {
	        transform: rotate(0deg);
	    }
	    100% {
	        transform: rotate(360deg);
	    }
    } 



/* #html - body */
html {
	font-size      : 16px;
	scroll-behavior: none !important;
}
html, body{
	height          : 100vh;
	background-color: var(--000);
	color           : var(--fff);
}
body{
	overflow-x : hidden !Important;
	font-size  : var(--size);
	font-family: var(--font);
	min-height : 100vh;
	
}
body.pg--inicio {
	overflow-y: hidden;
	overflow-x: hidden !Important;
}

/* #selection */
::selection{
	background: var(--fff);
	color     : var(--333);
}
::-moz-selection{
	background: var(--fff);
	color     : var(--333);
}
::-o-selection{
	background: var(--fff);
	color     : var(--333);
}
::-ms-selection{
	background: var(--fff);
	color     : var(--333);
}

main,
header,
section,
form,
aside,
nav,
time,
picture,
figure,
article,
address,
footer,
figcaption{
	width: 100%;
	float: left;
}

/* #img */
img{
	width    : auto;
	max-width: 100%;
	height   : auto;
	margin   : auto;
}
figure{
	margin     : 0;
	line-height: 0;
	overflow   : hidden;
}
figcaption {
	font-size     : .8rem;
	letter-spacing: 0;
	text-align    : justify;
	padding       : 5px 0;
	text-transform: uppercase;
	text-align    : center;
}

.lazy-load {
	opacity   : 0;
	transition: all .35s ease;
}
.lazy-load.loaded {
	opacity: 1;
}

/* canvas {
	margin: auto;
} */

/* #tx */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font);
	margin     : 0;
	line-height: 1.25;
}
h1 {
	font-size: var(--size-1);
}
h2 {
	font-size: var(--size-2);
}
h3 {
	font-size: var(--size-3);
}
h4 {
	font-size: var(--size-4);
}
h5 {
	font-size: var(--size-5);
}
h6 {
	font-size: var(--size-6);
}

p {
	font-family   : var(--font);
	font-size     : var(--size);
	margin        : 0;
	padding       : 0;
	line-height   : var(--line-height);
	letter-spacing: var(--letter-spacing-4);
}
p + p {
	margin-top: 8px;
}
ul {
	padding-left: 18px;
	margin      : 8px 0;
}
ul li {
	line-height   : var(--line-height);
	letter-spacing: var(--letter-spacing-4);
	font-size     : var(--size);
}

b,
strong {
	font-family: var(--font);
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size  : 1em;
}
small {
	font-size: 75%;
}
sub,
sup {
	font-size     : 70%;
	line-height   : 0;
	position      : relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
a {
	color: var(--fff);
}
a:visited {
	color: var(--fff);
}
a:hover,
a:focus,
a:active {
	color: var(--eee);
}
a:focus {
	outline: thin dotted;
}
a:hover,
a:active {
	outline: 0;
}

address {
	font-style: normal;
}

/* #btn's */
button {
	border    : none;
	cursor    : pointer;
	background: none;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding     : 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
button:focus {
	outline   : none;
	box-shadow: none;
}

.btn {
	width           : auto;
	height          : var(--h-btn);
	background-color: var(--color-web-4);
	color           : var(--fff);
	font-family     : var(--font-gotham-bold);
	font-size       : .9rem;
	border          : 1px solid var(--color-web-4);
	text-align      : center;
	border-radius   : var(--radius);
	transition      : var(--transition);
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
	padding         : 0 35px;
	text-decoration : none;
	cursor          : pointer;
}
.btn:hover {
	background-color: var(--fff) !important;
	color           : var(--color-web-4) !important;
}
.btn:visited {
	color: var(--222) !important;
}
.btn:visited:hover {
	color: var(--color-web-1) !important;
}


/* anclaje */
.btn--anclaje {
	width                    : 100%;
	float                    : left;
	margin                   : 15px 0 10px 0;
	text-align               : center;
	width                    : 100%;
	animation-duration       : 3s;
	animation-name           : anclaje;
	animation-iteration-count: infinite;
	transform                : translateY(0);
}
	.btn--anclaje span {
		color: var(--fff);
	}

	@keyframes anclaje {
	  0 {
	    transform                : translateY(3px);
	  }

	  33% {
	    transform                : translateY(0);
	  }

	  66% {
	    transform                : translateY(3px);
	  }

	  100% {
	    transform                : translateY(0);
	  }
	}


/* #otros */
progress {
	vertical-align: baseline;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}






/* -------------------------------------------

#CLASS 

------------------------------------------- */

/* #container */
[class*=container--] {
	width    : 100%;
	padding  : 0 var(--padding-container);
	margin   : auto;
}
[class*=container--] [class*=container--] {
	padding: 0 !important;
}
.container--full {
	max-width: var(--container-full);
}
.container--gr {
	max-width: var(--container-gr);
}
.container--md {
	max-width: var(--container-md);
}
.container--sm {
	max-width: var(--container-sm);
}

/* #display */
.d--none {
	display: none;
}
.d--grid {
	display: grid;
}
.d--flex {
	display: flex;
}
.d--table {
	display: table;
}
.d--block {
	display: block;
}

/* #grid */
.d--grid {
	grid-template-columns: 1fr;
	grid-column-gap      : 15px;
}
.d--grid.grid--1 {
	grid-template-columns: repeat(12, 1fr);
}
.d--grid.grid--2 {
	grid-template-columns: repeat(6, 1fr);
}
.d--grid.grid--3 {
	grid-template-columns: repeat(4, 1fr);
}
.d--grid.grid--4 {
	grid-template-columns: repeat(3, 1fr);
}
.d--grid.grid--5 {
	grid-template-columns: repeat(5, 1fr);
}
.d--grid.grid--6 {
	grid-template-columns: repeat(2, 1fr);
}

/* #direction */
.row--reverse {
	flex-direction: row-reverse;
}
.column--reverse {
	flex-direction: column-reverse;
}
.direction--rtl {
	direction : rtl;
	text-align: left;
}

	.direction--rtl * {
		text-align: left;
	}

/* #bg */
.bg--1 {
	background-color: var(--color-web-1);
}
.bg--2 {
	background-color: var(--color-web-2);
}
.bg--fff {
	background-color: var(--fff);
}
.bg--eee {
	background-color: var(--eee);
}
.bg--000 {
	background-color: var(--000);
}


/* #color */
.color--1 {
	color: var(--color-web-1) !important;
}
.color--2 {
	color: var(--color-web-2) !important;
}
.color--fff {
	color: var(--fff) !important;
}
.color--000 {
	color: var(--000) !important;
}


/* #font */
.font--family-g {
	font-family: var(--font-g, "Galliard", "EB Garamond", "Times New Roman", serif) !important;
	font-style : italic;
}

/* #tx */
.display--1 {
	font-size: var(--display-1) !important;
}
.display--2 {
	font-size: var(--display-2) !important;
}
.display--3 {
	font-size: var(--display-3) !important;
}
.display--4 {
	font-size: var(--display-4) !important;
}
.display--5 {
	font-size: var(--display-5) !important;
}
.display--6 {
	font-size: var(--display-6) !important;
}

/* #letter spacing */
.letter--spacing-4 {
	letter-spacing: var(--letter-spacing-4);
}
.letter--spacing-8 {
	letter-spacing: var(--letter-spacing-8);
}
.letter--spacing-16 {
	letter-spacing: var(--letter-spacing-16);
}
.letter--spacing-24 {
	letter-spacing: var(--letter-spacing-24);
}
.letter--spacing-32 {
	letter-spacing: var(--letter-spacing-32);
}

/* weight */
.font--light {
	font-weight: 300 !important;
}
.font--normal {
	font-weight: normal !important;
}
.font--semi-bold {
	font-weight: 600 !important;
}
.font--bold {
	font-weight: bolder !important;
}

/* #column's */
.column--2 {
	column-count: 2;
	column-gap  : 30px;
}
.column--3 {
	column-count: 3;
	column-gap  : 30px;
}

/* #aling */
.text--left,
.text--left * {
	text-align: left;
}
.text--center,
.text--center * {
	text-align: center;
}
.text--right,
.text--right * {
	text-align: right;
}
.text--justify,
.text--justify * {
	text-align: justify;
}


/* #br (fix) */
br.desktop {
	display: none;
}
br.mobile {
	display: block;
}

/* #separador */
.cont--separador {
	width          : 100%;
	float          : left;
	height         : 1px;
	margin         : 15px auto;
	text-align     : center;
	display        : flex;
	align-items    : center;
	justify-content: center;
}

	.cont--separador div {
		width           : var(--separador-width);
		height          : 1px;
		background-color: var(--separador-bg);
		margin          : auto;
	}
	

/* #espacios */
.cont--section [class*=espacio--]{
	width: 100%;
	float: left;
}

.espacio--10 {
	height: var(--espacio-10) !important;
}
.espacio--15 {
	height: var(--espacio-15) !important;
}
.espacio--20 {
	height: var(--espacio-20) !important;
}
.espacio--30 {
	height: var(--espacio-30) !important;
}
.espacio--40 {
	height: var(--espacio-40) !important;
}
.espacio--50 {
	height: var(--espacio-50) !important;
}
.espacio--60 {
	height: var(--espacio-60) !important;
}
.espacio--70 {
	height: var(--espacio-70) !important;
}
.espacio--80 {
	height: var(--espacio-80) !important;
}
.espacio--90 {
	height: var(--espacio-90) !important;
}


/* #section */
.cont--section {
	padding: var(--padding-section);
}

/* #transition */
.transition {
	transition : var(--transition);
	will-change: auto;
}

/* #radius */
.radius {
	border-radius: var(--radius)
}
.radius--30 {
	border-radius: var(--radius-30) !important;
}
.radius--20 {
	border-radius: var(--radius-20) !important;
}
.radius--10 {
	border-radius: var(--radius-10) !important;
}
.radius--5 {
	border-radius: var(--radius-5) !important;
}

/* #ratio */
.ratio {
	width           : 100%;
	float           : left;
	position        : relative;
	overflow        : hidden;
	background-color: var(--000);
	transition      : var(--transition);
}

	.ratio img {
		position  : absolute;
		top       : 0;
		left      : 0;
		width     : 100%;
		height    : 100%;
		object-fit: contain;
		margin    : auto;
	}

.ratio--1x1 {
	padding-top: var(--ratio-1x1);
}
.ratio--4x3 {
	padding-top: var(--ratio-4x3);
}
.ratio--16x9 {
	padding-top: var(--ratio-16x9);
}
.ratio--3x4 {
	padding-top: var(--ratio-3x4);
}


/* #efecto zoom */
.efecto--zoom:hover .cont--ratio img,
.efecto--zoom:hover figure img,
.efecto--zoom:hover picture img {
	transform: scale(1.08);
}
/* #efecto gris */
.efecto--gris:hover .cont--ratio img,
.efecto--gris:hover figure img,
.efecto--gris:hover picture img {
	filter: grayscale(100%);
}
/* #efecto bg */
.efecto--bg .cont--ratio:before,
.efecto--bg figure:before,
.efecto--bg picture:before {
	content         : '';
	width           : 100%;
	height          : 100%;
	position        : absolute;
	top             : 0;
	left            : 0;
	z-index         : 10;
	background-color: var(--000);
	mix-blend-mode  : multiply;
	opacity         : .25;
	transition      : var(--transition);
}
.efecto--bg:hover .cont--ratio:before,
.efecto--bg:hover figure:before,
.efecto--bg:hover picture:before {
	opacity: .75;
}


/* #data */
[data-align="left"] {
	text-align: left !important;
}
[data-align="center"] {
	text-align: center !important;
}
[data-align="right"] {
	text-align: right !important;
}

[hidden] {
	display: none;
}
[data-hidden="true"] {
	display: none;
}
[data-hidden="false"] {
	display: flex;
}


 

/* -------------------------------------------

#COMPONENTES 

------------------------------------------- */


/* #logo */
.cont--logo {
	width       : var(--w-logo);
	--transition: all .85s ease;
	transition  : var(--transition);
	transform   : translateY(0);
	opacity     : 1;
	line-height : 0;
}
body.video .cont--logo {
	opacity     : 0;
	--transition: all .85s ease;
	transition  : var(--transition);
}

	.cont--logo img {
		width: 100%;
	}


/* #menú's' */
.cont--menu {
	height         : 100%; 
	display        : flex;
	align-items    : center;
	justify-content: center;
	color          : var(--fff);
	transition     : var(--transition);
}

	.cont--menu a {
		width          : auto;
		height         : 100%;
		display        : flex;
		align-items     : center;
		justify-content : center;
		color          : var(--fff);
		text-decoration: none;
		padding        : 0 10px;
		text-transform : uppercase;
		cursor         : pointer;
		text-align     : center;
	}

	.cont--menu a:hover {
		text-decoration: underline;
		color          : var(--eee);
	}



/* #idioma */
.cont--idioma  {
	width           : auto;
	height          : 100%;
	display         : flex;
	align-items     : center;
	justify-content : center;
	color           : var(--fff);
	text-transform  : uppercase;
	cursor          : pointer;
	text-align      : center;
	transform       : translateY(0px);
	background-color: var(--000);
}

	.cont--idioma a {
		width          : auto;
		height         : 100%;
		display        : flex;
		align-items    : center;
		justify-content: center;
		align-content  : center;
		color          : var(--fff);
		text-decoration: none;
		font-size      : .66rem;
		font-weight    : 100;
		padding        : 0 15px;
		text-transform : uppercase;
		cursor         : pointer;
		text-align     : center;
	}

	.cont--idioma a.activo {
		font-weight: 400;
	}

	.cont--idioma a:hover {
		text-decoration: underline;
	}

	.scroll--down .cont--idioma,
	.fancybox-active .cont--idioma {
		opacity: 0;
	}
	.scroll--up .cont--idioma {
		opacity: 1;
	}


/* #tit */
.cont--tit {
	margin-bottom: 20px;
}

	/* colores */
	.cont--tit.color-fff * {
		color: var(--fff) !important;
	}
	.cont--tit.color-000 * {
		color: var(--fff) !important;
	}



/* #scrollbar */
::-webkit-scrollbar {
	width: 5px;
}
/* Track */
::-webkit-scrollbar-track {
	background: var(--000); 
}
/* Handle */
::-webkit-scrollbar-thumb {
	background: var(--ccc); 
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: var(--666); 
}



/* #fancybox */
[data-fancybox] {
	cursor: pointer;
}
[data-fancybox]:hover {
	opacity: .6;
}

.fancybox__content {
	max-height: 90% !Important;
}

.fancybox__backdrop{
	background-color: var(--000) !important;
	opacity         : 1 !Important;
}

/* nav */
.fancybox__nav {
	position: static;
}

/* num */
.fancybox__toolbar__column.is-left {
	visibility: hidden;
	opacity: 0 !important;
}


/* #form's */
form section,
.cont--form section {
	margin-bottom: 5px;
}
	
	/* grid */
	.cont--form .d--grid {
		width: 100%;
		float: left;
	}

	/* tx */
	.cont--form * {
		font-family: var(--font);
	}

	#form--contacto {
		margin-top: 60px;
	}

	form input,
	form textarea,
	form select,
	.cont--form input,
	.cont--form textarea,
	.cont--form select {
		border          : 1px solid var(--fff);
		background-color: transparent;
		--radius        : 0;
		border-radius   : var(--radius);
		width           : 100%;
		height          : var(--h-btn);
		padding         : 15px;
		font-family     : var(--font);
		margin-bottom   : 15px;
		font-size       : var(--size);
		color           : var(--eee);
		text-align      : center;
	}
	form textarea,
	.cont--form textarea {
		height       : 130px !important;
	}

	form input[type="file"] {
		line-height: 1.7;
	}

	form select,
	.cont--form select {
		color: var(--333) !important;
	}

	form input.check--custom {
		display: none;
	}
	form label.check--custom {
		width        : 20px;
		height       : 20px;
		border       : 1px solid var(--fff);
		cursor       : pointer;
		display      : grid;
		border-radius: 3px;
	}
	form label.check--custom:before {
		content         : '';
		position        : absolute;
		top             : 0;
		left            : 0;
		right           : 0;
		bottom          : 0;
		width           : 10px;
		height          : 10px;
		background-color: var(--eee);
		margin          : auto;
		opacity         : 0;
	}

	form input.check--custom:checked + label:before {
		opacity: 1;
	}

	::placeholder {
		color      : var(--ccc);
		font-family: var(--font);
		font-size  : var(--size);
	}

	#verif,
	input[name="verif"],
	.verif {
		display   : none;
		visibility: hidden;
	}


	/* focus */
	input:focus,
	textarea:focus,
	select:focus {
		outline   : none;
		box-shadow: none;
	}
	input:focus:invalid, 
	textarea:focus:invalid{
		border          : 1px solid var(--f5f) !important;
		outline         : none;
		box-shadow      : none;
		background-color: var(--333);
	}

	/* autocompletar */
	input:-webkit-autofill,
	input:-webkit-autofill:hover, 
	input:-webkit-autofill:focus,
	textarea:-webkit-autofill,
	textarea:-webkit-autofill:hover,
	textarea:-webkit-autofill:focus,
	select:-webkit-autofill,
	select:-webkit-autofill:hover,
	select:-webkit-autofill:focus {
		-webkit-text-fill-color: var(--eee) !important;
		-webkit-box-shadow     : 0 0 0px 1000px var(--000) inset !important;
		transition             : background-color 2000s ease-in-out 0s !important;
	}

	/* submit */
	.cont--submit {
		margin-top     : 15px;
		display        : flex;
		align-items    : center;
		justify-content: flex-end;
	}

		.cont--submit p {
			display    : flex;
			align-items: center;
		}

		.cont--submit input[type="submit"],
		.cont--submit button,
		.btn--submit {
			margin-bottom   : 0 !important;
			background-color: var(--333);
			border-color    : var(--fff);
			padding         : 15px 25px;
			text-transform  : uppercase;
			border-radius   : 0;

			width           : 100%;
		}
		.cont--submit input[type="submit"]:hover,
		.cont--submit button:hover,
		.btn--submit:hover {
			background-color: var(--fff);
			color           : var(--000) !important;
		}

		:disabled {
			opacity: .3;
		}


	/* msj's */
	.cont--msj {
		width          : 100%;
		float          : left;
		padding        : 10px;
		font-size      : .8rem;
		font-family    : var(--font);
		font-weight    : 600;
		letter-spacing : var(--letter-spacing-4);
		border-width   : 1px;
		border-style   : solid;
		margin         : 10px 0;
		border-radius  : 3px;
		display        : none;
		align-items    : center;
		grid-column-gap: 10px;
	}

	/* error */
	.cont--msj.error {
		display         : flex;
		border-color    : var(--msj-error-tx);
		background-color: var(--msj-error-bg);
		color           : var(--msj-error-tx);
	}

	/* ok */
	.cont--msj.ok {
		display         : flex;
		border-color    : var(--msj-ok-tx);
		background-color: var(--msj-ok-bg);
		color           : var(--msj-ok-tx);
	}
	/* info*/
	.cont--msj.info {
		display         : flex;
		border-color    : var(--msj-info-tx);
		background-color: var(--msj-info-bg);
		color           : var(--msj-info-tx);
	}

	#msg .cont--msj {
		display: none;
	}

	#msg.msj--ok .cont--msj.ok {
		display: flex;
	}
	#msg.msj--error .cont--msj.error {
		display: flex;
	}
	#msg.msj--infor .cont--msj.info {
		display: flex;
	}


		

/* #table */
table {
	border: none;
}

	table td,
	table th {
		border : none;
		padding: 5px 8px;
	}

	table th,
	table tr:nth-child(1) td {
		font-weight: 600 !important;
	}

	table tr:nth-child(even) td {
		background-color: var(--eee);
	}

 

/* #slide (OWL) */
.cont--slide .owl-stage {
	padding-left: 0 !important;
}






	/* item */
	.cont--slide a {
		width: 100%;
		float: left;
	}

	.cont--slide figcaption {
		/*margin-top : 2px;
		padding-top: 6px;
		border-top : 1px solid rgba(var(--fff-rgb) / .15)*/
	}


	/* nav */
	.cont--slide .owl-nav {
		position  : absolute;
		width     : 100%;
		top       : 45%;
		opacity   : 0;
		transition: var(--transition);
	}

	.cont--slide .owl-nav .owl-prev,
	.cont--slide .owl-nav .owl-next {
		position           : absolute;
		width              : 32px;
		height             : 32px;
		background-repeat  : no-repeat;
		background-size    : contain;
		background-position: center;
		background-image   : url(../img/ico--scroll-down.svg);
		font-size: 0;
	}
	.cont--slide .owl-nav .owl-prev {
		left     : 5px;
		transform: rotate(90deg);
	}
	.cont--slide .owl-nav .owl-next {
		right    : 5px;
		transform: rotate(-90deg);
	}

	.cont--slide:hover .owl-nav {
		opacity: 0;
	}


	/* dots */
	.cont--slide .owl-dots {
		width          : 100%;
		float          : left;
		text-align     : center;
		display        : none;
		align-items    : center;
		justify-content: center;
	}

		.cont--slide .owl-dots .owl-dot {
			width          : 16px;
			height         : 16px;
			border-radius  : 50%;
			border         : 1px solid var(--fff);
			display        : flex;
			align-items    : center;
			justify-content: center;
			margin         : 0 3px;
		}
		.cont--slide .owl-dots .owl-dot.active {
			border         : 1px solid var(--000);
		}

			.cont--slide .owl-dots .owl-dot span {
				width        : 6px;
				height       : 6px;
				position     : absolute;
				top          : 0;
				right        : 0;
				bottom       : 0;
				left         : 0;
				margin       : auto;
				background   : var(--000);
				border-radius: 50%;
			}





/* #fbx */
.cont--fbx {
	display: none;
}



/* #paginado */
.cont--pagination {
	text-align: center;
	text-decoration: none;
	margin-top: 30px;
}
.cont--pagination * {
	font-weight:  100 !important;
	text-decoration: none !important;
}
.cont--pagination a {
	display        : inline-flex;
	margin         : 0 40px;
	font-size      : 0;
	text-decoration: none !important;
}
.cont--pagination span {
	font-size: 20px;
}
.cont--pagination a:hover {
	opacity: .65;
}

.pg--inicio .cont--pagination {
	display: none;
}


/* #scroll down */
.scroll--down .cont--header {
	transform: translateY(-100px);
}

	/* header */
	.scroll--down .cont--header {

	}


.scroll--up {
	
}




/* #video intro home */
.video--intro {
	position        : fixed;
	top             : 0;
	right           : 0;
	bottom          : 0;
	left            : 0;
	margin          : auto;
	width           : 100%;
	height          : 100vh;
	z-index         : 9999 !important;
	object-fit      : contain;

	background-color: var(--000);
}

.with-fancybox .video--intro {
	display: none;
}



/* -------------------------------------------

#LAYOUT'S 

------------------------------------------- */


/* #PAGE */
.cont--page {
	width     : 100%;
	min-height: 100vh;
}



/* #HEADER */
.cont--header {
	position    : absolute;
	top         : 0;
	right       : 0;
	height      : var(--h-header);
	padding     : 0;
	display     : flex;
	align-items : center;
	z-index     : 900;
	--trandition: all .5s ease;
	transition  : var(--trandition);
}


	/* grid */
	.cont--header > .d--grid {
		grid-template-columns: 1fr;
		grid-column-gap      : 30px;
		align-items          : center;
		justify-content      : center;
		height               : 100%;
	}

		/* col */
		.cont--header > .d--grid > div {
			height         : 100%;
			display        : flex;
			align-items    : center;
			justify-content: center;
		}






/* #MAIN */
.cont--main {
	padding-top   : var(--h-header);
	min-height    : calc(100vh - var(--h-footer));
	z-index       : 800;
	display       : flex;
	flex-wrap     : wrap;
	align-content : start;
	transition    : var(--transition);
	opacity       : 1;
	overflow-x    : hidden !Important;

	padding-bottom: var(--h-footer);
}
body.video .cont--main {
	opacity   : 0;
	transition: var(--transition);
}
.scroll--down .cont--main {
	padding-bottom: calc(var(--h-footer) * 2);
}

	.cont--main .cont--box {
		padding: 10px 0;
		margin : auto 0;
		display: block;
	}


	/* loader */
	.pg--inicio .cont--box.no--visible:before {
		content            : '';
		position           : absolute;
		top                : 15px;
		right              : 0;
		left               : 0;
		margin             : auto;
		width              : 40px;
		height             : 40px;
		border             : 5px solid #eee;
		border-bottom-color: transparent;
		border-radius      : 50%;
		display            : inline-block;
		box-sizing         : border-box;
		animation          : rotation 1s linear infinite;

		z-index            : 902;
	 }

    @keyframes rotation {
	    0% {
	        transform: rotate(0deg);
	    }
	    100% {
	        transform: rotate(360deg);
	    }
    } 

    .pg--inicio .cont--box.no--visible:after {
		content         : '';
		width           : 100%;
		height          :100%;
		position        : absolute;
		top             : 0;
		left            : 0;
		background-color: #000;
		z-index         : 901;
		opacity         : 1;
		transition      : all 1.2s ease-in;
    }

    .pg--inicio .cont--box.no--visible.visible:after {
		opacity: 0;
		z-index: -1;
    }


	.pg--inicio .cont--box.no--visible.visible:before {
		display: none;
	}

	.cont--box.full--height {
		min-height: calc(100vh - 80px);
	}


	.cont--box .cont--slide,
	.cont--box article,
	.cont--box .cont--img-ch {
		padding: 10px 0;
	}




	/* #PÁGINAS ----------------------------------------------------- */
	


	/* INICIO */
	.pg--inicio .cont--main {
		justify-content: start;
	}

		/* slide */
		.pg--inicio .cont--slide figure.ratio {
			padding-top: 90%;
		}


	/* ALVARO FARINA */
	.pg--alvaro-farina header h2 + h6 {
		text-transform: uppercase;
	}


	/* EL ESTUDIO */
	.pg--el-estudio article .font--family-g {
		font-size     : var(--size-5);
		letter-spacing: var(--letter-spacing-4);
	}
	.pg--el-estudio article .cont--ul {
		text-align: center;
		margin-top: 8px;
	}
		.pg--el-estudio article ul {
			width     : auto;
			float     : none;
			display   : inline-block;
			margin    : 15px auto;
			text-align: left;
		}

			.pg--el-estudio article ul li {
				list-style: none;
			}






	/* PROYECTOS */
	.pg--proyectos .cont--box .d--grid {
		grid-column-gap: 30px;
	}
		.pg--proyectos .cont--box .d--grid > div {
			margin-bottom: 20px;
		}	

			.pg--proyectos .cont--box .d--grid > div > a > figure {
				transition: var(--transition);
			}
			.pg--proyectos .cont--box .d--grid > div > a > figure img {
				object-fit: cover;
			}

			.pg--proyectos .cont--box .d--grid > div > a:hover > figure  {
				opacity: .6;
			}



		/* slide's */
		.cont--slide.proyecto--0 .ratio {
			padding-top: 56% !important;
		}
		.cont--slide.proyecto--1 .ratio {
			padding-top: var(--ratio-4x3) !important;
		}
		.cont--slide.proyecto--2 .ratio {
			padding-top: var(--ratio-4x3) !important;
		}
		.cont--slide.proyecto--3 .ratio {
			padding-top: var(--ratio-4x3) !important;
		}
		.cont--slide.proyecto--4 .ratio {
			padding-top: var(--ratio-16x9) !important;
		}
		.cont--slide.proyecto--5 .ratio {
			padding-top: var(--ratio-16x9) !important;
		}
		.cont--slide.proyecto--6 .ratio {
			padding-top: var(--ratio-4x3) !important;
		}
		.cont--slide.proyecto--7 .ratio {
			padding-top: var(--ratio-4x3) !important;
		}
		.cont--slide.proyecto--8 .ratio {
			padding-top: var(--ratio-4x3) !important;
		}



	/* PROYECTO */
	.cont--img-ch img {
		max-width: 370px;
	}



	/* CONTACTO */
	.pg--contacto address {
		margin-top   : 0;
		margin-bottom: 30px;
		text-align   : center;
		transform    : translateY(-4px);
	}
	.pg--contacto address p {
		display    : flex; 
		align-items: center;
	}
	.pg--contacto address span {
		font-weight: 200;
	}
	.pg--contacto address a {
		text-decoration: none;
		text-align     : center;
		font-size      : .95rem;
		letter-spacing : var(--letter-spacing-8);
	}

	.pg--contacto address a:hover {
		text-decoration: underline;
	}


	.pg--contacto form span.label {
		width     : 100%;
		float     : left;
		text-align: center;
		padding   : 5px 10px;
	}
	



/* #FOOTER */
.cont--footer {
	height          : var(--h-footer);
	position        : fixed;
	right           : 0;
	bottom          : 0;
	left            : 0;
	padding         : 0;
	z-index         : 9999999999999999999999999999999999999 !important;
	background-color: var(--000);
	transition      : var(--transition);
	opacity         : 1;

	display         : flex;
	align-items     : center;
	justify-content : center;
	overflow-x      : hidden !Important;
}
.pg--inicio .cont--footer {
	opacity   : 0;
	transition: var(--transition);
}

.scroll--down .cont--footer,
.with-fancybox .cont--footer,
.fancybox-active .cont--footer {
	transform: translateY(35px);
}
.scroll--up .cont--footer {
	transform: translateY(0);
}
.with-fancybox .cont--footer,
.fancybox-active .cont--footer {
	transform: translateY(35px) !important;
}
	.cont--footer * {
		color: var(--fff);
	}

	.cont--footer > .d--grid {
		height         : 100%;
		align-items    : center;
		justify-content: center;
		justify-items  : center;
		align-content  : normal;

		padding-bottom : 12px;
	}





/* -------------------------------------------

#ACCESIBILIDAD

------------------------------------------- */


:focus,
[tabindex="-1"]:focus {
	outline: 0 !Important
}

 