/*
	BASE
	- defined by 'b-' or base tag
	- 'alt-' classes should always be attached and never declaired alone
*/



/* TEXT */

body {
	margin: 0;
	font-family: 'Avenir', sans-serif;
	font-size: 19px;
	line-height: 33px;
	color: #54585A;
	background: #eee;
	overflow-y: scroll;

	text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: transparent;
}

h1, h2, h3, h4, h5, h6 {
	margin: 40px 0 0 0;
	line-height: 1.25em;
	font-weight: 700;
	color: #2C2A29;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0 !important;
}

h1, .b-h1 {font-size:55px;line-height: 71px;}
h2, .b-h2 {font-size:41px;line-height: 59px;}
h3, .b-h3 {font-size:34px;line-height: 49px;}
h4, .b-h4 {font-size:28px;line-height: 43px;}
h5, .b-h5 {font-size:24px;line-height: 32px;}
h6, .b-h6 {font-size:18px;}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {color:inherit;}

@media screen and (max-width: 1200px) {
	h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {display:none;}
}

@media screen and (max-width: 900px) {
	h1, .b-h1 {font-size:30px;line-height: 42px;}
	h2, .b-h2 {font-size:26px;line-height: 38px;}
	h3, .b-h3 {font-size:24px;line-height: 30px;}
	h4, .b-h4 {font-size:20px;line-height: 26px;}
	h5, .b-h5 {font-size:20px;line-height: 26px;}
	h6, .b-h6 {font-size:20px;line-height: 26px;}
}



/* LINKS */

a {
	color: #2c2a2980;
	background-color: transparent;
	text-decoration: none;
	transition: all 0.25s;
}

a:hover {color:#DA291C;}
a:focus {outline:none;}
a svg {fill:currentColor;}



/* BASIC TAGS */

p {
	margin: 20px 0;
}

ul, ol {
	margin: 20px 0;
	padding: 0 0 0 20px;
}

li {
	margin: 10px 0;
	padding: 0;
}

strong, b {
	font-weight: 700;
}

em, i {
	font-style: italic;
}

img, svg {
	display: block;
	max-width: 100%;
	height: auto;
	border: none;
}

hr {
	margin: 40px 0;
	padding: 0;
	background: none;
	border: none;
	border-bottom: 1px solid #ccc;
}

table {
	margin: 40px 0;
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

table td {
	padding: 5px;
	border: 1px solid #ccc;
	border-width: 1px 0;
}

iframe {
	max-width: 100%;
	border: none;
	overflow: auto;
}

nav ul,
nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

label,
button {
	cursor: pointer;
}

article,
aside,
footer,
header,
main,
section {
	display: block;
}

section::before,
section::after {
	content: "";
	display: block;
	overflow: hidden;
}

p:first-child,
ul:first-child,
ol:first-child,
li:first-child,
table:first-child {
	margin-top: 0 !important;
}

p:last-child,
ul:last-child,
ol:last-child,
li:last-child,
table:last-child {
	margin-bottom: 0 !important;
}

blockquote {
	position: relative;
	background: #eee;
	padding: 20px;
	margin: 20px 0;
}



/* BUTTON */

.b-button {
	cursor: pointer;
	max-width: 100%;
	vertical-align: top;
	display: inline-block;
	box-sizing: border-box;
	color: #FFFFFF;
	font-family: inherit;
	font-weight: 700;
	font-size: 16px;
	line-height: 43px;
	height: 43px;
	width: auto;
	padding: 0 24px;
	background: #DA291C;
	border: none;
	border-radius: 21.5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: color 0.25s, background 0.25s, box-shadow 0.25s;
}

.b-button.alt-light{background-color: #fff;color:#DA291C}

.b-button:hover {
	color: #fff;
	background: #4c4c4c;
}

.b-button:focus {
	outline: none;
}

.b-button.alt-outline {background-color:transparent; box-shadow: 0 0 0 2px #999; color:#999;}
.b-button.alt-outline:hover {color:#fff; background:#333; box-shadow: 0 0 0 2px #333;}

@media screen and (min-width: 901px) {
	* + p:last-child .b-button {margin-top:10px;}
}



/* PAGE */

.b-page {
	border-right: 0 solid #fff; /* used when scroll is disabled */
	background: #fff;
	max-width: 100%;
	min-width: 320px;
}

.b-page-head {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	height: 125px;
}

.b-page-head + .b-page-body {
	position: relative;
	z-index: 1;
	border-top: 125px solid transparent;
}

.b-page[data-scroll] .b-page-head {
	position: fixed;
	top: -125px;
	transition: transform 0.25s;
}

.b-page[data-scroll="up"] .b-page-head {
	transform: translate(0, 100%);
}

@media screen and (max-width: 900px) {
	.b-page-head {height:60px;}
	.b-page-head + .b-page-body {border-top-width:60px;}
	.b-page[data-scroll] .b-page-head {top:-60px; height:60px;}
}



/* FRAME */

.b-frame {
	max-width: 1380px;
	margin: 0 auto;
	padding: 80px 40px;
}

.b-frame-head {
	max-width: 900px;
	text-align: center;
	margin: 0 auto 60px;
}

.b-frame-foot {
	max-width: 900px;
	text-align: center;
	margin: 60px auto 0;
}

.b-frame.alt-min-pad-top {padding-top:40px;}
.b-frame.alt-min-pad-bottom {padding-bottom:40px}

@media screen and (max-width: 1200px) {
	.b-frame-head br,
	.b-frame-foot br {display:none;}
}

@media screen and (max-width: 900px) {
	.b-frame {max-width:400px; padding:40px 20px;}
	.b-frame-head {margin-bottom:40px;}
	.b-frame-foot {margin-top:40px;}
	.b-frame.alt-min-pad-top {padding-top:20px;}
	.b-frame.alt-min-pad-bottom {padding-bottom:20px;}
}



/* NAV & MODAL */

.b-nav,
.b-modal {
	display: block !important;
	pointer-events: none;
	overflow: hidden;
	position: fixed;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
	transition: visibility 0s 0.25s, opacity 0.25s;
}

#toggle-nav:checked ~ .b-nav,
#toggle-modal:checked ~ .b-modal {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transition: visibility 0s 0s, opacity 0.25s;
}

.b-nav {top:125px;}

@media screen and (max-width: 900px) {
	.b-nav {top:60px;}
}



/* UTILITY */

.b-scrollbar {
	width: 100px;
	height: 100px;
	overflow: scroll;
	position: absolute;
	top: -9999px;
}

.b-disabled {
	opacity: 0.25 !important;
	pointer-events: none !important;
}

.b-hidden {
	display: none !important;
}

.b-box {
	padding: 20px;
	background: #eee;
}

.b-image {
	width: 100%;
    height: auto;
    background: no-repeat center;
    background-size: cover;
}

.b-image::after {
    content: "";
    display: block;
    padding-bottom: 70%;
}

@media screen and (max-width: 1800px) {
	.b-hidden-1800 {display:none !important;}
}

@media screen and (max-width: 1500px) {
	.b-hidden-1500 {display:none !important;}
}

@media screen and (max-width: 1200px) {
	.b-hidden-1200 {display:none !important;}
}

@media screen and (max-width: 900px) {
	.b-hidden-900 {display:none !important;}
}

@media screen and (max-width: 600px) {
	.b-hidden-600 {display:none !important;}
}



/* SPACERS */

.b-spacer {
	display: block;
	clear: both;
}

.b-spacer[data-height="20"] {height:20px;}
.b-spacer[data-height="40"] {height:40px;}
.b-spacer[data-height="60"] {height:60px;}
.b-spacer[data-height="80"] {height:80px;}
.b-spacer[data-height="100"] {height:100px;}

@media screen and (max-width: 900px) {
	.b-spacer[data-height="60"],
	.b-spacer[data-height="80"],
	.b-spacer[data-height="100"] {height:40px;}
}



/* COLUMNS */

.b-columns {
	display: flex;
	flex-wrap: wrap;
	margin: -20px;
}

.b-columns > .b-column {
	padding: 20px;
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: stretch;
}

.b-columns > .b-column[data-width="1/1"] {width:100.0%;}
.b-columns > .b-column[data-width="1/2"] {width:50.00%;}
.b-columns > .b-column[data-width="1/3"] {width:33.33%;}
.b-columns > .b-column[data-width="1/4"] {width:25.00%;}
.b-columns > .b-column[data-width="1/5"] {width:20.00%;}
.b-columns > .b-column[data-width="1/6"] {width:16.66%;}
.b-columns > .b-column[data-width="1/7"] {width:14.27%;}
.b-columns > .b-column[data-width="1/8"] {width:12.50%;}

.b-columns > .b-column[data-width="2/3"] {width:66.66%;}
.b-columns > .b-column[data-width="2/4"] {width:50.00%;}
.b-columns > .b-column[data-width="2/5"] {width:40.00%;}
.b-columns > .b-column[data-width="2/6"] {width:33.33%;}
.b-columns > .b-column[data-width="2/7"] {width:28.56%;}
.b-columns > .b-column[data-width="2/8"] {width:25.00%;}

.b-columns > .b-column[data-width="3/4"] {width:75.00%;}
.b-columns > .b-column[data-width="3/5"] {width:60.00%;}
.b-columns > .b-column[data-width="3/6"] {width:50.00%;}
.b-columns > .b-column[data-width="3/7"] {width:42.84%;}
.b-columns > .b-column[data-width="3/8"] {width:37.50%;}

.b-columns > .b-column[data-width="4/5"] {width:80.00%;}
.b-columns > .b-column[data-width="4/6"] {width:66.66%;}
.b-columns > .b-column[data-width="4/7"] {width:57.13%;}
.b-columns > .b-column[data-width="4/8"] {width:50.00%;}

.b-columns > .b-column[data-width="5/6"] {width:83.33%;}
.b-columns > .b-column[data-width="5/7"] {width:71.41%;}
.b-columns > .b-column[data-width="5/8"] {width:62.50%;}

.b-columns > .b-column[data-width="6/7"] {width:85.70%;}
.b-columns > .b-column[data-width="6/8"] {width:75.00%;}

.b-columns > .b-column[data-width="7/8"] {width:87.50%;}

@media screen and (min-width:901px){
    .b-alternating .b-column:nth-child(1){order:1;}
    .b-alternating .b-column:nth-child(2){order:2;}
    .b-alternating .b-column:nth-child(3){order:4;}
    .b-alternating .b-column:nth-child(4){order:3;}
    .b-alternating .b-column:nth-child(5){order:5;}
    .b-alternating .b-column:nth-child(6){order:6;}
    .b-alternating .b-column:nth-child(7){order:8;}
    .b-alternating .b-column:nth-child(8){order:7;}

	.b-alternating-2 .b-column:nth-child(1){order:2;}
    .b-alternating-2 .b-column:nth-child(2){order:1;}
    .b-alternating-2 .b-column:nth-child(3){order:3;}
    .b-alternating-2 .b-column:nth-child(4){order:4;}
    .b-alternating-2 .b-column:nth-child(5){order:6;}
    .b-alternating-2 .b-column:nth-child(6){order:5;}
    .b-alternating-2 .b-column:nth-child(7){order:7;}
    .b-alternating-2 .b-column:nth-child(8){order:8;}
}

@media screen and (max-width:900px){
    .b-alternating .b-column:nth-child(1){order:2;}
    .b-alternating .b-column:nth-child(2){order:1;}
    .b-alternating .b-column:nth-child(3){order:4;}
    .b-alternating .b-column:nth-child(4){order:3;}
    .b-alternating .b-column:nth-child(5){order:6;}
    .b-alternating .b-column:nth-child(6){order:5;}
    .b-alternating .b-column:nth-child(7){order:8;}
    .b-alternating .b-column:nth-child(8){order:7;}

	.b-alternating-2 .b-column:nth-child(1){order:2;}
    .b-alternating-2 .b-column:nth-child(2){order:1;}
    .b-alternating-2 .b-column:nth-child(3){order:4;}
    .b-alternating-2 .b-column:nth-child(4){order:3;}
    .b-alternating-2 .b-column:nth-child(5){order:6;}
    .b-alternating-2 .b-column:nth-child(6){order:5;}
    .b-alternating-2 .b-column:nth-child(7){order:8;}
    .b-alternating-2 .b-column:nth-child(8){order:7;}
}

/* alts */

.b-columns.alt-tight {margin:-10px;}
.b-columns.alt-tight > .b-column {padding:10px;}

.b-columns.alt-collapse {margin:0;}
.b-columns.alt-collapse > .b-column {padding:0;}

.b-columns.alt-center {justify-content:center;}
.b-columns.alt-middle {align-items:center;}

@media screen and (min-width: 1201px) {
	.b-columns.alt-loose {margin:-40px;}
	.b-columns.alt-loose > .b-column {padding:40px;}
	.b-columns.alt-super-loose {margin:-100px;}
	.b-columns.alt-super-loose > .b-column {padding:100px;}
}

@media screen and (max-width: 900px) {
	.b-columns > .b-column[data-width] {width:100%;}
	.b-columns > .b-column[data-width]:empty {display:none;}
}



/* WORDPRESS */

.aligncenter {
	margin: 40px auto;
}

.alignleft {
	float: left;
	margin: 0 20px 20px 0;
}

.alignright {
	float: right;
	margin: 0 0 20px 20px;
}

@media screen and (max-width: 900px) {
	.aligncenter,
	.alignleft,
	.alignright {float:none; margin:40px auto;}
}