*
{
    box-sizing: border-box;
}

html, body
{
	height: 100%;
}

html, body, nav, section, article, header, div, h1, h2, h3, h4, p
{
    margin: 0;
    padding: 0;
    display: block;
}

body
{
    font-family: "Outfit", sans-serif;
    font-size: 20px;
	font-weight: 300;
    background: #243a1f;
}

article
{
	margin: 35px auto 35px auto;
    width: 90%;
    max-width: 860px;
}

article header
{
    margin: 5em 0 2em 0;
    text-align: center;
	
	margin-left: 25%; border-bottom: 3px solid #ff6602; box-shadow: 0px 20px 15px -20px #000;
}

article header h2
{
	font-size: 2em;
    letter-spacing: 0.4em;
	font-weight: 800;
	text-align: right;
	color: transparent;
	background: #243a1f;
	background-clip: text;
	text-shadow: 0px 3px 3px rgba(255, 255, 255, 0.3);
}

p
{
    text-align: justify;
    line-height: 1.5;
    text-indent: 50px;
}

/***			content			***/

#content
{
	position: relative;
	z-index: 3;
	top: 100px;
    padding: 100px 0 150px 0;
    color: #000;
    background: #fff;
	background-image: url("https://sienosgrupe.org/_img/bg-noise-100px.png");
    box-shadow: 0 0 65px 45px #000;
}

#content a, footer a
{
    color: #000;
    text-decoration: underline dotted;
}

#content a
{
    color: #ff6602;
}

#content .a
{
    filter: invert(39%) sepia(87%) saturate(1888%) hue-rotate(1deg) brightness(105%) contrast(102%);
}

.spaceForHero
{
	position: relative;
	top: 99%!important;
}

.headIcon
{
    z-index: 2;
    position: relative;
    top: -98px;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 1);
    border-radius: 50%;
}

/***			diamond			***/

.diamondPhoto
{
	display:block;
	width:45vw;
	height:auto;
	position: absolute;
	top: -12vw;
	left: -16vw;
	z-index: -1;
}

.diamondShape
{
	transition: filter 0.5s ease-in-out;
}

.diamondShape:hover
{
	filter: brightness(33%);
}

.diamondCredit
{
	text-shadow: 0 0 6px #000, 0 0 5px #000, 0 0 5px #000, 0 0 5px #000, 0 0 5px #000;
}

@media (max-width: 640px)
{
	.diamondPhoto
	{
		width:55vw;
	}
}

@media (max-width: 380px)
{
	.diamondPhoto
	{
		width:80vw;
		top: -15vw;
  		left: -20vw;
	}
}

/***			page title photo ***/

.pageTitlePhoto
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position:center 20%;
	z-index: -1;
	clip-path: polygon(0 0, 0 300px, 100% 240px, 100% 0);
}

/***			flex			***/

.flex-container
{
    display: flex;
    flex-flow: row wrap;
	align-items: stretch;
	flex-shrink: 0;
	flex-grow: 0;
}

.flex-grow-items
{
	* {flex-grow: 1}
}

.flex-h1
{
	padding: 10px;
    flex-basis: 100%;
}

.flex-h2
{
	padding: 10px;
    flex-basis: 50%;
}

.flex-h3
{
	padding: 10px;
    flex-basis: 33%;
}

.flex-h4
{
	padding: 10px;
	flex-basis: 25%;
}

/* experimental */

	.flex-h4-3
	{
	    padding: 10px;
	    flex-basis: 25%;
	}

	.flex-h5-3
	{
	    padding: 10px;
	    flex-basis: 20%;
	}

.flex-h5
{
	padding: 10px;
    flex-basis: 20%;
}

.flex-h6
{
	padding: 10px;
    flex-basis: 16.6%;
}

/***			other elements			***/

.roundedFrame
{
	padding: 10px;
    position: relative;
    height: 100%;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: #fff;
}

.roundedBox
{
	padding: 20px;
    position: relative;
    min-height:220px;
    height: 100%;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: #fff;
}

.fontSize24
{
	font-size: 24px;
}

.height75
{
	height: 75px;
}

.textSmallTopLeft
{
    font-size: 11px;
    color: #555b51;
    position: absolute;
    top: 10px;
    left: 10px;
}

.textBigBottomRight
{
    font-size: 42px;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.chartBox
{
    width: 100%;
    overflow: hidden;
    border: 1px solid #dedede;
    border-radius: 15px;
}

.comboBox
{
    position: fixed;
    top: 10px;
    right: 25px;
	display: block;
	width: 150px;
}

/***			footer			***/
footer
{
	position: relative;
	top: 100px;
    padding: 4em 0;
    color: #fff;
	background: #243a1f;
}

footer a
{
    filter: invert(1);
}

.footerAlign
{
    text-align: right;
}

/***			small screen			***/

@media (max-width: 960px)
{
	article header h2
	{
		font-size: 1.3em;
	}
	
	article header
	{
		margin-left: 50px;
		box-shadow: 0px 10px 8px -10px #000;
	}
	
	#content
	{
		top: 0px;
	}
	
	.chartBox
	{
        overflow-x: scroll;
    }
	
    .chartBox::scrollbar
	{
        display: none;
    }
	
	.flex-h2,
	.flex-h3,
    .flex-h4,
	.flex-h5,
	.flex-h6
	{
        flex: 100%;
    }

    /* experimental */

    .flex-h4-3,
    .flex-h5-3
	{
        flex-basis: 33%;
        padding: 10px;
    }
	
    .footerAlign
	{
		margin-top: 40px;
        text-align: left;
    }
}

/***			global			***/

.marginLeft10
{
    margin-left: 10px;
}

.paddingLeftRight10
{
    padding-left: 10px;
    padding-right: 10px;
}

.top-6
{
    position: relative;
    top: -6px;
}

.top-10
{
    position: relative;
    top: -10px;
}

.alignRight
{
	text-align: right;
}

.italic
{
	font-style: italic;
}