body {
	/*background settings*/
	background-image: url('assets/background1.png');
	background-repeat: no-repeat;
	background-position: top;
	background-size: 100% auto;
	background-attachment: fixed;
	background-color: #000000db;
	background-blend-mode: overlay;
	
	/*text settings*/
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 3.5vh;
}
a {
    color: #FAFAFA;
}
#header {
    background-color: #4f4f4f;	
	color: #FAFAFA;
}
.scrolledTop #header {
    background-color: #3B3B3BFF;	
	background: linear-gradient(
		180deg,
		#3B3B3BFF 0%, 
		#3B3B3BFA 50%, 
		#3B3B3BCC 100%  
	);
	color: #FAFAFA;
}
#main {
    background-color: transparent;
	color: #FAFAFA;
}
#footer{
    background-color: cadetblue;
}

/*VER 1.0.4*/
/*0*/
html {
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0;
}
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: auto;
}
/*0-0*/
body {
	display: grid; /*keep space for fixed header (block doesnt)*/  
    grid-template-columns: 15% 1fr;
	grid-template-areas:
		"top top"
		"header main"
		"header footer"
		"bottom bottom";
}
#topSentinel{grid-area: top;}
#bottomSentinel{grid-area: bottom;}
#header {grid-area: header;}
#main {grid-area: main;}
#footer {grid-area: footer;}
/*0-0-0*/
#topSentinel,
#bottomSentinel {
	height: 0;
	width: 0;
}
/*1*/
#header {
	display: grid;
	grid-template-areas:
		"hgroup" 
		"details"; 
	grid-template-rows: auto;
	gap: 0;

    height: 100%;
    width: 15vw;

    position: fixed; /*keep always visible*/
    top: 0;
    left: 0;
    z-index: 1;
}
.scrolledTop #header {
	display: grid;
	grid-template-areas:
		"hgroup details"; 
	gap: 0;
}
#header hgroup {grid-area: hgroup;}
#header details {grid-area: details;}
/*1+top*/
.scrolledTop #header {	
    height: 100vh;
    width: 100vw;	
}

/*2*/
#main {display: block;}

/*3*/
#footer {
	display: flex;
	flex-wrap: wrap;

	justify-content: center;
	align-items: stretch;
	align-content: center;

	gap: 0;
}

/*1-1-2*/
#header hgroup p {
	display: none;
}
/*1-1-2+top*/
.scrolledTop #header hgroup p {
	display: none;
}

/*1-2+top*/
#header #detailsBtn {
	display: none;
}
.scrolledTop #header #detailsBtn {
	display: none;
}

/*2-1*/
#main #headerBackground {
	height: 100vh;
}
/*2-2-I-II*/
#main article section div.sectionBox{
	display: flex;
	flex-direction: col;
}
/*2-2-I-II-I*/
#main article section div.sectionBox div.textContent {
	order: 0;
}
/*2-2-I-II-II*/
article section div.sectionBox div.infoContent {
	order: 1;
}

/*logo*/
h1.img {
	margin: 0;
	text-align: center;
}

h1.img span.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.scrolledTop h1.img span.sr-only {
	position: relative;
	width: auto;
	height: auto;

	white-space: nowrap;
	display: block;
	margin: 0.3em;

	font-size: 1vw;
}

h1.img img {
	transition: all ease-in-out 450ms;
	display: block;

	height: 15vw;
	width: auto;
}
.scrolledTop h1.img img {
	height: 100vh;
	width: auto;
}

#header hgroup p {
	display: none;
	text-align: center;
	font-size: 6vw;
	margin: 1.5em 0 1.5em 0;
}


#detailsBtn {
    display: none;
}

/*main */
#main article {
	width: 85vw;
	background-color: #3b3b3b6f;
	margin-right: 0;

	text-align: center;
}
#main a {
	color: black;
	text-decoration: none;	
	font-weight: bold;
}
#main article h2 {
	display: inline-block;
    position: relative;
    border-bottom: 5px solid #0A2E2F;
}
#main article h2::after {
    content: "";
    position: absolute;
    bottom: -8px;
    right: -5px;
    width: 15px;
    height: 15px;
    background-color: #0A2E2F;
}
#main article div.textContent {
	color: black;
	background-color: #AFB1B0;
	margin: 0 10px;
	border-radius: 8px;
	box-shadow: 4px 4px 20px #d3b53239;
}
#main article div.textContent p {
	font-size: 0.7em;
	padding: 0 0.5em;
	text-align: justify;
}
#main article div.infoContent {
	color: black;
}

/*VER 1.0.4*/
/*0-1*/

.scrolledTop #mainMenu {
    margin: 1em 0 1em 0;
}
#mainMenu summary {
	display: none;
}

#mainMenu a {
    color: #FAFAFA;
    text-decoration: none;
}

/*1-I*/
#mainMenu nav.menu ul,
#mainMenu nav.menu ul li {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: block;
}

#mainMenu nav.menu ul li {
    position: relative;
    border-bottom: 2px solid #0A2E2F;
    padding: 0.5em 0;
    text-align: right;
    font-size: 2vw;
}
.scrolledTop #mainMenu nav.menu ul li {
    font-size: 3vw;
    text-align: center;
    border-bottom: 5px solid #0A2E2F;
}
#mainMenu nav.menu ul li::after {
    content: "";
    position: absolute;
    bottom: -5px;
    right: 0;
    width: 8px;
    height: 8px;
    background-color: #0A2E2F;
}
.scrolledTop #mainMenu nav.menu ul li::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: #0A2E2F;
}

/*contact*/
#mainMenu div.wrapper nav.contact ul,
#mainMenu div.wrapper nav.contact ul li {
    list-style-type: none;
    padding: 0;
    margin: 0;

    text-align: center;
}
#mainMenu div.wrapper nav.contact ul li {
    font-size: 1vw;
}
.scrolledTop #mainMenu div.wrapper nav.contact ul li {
    font-size: 3vw;
}
#mainMenu div.wrapper nav.contact ul li a.phone {
    font-size: 2vw;
}
.scrolledTop #mainMenu div.wrapper nav.contact ul li a.phone {
    font-size: 5vw;
}

/*menu structure*/
#mainMenu div.wrapper {
    margin: 0;
    display: grid;
    grid-template-areas:
        "menu"
        "contact";
    gap: 8em;
}
.scrolledTop #mainMenu div.wrapper {
    display: grid;
    grid-template-areas:
        "contact"
        "menu";
}
#mainMenu div.wrapper nav.contact {
    display: block;
    grid-area: contact;
    align-self: center;
}
#mainMenu div.wrapper nav.menu {
    grid-area: menu;
    align-self: center;
}

/*VER 1.0.4*/
/*0*/
ul.footerList,
ul.footerList li {
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: pre;   
}
ul.footerList li::before,
ul.footerList li::after {
  font-style: normal;
}
ul.footerList {
    display: inline-flex;
    flex-wrap: wrap;

    justify-content: center;
    align-content: center;
}

ul.footerList li:first-child::before {
  content: " || ";
}
ul.footerList li:last-child::after {
  content: " || ";
}

ul.footerList li:not(:last-child)::after {
  content: " | ";
}
#footer {
  background-color: #3B3B3B;
  color: #bcbcbc;
  font-size: 0.5em;
  width: 85vw;
}
#footer a {
  text-decoration: none;
  color: #ffffff;
}
#footer p {
  margin: 0;
}

table.tiles {	
	border-collapse: collapse;
}
table.tiles caption{
    display: none;
}
table.tiles thead,
table.tiles tbody {
    border-width: 10px;
    border-style: solid;
}
table.tiles th,
table.tiles td {	
	padding: 0.2em;
}
table.tiles th {
    border-width: 5px;
    border-style: solid;
	font-size: 1em;
}
table.tiles td {
	text-align: center;
    border-width: 2px;
    border-style: solid;
	font-size: 0.8em;
}
table.tiles a {
    display: block;
}
table.pc{
    display: none;
}
/*TILIES EFFECT - TABLES*/
table.tiles thead,
table.tiles tbody {
	background: linear-gradient(135deg, #E9E8E3, #DCDBD9, #d5d8d6, #A6A8A7);
	background-size: 200% 200%;

	animation: 
		bgMove 5s ease infinite,
}

/*TILES EFFECT - ULS*/
/*regular*/
ul.tiles,
ul.tiles > li {
    list-style-type: none;
    padding: 0;
	margin: 0;
	display: block;
}
ul.tiles > li {
    font-size: 0.9em;
/*text alighment*/
display: flex;
justify-content: center;
align-items: center; 
text-align: center;

margin: 10px;
padding: 0.3em;
}
/*big*/
ul.bigTiles {
    padding: 0;
	margin: 0;
	display: block;
    margin: 10px;
    padding: 0.5em;
}
ul.bigTiles li {
    list-style: none;
    text-align: center;
}
/*TILIES EFFECT - ULS*/
ul.tiles > li,
ul.bigTiles {
	background: linear-gradient(135deg, #E9E8E3, #DCDBD9, #d5d8d6, #A6A8A7);
	background-size: 200% 200%;

    border: 2px solid #000000;
    border-radius: 8px;

	animation: 
		bgMove 5s ease infinite,
        borderColor 30s ease infinite;
}
@keyframes bgMove {
    0% { background-position: 1% 1%; }
    50% { background-position: 99% 99%; }
    100% { background-position: 1% 1%; }
}
@keyframes borderColor {
    0% {
        border-left-color: #5E881D;
        border-top-color: #000000;
        border-right-color: #E4C142;
        border-bottom-color: #000000;
    }
    25% {
        border-left-color: #183F14;
        border-top-color: #E4C142;
        border-right-color: #5E881D;
        border-bottom-color: #E4C142;
    }
    50% {
        border-left-color: #000000;
        border-top-color: #5E881D;
        border-right-color: #183F14;
        border-bottom-color: #5E881D;
    }
    75% {
        border-left-color: #E4C142;
        border-top-color: #183F14;
        border-right-color: #000000;
        border-bottom-color: #183F14;
    }
    100% {
        border-left-color: #5E881D;
        border-top-color: #000000;
        border-right-color: #E4C142;
        border-bottom-color: #000000;
    }
}

/*GALLERY EFFECT - ULS*/
ul.gallery,
ul.gallery li {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.gallery li {
    margin: 10px;
}
ul.gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

	justify-content: center;
	align-items: center;
	align-content: center;

    align-self: center;
}
ul.gallery4 {
    flex-wrap: wrap;
}

ul.gallery li a > div {
    width: 27vw;
    aspect-ratio: 1 / 1;
    border: 2px solid #000000;
    border-radius: 8px;
    color: white;

    display: flex;
    align-items: center;

    animation: 
        borderColor 30s ease infinite;
}
ul.gallery4 li a > div {
    width: 41vw;
}
ul.gallery li a > div > div {
    width: 100%;
	background: linear-gradient(135deg, #2a2a2a82, #2a2a2a60);
	background-size: 200% 200%;
    animation: 
		bgMove 5s ease infinite;
}

ul.gallery li a div h3 {
    margin-top: 0;
}
ul.gallery li a div p {
    margin-bottom: 0;
}

@keyframes bgMove {
    0% { background-position: 1% 1%; }
    50% { background-position: 99% 99%; }
    100% { background-position: 1% 1%; }
}
@keyframes borderColor {
    0% {
        border-left-color: #5E881D;
        border-top-color: #000000;
        border-right-color: #E4C142;
        border-bottom-color: #000000;
    }
    25% {
        border-left-color: #183F14;
        border-top-color: #E4C142;
        border-right-color: #5E881D;
        border-bottom-color: #E4C142;
    }
    50% {
        border-left-color: #000000;
        border-top-color: #5E881D;
        border-right-color: #183F14;
        border-bottom-color: #5E881D;
    }
    75% {
        border-left-color: #E4C142;
        border-top-color: #183F14;
        border-right-color: #000000;
        border-bottom-color: #183F14;
    }
    100% {
        border-left-color: #5E881D;
        border-top-color: #000000;
        border-right-color: #E4C142;
        border-bottom-color: #000000;
    }
}