*
{
    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 ***/

.pageTitlePhotoContainer
{
	margin-bottom: 45vh;
}

.pageTitlePhoto
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	/*height: 300px;*/
	height: 60vh;
	/*min-height: 60vh;*/
	object-fit: cover;
	object-position:center 10%;
	z-index: -1;
	/*clip-path: polygon(0 0, 0 300px, 100% 240px, 100% 0);*/
	clip-path: polygon(0 0, 0 60vh, 100% 45vh, 100% 0);
}

/***		new flex 		***/

.newFlex
{
	display:flex;
	justify-content: space-evenly;
	align-items: center;
	flex-flow: nowrap;
	flex-flow: row wrap;
}

.newFlex > div,
.newFlexItem
{
	text-align: center;
}

@media (max-width: 960px) {
    .newFlex
    {
    	display: block;		        
    }

    .newFlex > div,
    .newFlexItem
    {
	text-align: left;
	}
}

/***			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%;
}

/***		button		***/

.button
{
	margin: 15px;
	color: #ff6702;
	font-size: 16px;
	border-radius: 10px;
	border: solid 1px #ff6702;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
	text-decoration: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	background: #fff;
	background: linear-gradient(180deg, #fff 70%, #ccc 100%);
	display: inline-flex;
	align-items: center;
	text-align:left;
	padding: 0;
	box-shadow: 3px 3px 5px #0003;
}

.button:hover
{
	background: linear-gradient(180deg, #fff 80%, #ccc 100%);
	box-shadow: 5px 5px 7px #0003;
}
		
.button:active
{
	background: linear-gradient(180deg, #eee 70%, #bbb 100%);
	box-shadow: 3px 3px 5px #0003;
}

.buttonText
{
	position: relative;
	padding: 12px 18px;
}

.buttonIcon-left
{
	position: relative;
	border-right: 1px solid #ffffff29;
	box-shadow: inset rgb(0 0 0 / 14%) -1px 0 0;
	padding: 12px 10px;
}

.buttonIcon-right
{
	position: relative;
	border-left: 1px solid #ffffff29;
	box-shadow: inset rgb(0 0 0 / 14%) 1px 0 0;
	padding: 12px 10px;
}

/***			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;
}

/***			collapsible			***/

.collapsible-header
{
	cursor: pointer;
	display: block;
}

.collapsible-body
{
	transition: margin 2000ms;
}

.collapsible-body img
{
	filter: grayscale(100%); width:50%; margin: 0 auto;display: block;
}

.collapsible-expanded
{
	.collapsible-body { margin-top: 1em; margin-bottom: 1em;}
}

.collapsible-image
{
	margin: .6em 0 .6em 1em; width: 300px; float:right; filter: grayscale(100%);font-size:14px; text-align: right;
}

.collapsible-image img{width:300px}

.collapsible-toggle-symbol
{
	position: absolute;top:.5em;right:1em;font-weight: bold;
}

/***			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;
}