/**
 * Sections
 */
 .section {
	position: relative;
	display: flow-root;
	margin-top: var(--section-space);
	margin-bottom: var(--section-space);
}

@media screen and (max-width: 767px) {
	.section {
		margin-top: var(--section-space-mobile);
		margin-bottom: var(--section-space-mobile);
	}
}

.section__content {
	position: relative;
}

.section__inner {
	margin-left: auto;
	margin-right: auto;
}

.section__title,
.section__body,
.section__footer {
	display: flow-root;
}

.section__header {
	position: relative;
}

.section__header:empty {
	display: none;
}

.section__header > *:last-child {
	margin-bottom: 35px;
}

.section__header::before {
	content: "";
	display: inline-block;
	width: 0px;
	height: 0px;
	margin-bottom: 15px;
	background: var(--color-link);
	display: none;
}

.section__uptitle {
	color: var(--color-white);	
}

.section__title {
	position: relative;
	margin: 0;
}

.section__title span {
	color: var(--color-link);
}

.section__title::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 5px;
	background: var(--color-link);
	vertical-align: middle;	
	display: none;
}

.section__subtitle {
	margin-bottom: 25px;
	color: var(--color-white);
	line-height: 1.5em;
}

.section__title-decor {
	margin-bottom: 0;
}

.section .page__intro {
	margin-top: 15px;
}

.section__body > *:last-child {
	margin-bottom: 0;
}

.section__footer {
	margin-top: var(--line-height);
}

.section__footer .button {
	margin: 0;
}

/* styles */
.section-remove-margin-bottom {
	margin-bottom: 0;
}

.section-remove-margin-top {
	margin-top: 0;
}

.section-remove-margin-both {
	margin-top: 0;
	margin-bottom: 0;
}

.section-text-align-center {
	text-align: center;
}

.section-text-align-right .section__body {
	text-align: right;
}

.section-text-align-left .section__body {
	text-align: right;
}

.section-title-centered .content-size-medium {
	margin: 0 auto;
}

.section-title-centered .section__header,
.section-title-centered .section__footer {
	text-align: center;
}

/* colors */
.section-light,
.section-dark,
.section-color {
	padding-top: calc(var(--section-space) / 2);
	padding-bottom: calc(var(--section-space) / 2);
}

/* dark full bg */
.section-dark {
	background-color: var(--color-dark);
}

.section-dark .section__header > * {
	color: var(--color-white);
}
.section-dark .section__body * {
	color: var(--color-light-gray);
}

/* halfs light */
.section-half,
.section-content-half-dark .section__content {
	z-index: 1;
	padding-top: calc(var(--section-space) / 2);
	padding-bottom: calc(var(--section-space) / 2);
}

.section-half::before,
.section-content-half-dark .section__content::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	z-index: -1;
	background-color: var(--color-dark);
}

/* color */
.section-color .decorative-title,
.section-content-color .decorative-title {
	color: var(--color-white);
}

.section-color {
	background-color: var(--color-accent-light);
}

.section-content-color .section__content {
	background-color: var(--color-accent-light);	
}

/* light */
.section-light {
	background-color: var(--color-extra-light);
}

.section-content-light .section__content {
	background-color: var(--color-extra-light);
}

/* dark content */
.section-content-dark .section__content {
	background-color: var(--color-dark);
}

.section-content-dark .section__content .section__header > * {
	color: var(--color-white);
}
.section-content-dark .section__content .section__body * {
	color: var(--color-light-gray);
}

/* dark buttons */
.section-dark .button,
.section-content-dark .button {
	color: var(--color-dark);
	border-width: 2px;
	border-color: var(--color-white);
	background-color: var(--color-white);
}

.section-dark .button:hover,
.section-dark .button:focus,
.section-dark .button:active,
.section-content-dark .button:hover,
.section-content-dark .button:focus,
.section-content-dark .button:active  {
	color: var(--color-white);
	border-color: var(--color-white);
	background-color: var(--color-black-0);
}

/* section with list */
.section-with-list .section__body ul {
	list-style-type: none;
	list-style-position: outside;
}

.section-with-list .section__body ul li {
	position: relative;
}

.section-with-list .section__body ul li::before {
	content: "\2713";
	font-size: 1.25em;
	display: inline-block;
	position: relative;
	margin-left: -25px;
	margin-right: 10px;
	color: var(--color-accent-light);
}

.section-with-list .section__body ul li > * {
	display: inline;
}