/* blocks and containers */
section {
	position: relative;
	margin-bottom: 60px;
}
section.small-margin {
	margin-bottom: 20px;
}
section.large-margin {
	margin-bottom: 120px;
}
section.no-margin {
	margin-bottom: -1px;
}
section.centered {
	text-align: center;
}
.container {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}
.container.full-width {
	max-width: none;
}
.container.limited-width {
	max-width: 720px;
}
.container.no-padding {
	padding-left: 0;
	padding-right: 0;
}
@media all and (max-width: 800px) {
	section {
		margin-bottom: 40px;
	}
	section.small-margin {
		margin-bottom: 20px;
	}
	section.large-margin {
		margin-bottom: 60px;
	}
	.container {
		padding: 0 20px;
	}
}

/* html video block */
.html-video {
	position: relative;
	padding-top: 56.25%; /* 16:9 */
	/*padding-top: 42.58%;*/ /* 2.35:1 */
	background-color: #000;
}
.html-video video {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

/* background html video */
.background-html-video {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	background-color: #000;
}
.background-html-video video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
}
/* no object-fit support */
@media(min-aspect-ratio: 16/9) {
	.background-html-video > video {
		height: 300%;
		top: -100%;
	}
}
@media(max-aspect-ratio: 16/9) {
	.background-html-video > video {
		width: 300%;
		left: -100%;
	}
}
/* 2. object-fit support */
@supports(object-fit: cover) {
	.background-html-video > video {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		object-fit: cover;
	}
}

/* background vimeo video */
.background-vimeo-video {
	width: 100%;
	height: 56.25vw;
	overflow: hidden;
	background-color: #000;
}

/* height at least 100vh */
.full-height {
	position: relative;
}
.full-height .container {
	min-height: 100vh;
}
