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



body {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	color: #4A4A4A;
	background: #F4F4F4;
	overflow-y: scroll;

	text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}



/* TEXT */

body,
.b-column {
	font-size: 16px;
	line-height: 26px;
}

.b-small {font-size:14px; line-height:24px;}
.b-large {font-size:18px; line-height:28px;}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-weight: 600;
}

h1 {font-size:32px; line-height:46px;}
h2 {font-size:32px; line-height:46px;}
h3 {font-size:24px; line-height:34px;}
h4 {font-size:18px; line-height:24px;}
h5 {font-size:16px; line-height:22px;}
h6 {font-size:13px; line-height:20px;}

p + h1, p + h2, p + h3, p + h4, p + h5, p + h6 {margin-top:40px;}

@media screen and (max-width: 900px) {
	h1 {font-size:26px; line-height:36px;}
	h2 {font-size:26px; line-height:36px;}
	h3 {font-size:22px; line-height:32px;}
	.b-large {font-size:16px; line-height:26px;}

	h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {display:none;}
}



/* LINKS */

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

a:hover {color:#343434;}
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;
}

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

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

strong, b {
	font-weight: 600;
}

em, i {
	font-style: normal;
}

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;
}



/* MISC TAGS */

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;
}



/* BUTTON */

.b-button {
	cursor: pointer;
	max-width: 100%;
	vertical-align: top;
	display: inline-block;
	box-sizing: border-box;
	color: #fff;
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
	line-height: 66px;
	height: 66px;
	width: auto;
	padding: 0 30px;
	background: #B30839;
	border: none;
	border-radius: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	appearance: none;
	min-width: 225px;
	text-align: center;
	-webkit-appearance: none;
	-moz-appearance: none;
	transition: color 0.25s, background 0.25s;
}

.b-button svg {
	display: inline-block;
	vertical-align: top;
	fill: currentColor;
	margin-top: 22px;
}

.b-button svg:first-child {margin-right:10px;}
.b-button svg:last-child {margin-left:10px;}

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

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

.b-button.alt-dark {color:#fff; background:#343434;}
.b-button.alt-dark:hover {color:#fff; background:#B30839;}

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

/* buttons */

.b-buttons {
	display: block;
	font-size: 0;
	line-height: 0;
	margin: -5px -20px;
}

.b-buttons > .b-button {
	margin: 5px 20px;
}

@media screen and (max-width: 900px) {
	.b-buttons {margin:-5px;}
	.b-buttons > .b-button {margin:5px;}
}



/* TEXT INPUT & TEXTAREA */

.b-input,
.b-textarea {
	box-sizing: border-box;
	color: #272F36;
	font-family: inherit;
	font-size: 16px;
	line-height: 50px;
	height: 50px;
	width: 100%;
	padding: 0 15px;
	background: #fff;
	border: none;
	border-radius: 4px;
	transition: box-shadow 0.25s;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.b-input:focus,
.b-textarea:focus {
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.1);
	outline: none;
}

.b-textarea {
	display: block;
	line-height: 24px;
	padding: 10px 15px;
	height: 120px;
	resize: vertical;
}



/* SELECT */

.b-select {
	cursor: pointer;
	box-sizing: border-box;
	color: #272F36;
	font-family: inherit;
	font-size: 16px;
	line-height: 50px;
	height: 50px;
	width: 100%;
	padding: 0 30px 0 15px;
	border: none;
	border-radius: 4px;
	background: #fff no-repeat right 15px center url(../img/ui-select.svg);
	transition: box-shadow 0.25s;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.b-select:focus {
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.1);
	outline: none;
}

.b-select::-ms-expand {
	display: none;
}



/* CHECKBOX */

.b-checkbox {
	position: relative;
	overflow: hidden;
}

.b-checkbox input {
	position: absolute;
	top: 0;
	left: -9999px;
}

.b-checkbox input + span {
	display: block;
	position: relative;
	padding: 0 0 0 34px;
}

.b-checkbox input + span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	box-shadow: inset 0 0 0 1px #ccc;
	transition: box-shadow 0.25s, background 0.25s;
}

.b-checkbox input:checked + span::before {background:#eee;}
.b-checkbox input:focus + span::before {box-shadow:inset 0 0 0 2px #ccc;}



/* PAGE */

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

.b-page-head {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	height: 160px;
	box-shadow: 0 1px 0 rgba(0,0,0,0);
	transition: box-shadow 0.25s;
}

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

.b-page[data-scroll] .b-page-head {
	position: fixed;
	top: -160px;
	height: 160px;
	box-shadow: 0 1px 0 rgba(0,0,0,0.1);
	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:70px;}
	.b-page-head + .b-page-body {border-top-width:70px;}
	.b-page[data-scroll] .b-page-head {top:-70px; height:70px;}
}

/* fix for sticky '.b-page-head' and disableScoll() in ios */
body[data-scroll="up"] .b-page-head {
	position: fixed;
	top: 0;
	transition: none;
}

/* disable sticky '.b-page-head' in ie11 */
_:-ms-fullscreen, :root .b-page .b-page-head {
	position: absolute;
	top: 0;
	height: 160px;
	transform: none;
}



/* SECTIONS */

.b-section {
	background: no-repeat center;
	background-size: cover;
}

.b-section.alt-light {background:#F4F4F4;}
.b-section.alt-inverted {background:#343434; color:#fff;}



/* FRAMES */

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

.b-frame + .b-frame {
	padding-top: 0 !important;
}

.b-frame-head.alt-centered,
.b-frame-foot.alt-centered {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
}

.b-frame-head {margin-bottom:30px;}
.b-frame-foot {margin-top:30px;}

.b-frame.alt-full {max-width:none;}
.b-frame.alt-tight {padding-top:60px; padding-bottom:60px;}
.b-frame.alt-loose {padding-top:180px; padding-bottom:180px;}
.b-frame.alt-collapse {padding-top:0; padding-bottom:0;}


@media screen and (min-width: 901px) {
	.b-frame.alt-wide {max-width:1500px;}
	.b-frame.alt-narrow {max-width:900px;}
}

@media screen and (max-width: 900px) {
	.b-frame {max-width:400px; padding:60px 30px;}
	.b-frame.alt-loose {padding-top:120px; padding-bottom:120px;}
}



/* NAV & MODAL */

.b-nav,
.b-modal {
	pointer-events: none;
	overflow: visible;
	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;
}

.b-nav {
	overflow: hidden;
	top: 70px;
}

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

@media screen and (min-width: 901px) {
	.b-nav {display:none;}
}



/* 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-center {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media screen and (max-width: 1800px) {
	.b-hidden-1800 {display:none !important;}
	.b-center-1800 {text-align:center !important; margin-left:auto !important; margin-right:auto !important;}
}

@media screen and (max-width: 1200px) {
	.b-hidden-1200 {display:none !important;}
	.b-center-1200 {text-align:center !important; margin-left:auto !important; margin-right:auto !important;}
}

@media screen and (max-width: 900px) {
	.b-hidden-900 {display:none !important;}
	.b-center-900 {text-align:center !important; margin-left:auto !important; margin-right:auto !important;}
	.b-set-height {height:auto !important;}
}

@media screen and (max-width: 600px) {
	.b-hidden-600 {display:none !important;}
	.b-center-600 {text-align:center !important; margin-left:auto !important; margin-right:auto !important;}
}



/* SPACERS */

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

.b-spacer[data-height="30"] {height:30px;}
.b-spacer[data-height="60"] {height:60px;}
.b-spacer[data-height="120"] {height:120px;}

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



/* COLUMNS */

.b-columns {
	font-size: 0;
	line-height: 0;
	margin: -20px;
}
	
.b-columns > .b-column {
	padding: 20px;
	vertical-align: top;
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
}

.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%;}

/* 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 {text-align:center;}
.b-columns.alt-center > .b-column {text-align:left;}

.b-columns.alt-middle > .b-column {vertical-align:middle;}

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

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



/* CARDS */

.b-card {
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 2px 7px 0 rgba(0,0,0,0.17);
	padding: 60px;
}

.b-card.alt-fill {background:#F4F4F4; box-shadow:none;}
.b-card.alt-nopad {padding:0 !important;}

@media screen and (min-width: 1201px) {
	.b-card.alt-indent {padding-left:120px; padding-right:120px;}
}

@media screen and (max-width: 900px) {
	.b-card {margin-left:-20px; margin-right:-20px; padding:30px 20px;}
}



/* LISTS */

.b-checklist {
	padding: 0;
	list-style: none;
}

.b-checklist > li {
	background: url(../img/ui-checklist.svg) no-repeat 0 0;
	margin: 20px 0;
	padding: 0 0 0 40px;
}



/* IMAGES */

.b-image {
	background: #343434 no-repeat center;
	background-size: cover;
	padding-bottom: 56.25%;
}

.b-image[data-ratio="3:2"] {padding-bottom:66.66%;}



/* TABLES */

.b-table-frame {
	overflow: auto;
}

.b-table-frame table {
	width: 100%;
	table-layout: fixed;
	border-spacing: 0;
	border-collapse: collapse;
	min-width: 821px;
}

.b-table-frame th {
	text-align: left;
	vertical-align: top;
	color: #fff;
	font-weight: 500;
	font-size: 12px;
	line-height: 20px;
	background: #686868;
	padding: 20px 5px;
}

.b-table-frame td {
	text-align: left;
	vertical-align: top;
	padding: 5px;
}

.b-table-frame th:first-child,
.b-table-frame td:first-child {padding-left:40px;}

.b-table-frame tbody tr:first-child td {padding-top:40px;}
.b-table-frame tbody tr:last-child td {padding-bottom:40px;}

.b-table-frame.alt-small table {min-width:0;}

.b-table-frame a {
	font-weight: 600;
	color: #B30839;
}

.b-table-frame a svg {
	display: inline-block;
	vertical-align: top;
	margin: 6px 0 0 6px;
}

.b-table-frame a:hover {
	color: #343434;
}

@media screen and (max-width: 900px) {
	.b-table-frame th:first-child,
	.b-table-frame td:first-child {padding-left:20px;}

	.b-table-frame tbody tr:first-child td {padding-top:20px;}
	.b-table-frame tbody tr:last-child td {padding-bottom:20px;}
}



/* SCROLL NOTE */

.b-scroll-note {
	display: none;
	text-align: center;
	font-size: 12px;
	color: #686868;
	font-weight: 600;
	margin-bottom: 5px;
}

.b-scroll-note img {
	display: inline-block;
	vertical-align: top;
	margin: 5px 0 0 5px;
}

@media screen and (max-width: 900px) {
	.b-scroll-note {display:block;}
}
