/**

Inspiro Advanced Layout Styles
Basic row and grid system for pages
And some helper styles

*/

.row {
	clear:both;
}

.flex-row {
	display: flex;
	flex-direction:row;
	flex-wrap:wrap;
}

.flex-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.row::after {
	content:"";
	display: block;
	width: 100%;
	height: 0;
	clear: both;
}

.col {
	float:left;
	padding:0 15px;
}

.size1of1 {
	width:100%;
}

.size1of2 {
	width:50%;
}

.size1of3 {
	width:33.333333333%;
}

.size1of5 {
	width:20%;
}

.size2of3 {
	width:66.666666666%;
}

.size3of5 {
	width:60%;
}

.size3of4, .size6of8 {
	width: 75%;
}

.size1of4 {
	width:25%;
}

.size2of4 {
	width:50%;
}

@media screen and (max-width: 960px){
	.size1of4 {
		width: 50%;
	}
	.size1of5, .size3of5, .size3of4, .size6of8 {
		width: 100%;
	}
}

@media screen and (max-width:760px){
	.size1of3 {
		width: 100%;
	}
}

@media screen and (max-width:640px) {
	.size2of3, .size1of4, .size3of4, .size6of8 {
		width:100%;
	}
	.size1of2, .size2of4, .size4of8 {
		width:100%;
	}
}


/*------------------------------------------- Fixed aspect ratio blocks */

.proportion {
	height: 0;
	overflow: hidden;
	position: relative;
}

.ratio1_1 {
	padding-bottom: 100%;
}

.ratio16_9 {
	padding-bottom: 56.25%;
}

/*---------------------------------------------- Helpers */

.debug {
	background: rgba(255,0,0,0.1);
}

.fillcontainer {
	width:100%;
	top:0;
	left:0;
	object-fit: cover;
}
.padded {
	padding:1em;
}
.paddingtop {
	padding-top:30px;
}

.paddingbottom {
	padding-bottom:30px;
}

.paddingv {
	padding-top:30px;
	padding-bottom: 30px;
}

.nopadding {
	padding: 0;
}

.flex-column {
	display: flex;
	flex-direction: column;
}
.flex-start {
	justify-content:flex-start;
}
.space-around {
	justify-content:space-around;
}
.space-between {
	justify-content:space-between;
}
.center {
	justify-content:center;
}
.grow {
	flex-grow:1;
}
.shrink {
	flex-shrink:1;
}

/* More text styles */

.hero-text {
	font-size: 150%;
}

.center {
	text-align: center;
}

/* Lists */

.list-horizontal {
	list-style: none;
}
.list-horizontal li {
	display: inline-block;
	margin: 1em;
}

/* Link Styles */

.button-links a, .button-link {
	padding: 0.5em 1em;
	border-width: 1px;
	border-style: solid;
	border-radius: 0.2em;
}
.button-links a:hover, .button-link:hover {
	text-decoration: none;
}