/*------------------------------------------------------------------
[Table of contents]

 - Global
 - UI
 - Helpers

-------------------------------------------------------------------*/


/* GLOBAL */

* {
	margin: 0;
	padding: 0;
	font: inherit;

	will-change: all;
}

*:before,
*:after {
	box-sizing: border-box;

	will-change: all;
}

html {
	cursor: default;
	user-select: none;
}


body {
	font: 400 16px/1.52857 'Lato';
	background-color: #fff;
}

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


.main-content,
.sidebar {
	margin-top: 20px;
	margin-bottom: 20px;
}

.section {
	position: relative;
	padding-top: 50px;
	padding-bottom: 80px;
}

.section-large {
	position: relative;
	padding-top: 75px;
	padding-bottom: 100px;
}


/* UI */

.ui-text {
	font: 400 14px/23.8px 'Lato', sans-serif;
	color: #777;
}

.ui-title-page {
	position: relative;
	padding: 22px 0 46px;
	font-family: Raleway;
	color: #fff;
}
.ui-title-page h1 {
	margin-bottom: 1px;
	margin-left: 4px;
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
}

.ui-subtitle-page {
	margin-left: 4px;
	font-size: 18px;
	font-weight: 300;
}

.ui-title-block {
	margin-bottom: 7px;
	font: 300 38px/1.3 'Raleway';
	color: #333;
}

.ui-title-block strong {
	font-weight: 500;
}

.ui-title-block_small {
	margin-bottom: 30px;
	font-size: 30px;
	font-weight: 300;
}

.ui-title-block_small span {
	font-weight: 500;
}
.ui-title-block_small span + span {
	display: block;
	font-size: 28px;
	font-weight: 300;
}

.ui-subtitle-block {
	padding-bottom: 55px;
	font-family: 'Raleway';
	font-size: 20px;
	font-weight: 300;
	color: #878787;
	text-align: center;
	letter-spacing: 0.21em;
}
.ui-subtitle-block_small {
	padding-bottom: 20px;
	font-size: 18px;
	line-height: 21.6px;
}
.ui-subtitle-block_form {
	margin-top: 50px;
	padding-bottom: 10px;
	color: #363636;
	letter-spacing: normal;
}
.ui-title-inner {
	font: 700 18px 'Raleway';
	color: #333;
}
.ui-title-inner_small {
	font-size: 16px;
}

.ui-form .input-group {
	width: 100%;
	margin-bottom: 20px;
	font-size: 12px;
	font-weight: 300;
	color: #888;
	border: 1px solid #eee;
	border-radius: 25px;
	overflow: hidden;
}
.ui-form .input-group input,
.ui-form .input-group textarea {
	width: 100%;
	padding: 16px 30px;
	border: none;
	border-radius: 25px;
}
.ui-form .input-group .icon {
	position: absolute;
	top: 0;
	right: 0;
	padding: 18px 20px 18px 0;
	color: #f26529;
}

.ui-form .input-group input:focus,
.ui-form .input-group textarea:focus {
	outline-style: none;
}
.ui-form .input-group input::-webkit-input-placeholder,
.ui-form .input-group textarea::-webkit-input-placeholder {
	font-size: 13px;
	color: #888;
}
.ui-form .input-group input::-moz-placeholder,
.ui-form .input-group textarea::-moz-placeholder {
	font-size: 13px;
	color: #888;
}



/* --- Helpers --- */


.separator_10 {
	display: inline-block;
	width: 100%;
	margin-bottom: 10px;
	border: medium none;
}
.separator_20 {
	display: inline-block;
	width: 100%;
	margin-bottom: 20px;
	border: medium none;
}
.separator_30 {
	display: inline-block;
	width: 100%;
	margin-bottom: 30px;
	border: medium none;
}
.separator_40 {
	display: inline-block;
	width: 100%;
	margin-bottom: 40px;
	border: medium none;
}
.separator_100 {
	display: inline-block;
	width: 100%;
	margin-bottom: 100px;
	border: medium none;
}

.unstyled {
	list-style-type: none;
}

.helper,
.helper:before {
	display: inline-block;
	vertical-align: middle;
}
.helper:before {
	width: 0;
	height: 100%;
	content: '';
}

.no-spacing {
	letter-spacing: 0;
}
