/************* GENERAL STYLES ***/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
	vertical-align: baseline; }

:focus { outline: 0; }

* { box-sizing: border-box; }

html, body {
	color: #222;
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale; }

body { overflow-x: hidden; }

ul, ol { 
	padding-left: 32px;
	margin-bottom: 1.2rem; }
	
	ul li, ol li { margin: 0 0 8px; }

.ls-none { list-style: none; }

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 14px; }

caption, th, td {
	text-align: left;
	font-weight: normal; }

.wp-block-table table th,
.wp-block-table table td {
	padding: 8px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd; }

.wp-block-table table th {
	background-color: #f0f0f0;
	font-weight: bold;
	text-align: center; }

.wp-block-table .has-text-align-left { text-align: left; }

blockquote:before, blockquote:after,
q:before, q:after {
	content: ""; }

blockquote, q { quotes: "" ""; }

img {
	max-width: 100%;
	height: auto; }
	

/*** FONT STYLES ***/
/*
font-family: 'Open Sans', sans-serif;
font-family: 'Titillium Web', sans-serif;
*/

.font-titillium { font-family: 'Titillium Web', sans-serif; }

h1, h2, h3, h4 {
	font-family: 'Titillium Web', sans-serif;
	font-weight: bold; }

h1,
.h1 { 
	margin-bottom: 2rem;
	font-size: 40px;
	line-height: 1.2; }

h2,
.h2 { 
	margin-bottom: 1.2rem;
	font-size: 30px;
	line-height: 1.2; }

h3,
.h3 { 
	margin-bottom: 1.2rem;
	font-size: 22px;
	line-height: 1.2; }

h4,
.h4 { 
	margin-bottom: 1.2rem;
	font-size: 18px; }

.entry-content h2,
.entry-content h3,
.entry-content h4 { 
	margin-top: 2rem; }

.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h3:first-child { 
	margin-top: 0; }

a:link { 
	color: #ED1D24;
	text-decoration: none; }

a:visited { 
	color: #A60810;
	text-decoration: none; }
	
a:hover { text-decoration: underline; }

p { margin-bottom: 1.2rem; }

strong { font-weight: bold; }

em { font-style: italic; }

sup, sub { 
	font-size: 75%;
	line-height: 0;
	position: relative; }

sup { top: -0.5em; }
sub { bottom: -0.25em; }

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

.deco-line { 
	position: relative;
	text-align: center; }

	.deco-line:before {
		content: "";
		width: 100%;
		height: 4px;
		position: absolute;
		top: 50%;
		left: 0;
		z-index: 0;
		background-color: #F0F0F0; }

	.deco-line span {
		position: relative;
		z-index: 1;
		padding: 0 16px;
		background-color: #fff; }


/*** STRUCTURE STYLES ***/
.wrapper {
	width: 100%;
	max-width: 1220px;
	padding: 0 40px;
	margin: 0 auto; }

.section {
	width: 100%;
	float: left;
	padding: 70px 0; }

.bg-grey { background-color: #f5f5f5; }

.w-800 { 
	width: 800px;
	max-width: 100%; }

.of-hidden { overflow: hidden; }

.pos-relative { position: relative; }
.pos-absolute { position: absolute; }


/*** COLS ***/
.col-row {
	margin-right: -12px;
	margin-left: -12px; }

.col {
	float: left;
	padding-right: 12px;
	padding-left: 12px; }

.col-12 { width: 100%; }
.col-9 { width: 75%; }
.col-8 { width: 66.6666%; }
.col-6 { width: 50%; }
.col-4 { width: 33.3333%; }
.col-3 { width: 25%; }


/*** PADDING ***/
.p-auto { padding: auto; }
.p-0 { padding: 0; }

.px-auto {
	padding-right: auto;
	padding-left: auto; }

.px-0 {
	padding-right: 0;
	padding-left: 0; }

.py-auto {
	padding-top: auto;
	padding-bottom: auto; }

.py-0 {
	padding-top: 0;
	padding-bottom: 0; }

.pt-auto { padding-top: auto; }
.pt-0 { padding-top: 0; }

.pr-auto { padding-right: auto; }
.pr-0 { padding-right: 0; }

.pb-auto { padding-bottom: auto; }
.pb-0 { padding-bottom: 0; }

.pl-auto { padding-left: auto; }
.pl-0 { padding-left: 0; }


/*** MARGIN ***/
.m-auto { margin: auto; }
.m-0 { margin: 0; }

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

.mx-0 {
	margin-right: 0;
	margin-left: 0; }

.mx-1 {
	margin-right: 8px;
	margin-left: 8px; }

.my-auto {
	margin-top: auto;
	margin-bottom: auto; }

.my-0 {
	margin-top: 0;
	margin-bottom: 0; }

.my-1 { 
	margin-top: 8px;
	margin-bottom: 8px; }

.mt-auto { margin-top: auto; }
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 8px; }

.mr-auto { margin-right: auto; }
.mr-0 { margin-right: 0; }

.mb-auto { margin-bottom: auto; }
.mb-0 { margin-bottom: 0; }

.ml-auto { margin-left: auto; }
.ml-0 { margin-left: 0; }


/*** BUTTONS ***/
a.btn,
.btn a {
	display: inline-block;
	padding: 8px 24px;
	border: 2px solid transparent;
	border-radius: 4px;
	text-align: center;
	font-family: 'Titillium Web', sans-serif;
	font-weight: bold;
	transition: 0.3s ease all; }

a.btn:hover,
.btn a:hover { text-decoration: none; }

a.btn-solid,
.btn-solid a {
	background-color: #ED1D24;
	border-color: #ED1D24;
	color: #fff; }

a.btn-solid:hover,
.btn-solid a:hover {
	background-color: #fff;
	color: #ED1D24; }

a.btn-solid--dark,
.btn-solid--dark a {
	background-color: #A60810;
	border-color: #A60810;
	color: #fff; }

a.btn-solid--dark:hover,
.btn-solid--dark a:hover {
	background-color: #fff;
	border-color: #fff;
	color: #A60810; }

a.btn-outline,
.btn-outline a {
	border-color: #ED1D24;
	color: #ED1D24; }

a.btn-outline:hover,
.btn-outline a:hover {
	background-color: #ED1D24;
	color: #fff; }


/*** FORMS ***/
form { font-size: 14px; }

.form-row { margin-bottom: 12px; }

.form-grid {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr); }

	.form-grid > div:first-child { 
		grid-column: 1;
		padding-right: 16px;
		font-weight: bold; }

	.form-grid > div:nth-child(2) { grid-column: 2; }

span.wpcf7-list-item { 
	display: block !important;
	margin: 0 0 6px !important; }

.wpcf7-not-valid-tip { 
	margin-top: 6px;
	font-size: 12px !important; }

[type="checkbox"],
[type="radio"] { margin-right: 4px; }


/*** MEDIA QUERIES ***/
/*** 1024px ***/
@media screen and (max-width: 800px) {

	.wrapper { padding: 0 24px; }
	
}


/*** 800px ***/
@media screen and (max-width: 800px) {

	.section { padding: 50px 0; }

}


/*** 600px ***/
@media screen and (max-width: 600px) {

	.form-grid { display: block; }

		.form-grid > div:first-child { margin-bottom: 8px; }
	
}


