@font-face {
	font-family: 'OpenSans';
	src: url('/fonts/OpenSans-Regular.eot');
	src: local('☺'), url('/fonts/OpenSans-Regular.woff') format('woff'),
					 url('/fonts/OpenSans-Regular.ttf') format('truetype'),
					 url('/fonts/OpenSans-Regular.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'OpenSans-Bold';
	src: url('/fonts/OpenSans-Bold.eot');
	src: local('☺'), url('/fonts/OpenSans-Bold.woff') format('woff'),
					 url('/fonts/OpenSans-Bold.ttf') format('truetype'),
					 url('/fonts/OpenSans-Bold.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'liberatorregular';
	src: url('/fonts/OpenSans-Bold.eot');
	src: local('☺'), url('/fonts/liberator-webfont.woff2') format('woff2'),
					 url('/fonts/liberator-webfont.woff') format('woff'),
					 url('/fonts/liberator-webfont.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: montserratlight;
	src: url(/fonts/montserrat-light-webfont.eot);
	src: url(/fonts/montserrat-light-webfont.eot?#iefix) format("embedded-opentype"), url(/fonts/montserrat-light-webfont.woff2) format("woff2"), url(/fonts/montserrat-light-webfont.woff) format("woff"), url(/fonts/montserrat-light-webfont.ttf) format("truetype"), url(/fonts/montserrat-light-webfont.svg#montserratlight) format("svg");
	font-weight: 400;
	font-style: normal
}
@font-face {
	font-family: montserratbold;
	src: url(/fonts/montserrat-bold-webfont.eot);
	src: url(/fonts/montserrat-bold-webfont.eot?#iefix) format("embedded-opentype"), url(/fonts/montserrat-bold-webfont.woff2) format("woff2"), url(/fonts/montserrat-bold-webfont.woff) format("woff"), url(/fonts/montserrat-bold-webfont.ttf) format("truetype"), url(/fonts/montserrat-bold-webfont.svg#montserratbold) format("svg");
	font-weight: 400;
	font-style: normal
}
@font-face {
	font-family: montserratregular;
	src: url(/fonts/montserrat-regular-webfont.eot);
	src: url(/fonts/montserrat-regular-webfont.eot?#iefix) format("embedded-opentype"), url(/fonts/montserrat-regular-webfont.woff2) format("woff2"), url(/fonts/montserrat-regular-webfont.woff) format("woff"), url(/fonts/montserrat-regular-webfont.ttf) format("truetype"), url(/fonts/montserrat-regular-webfont.svg#montserratregular) format("svg");
	font-weight: 400;
	font-style: normal
}
@font-face {
	font-family: montserratblack;
	src: url(/fonts/montserrat-black-webfont.eot);
	src: url(/fonts/montserrat-black-webfont.eot?#iefix) format("embedded-opentype"), url(/fonts/montserrat-black-webfont.woff2) format("woff2"), url(/fonts/montserrat-black-webfont.woff) format("woff"), url(/fonts/montserrat-black-webfont.ttf) format("truetype"), url(/fonts/montserrat-black-webfont.svg#montserratblack) format("svg");
	font-weight: 400;
	font-style: normal
}
@font-face {
	font-family: montserratsemi_bold;
	src: url(/fonts/montserrat-semibold-webfont.eot);
	src: url(/fonts/montserrat-semibold-webfont.eot?#iefix) format("embedded-opentype"), url(/fonts/montserrat-semibold-webfont.woff2) format("woff2"), url(/fonts/montserrat-semibold-webfont.woff) format("woff"), url(/fonts/montserrat-semibold-webfont.ttf) format("truetype"), url(/fonts/montserrat-semibold-webfont.svg#montserratsemi_bold) format("svg");
	font-weight: 400;
	font-style: normal
}

@font-face {
	font-family: 'Avenir-Black';
	src: url('/fonts/Avenir-Black.eot');
	src: local('☺'), url('/fonts/Avenir-Black.woff') format('woff'),
					 url('/fonts/Avenir-Black.ttf') format('truetype'),
					 url('/fonts/Avenir-Black.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir-Book';
	src: url('/fonts/Avenir-Book.eot');
	src: local('☺'), url('/fonts/Avenir-Book.woff') format('woff'),
					 url('/fonts/Avenir-Book.ttf') format('truetype'),
					 url('/fonts/Avenir-Book.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir-Medium';
	src: url('/fonts/Avenir-Medium.eot');
	src: local('☺'), url('/fonts/Avenir-Medium.woff') format('woff'),
					 url('/fonts/Avenir-Medium.ttf') format('truetype'),
					 url('/fonts/Avenir-Medium.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir-Roman';
	src: url('/fonts/Avenir-Roman.eot');
	src: local('☺'), url('/fonts/Avenir-Roman.woff') format('woff'),
					 url('/fonts/Avenir-Roman.ttf') format('truetype'),
					 url('/fonts/Avenir-Roman.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Avenir-Heavy';
	src: url('/fonts/Avenir-Heavy.eot');
	src: local('☺'), url('/fonts/Avenir-Heavy.woff') format('woff'),
					 url('/fonts/Avenir-Heavy.ttf') format('truetype'),
					 url('/fonts/Avenir-Heavy.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
    font-family: 'Architects Daughter';
    src: url('/fonts/ArchitectsDaughter.eot');
    src: url('/fonts/ArchitectsDaughter.eot?#iefix') format('embedded-opentype'),
        url('/fonts/ArchitectsDaughter.woff2') format('woff2'),
        url('/fonts/ArchitectsDaughter.woff') format('woff'),
        url('/fonts/ArchitectsDaughter.ttf') format('truetype'),
        url('/fonts/ArchitectsDaughter.svg#ArchitectsDaughter') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Master layout */

/************************************************************
Global styles */

/* Partial CSS Reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-tap-highlight-color:  rgba(0, 0, 0, 0);
}
html, body {
	height: 100%;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}
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, select, input, option {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
	display: block;
}
audio, canvas, video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word
}

:focus {
	outline:none;
}

table {
	border: 0 none;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
td {
	vertical-align: top;
}

/* End Reset */

body {
	line-height: normal;
	font-size: 100%;
	font-family: Avenir-Book;
	letter-spacing: 0.01em;
	color: #000;
}

/* Links */
a,
input[type=submit] {
	display: inline-block;
	color: inherit;
	outline: none;
	transition: all 0.3s ease 0s;
}
a:link,
a:visited,
a:hover,
a:active {
	text-decoration:none;
	outline: none;
}
a img {
	border: none;
	transition: all 0.5s ease 0s;
}
img {
	max-width:100%;
}
a[href^="tel:"] {
	color: inherit;
}
#container a:not([class]),
.hs-modal a:not([class]) {
	color: #83bd47;
	font-weight: bold;
}

/* Form elements */
input[type="search"] {
    -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
input[type="submit"] {
	cursor: pointer;
}

/* Headings */
h1, h2, h3, h4, h5, h6{
	font-weight: bold;
	font-family: 'Architects Daughter';
}
h1 {
	color: #000;
	font: 30px/34px 'Architects Daughter';
	text-transform: uppercase;
	margin-bottom: 15px;
}
h2 {
	color: #74041E;
	font: 36px/1 'Architects Daughter';
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 15px !important;
}
.black-h2 {
	color: #000 !important;
}
.black-h2 span {
	font-family: montserratregular;
}
h3 {
	font: 30px Arial, Helvetica, sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

h1 span,
h2 span {
	display: block;
	font-size: 28px;
	line-height: 0.8;
}

/* Block-level */
address {
	font-style:inherit;
}
p {
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 20px;
}
ul li {
	list-style: none;
}

#container ul,
.hs-modal ul {
	padding-left: 20px;
	margin-bottom: 20px;
}
#container ul li,
.hs-modal ul li {
	list-style-type: none;
	position: relative;
}
#container ul li:before,
.hs-modal ul li:before {
	content: '';
	position: absolute;
	top: 6px;
	left: -15px;
	margin: auto;
	background-color: #443c39;
	border-radius: 50%;
	height: 6px;
	width: 6px;
}
strong {
	color: #C72127;
	text-transform: uppercase;
	font-family: montserratblack;
	font-size: 20px;
	font-weight: normal;
}
sup {
	font-size: 9px;
}

/************************************************************
Generic Site Styles */

.table {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed;
  float: none !important;
}
.table.page,
.container {
	margin: 0 auto;
	max-width: 1060px;
}
.container {
  max-width: 1090px;
  
}
.container {
	padding: 0 15px;
}
main .table.page,
.table.auto-height {
  height: auto;
}

.table.auto-width {
  width: auto;
}

.table.auto-all {
  height: auto;
  width: auto;
}

.row {
  display: table-row;
}
.cell {
  display: table-cell;
  vertical-align: top;
  height: 100%;
  float: none !important;
}
.padding {
  padding: 0px 20px;
}
.padding-left {
  padding-left: 20px;
}
.padding-right {
  padding-right: 20px;
}
.middle {
  vertical-align: middle;
}
.bottom {
  vertical-align: bottom;
}
.table-header-group {
  display: table-header-group;
}
.table-footer-group {
  display: table-footer-group;
}

/* Text alignment */
.align-left, .left { text-align:left !important; }
.align-center { text-align:center !important; }
.align-right, .right { text-align:right !important; }

/** Default Placeholder styles ***/

::-webkit-input-placeholder {
/* WebKit browsers */
	color: #443c39;
  
}
:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
	color: #443c39;
	opacity: 1;
}
::-moz-placeholder {
/* Mozilla Firefox 19+ */
	color: #443c39;
	opacity: 1;
}
:-ms-input-placeholder {
/* Internet Explorer 10+ */
	color: #443c39;
	opacity: 1;
}

/* Container class to make iFrames responsive */
.frame-contain {
	position: relative;
	height:0;
	max-width:100%;
	overflow: hidden;
	padding-bottom: 56.25%; /* 16:9 */
							/* 75% = 4:3 */
}

.frame-contain iframe {
	position: absolute;
	top:0;
	left:0;
	height:100% !important;
	width:100% !important;
}

/* Fix extra button padding in Firefox */
input[type="submit"]::-moz-focus-inner {
	border:none;
	padding:0;
	line-height:1;
}
/************************************************************
Miscellaneous */
.safari,
.safari .banner .single-banner,
.safari .testimonials-wrapper {
	background-attachment: scroll;
}
.clearfix:after{
	content: '.';
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.pull-left{
	float: left;
}
.pull-right{
	float: right;
}
.relative {
  position: relative;
}
.full-size {
  height: 100%;
  width: 100%;
}

.on-top {
  position: relative;
  z-index: 1;
}
.hide {
  display: none !important;
}
.no-scroll, .overflow {
	overflow: hidden;
}
.large-text{
	font-size: 56px;
	font-family: montserratregular;
	font-weight: bold;
	text-transform: uppercase;
}
.large-text span{
	font-size: 107px;
	line-height: 110px;
	display: block;
}

.header-menu .sub-menu,
.btn, .sub-ctrl,
#menu .nav-wrapper h3,
#menu .nav-wrapper ul,
.ql-box h3, .ql-box .more,
.ql-box:after{
	 transition: all 0.3s ease 0s;
}
#menu, .search-box,
.header-wrapper,
.header-menu,
#menu .img-box:after {
	transition: all 0.5s ease 0s;
}
.main-content h1:before {
	content: "";
	display: block;
	width: 69px;
	height: 10px;
	background: #CF0000;
	margin: 25px 0;
}
.img-box {
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.img-box:after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background: rgba(54, 48, 46, 0.25);
}

.flexbox {
	display: flex;
}
.al-center {
	align-items: center;
}

header {
	display: flex;
	position: absolute;
	padding: 50px;
	width: 100%;
	z-index: 99;
}
header > span:first-child {
	color: #fff;
	font-size: 30px;
}
header .logo {
	margin: auto;
	padding: 0 15px;
	text-transform: uppercase;
}
header > span:first-child p {
	margin: auto;
	font-size: 30px;
	padding-bottom: 10px;
}
header > span:first-child p span {
	display: block;
	font-size: 20px;
}
header > a:last-child {
	height: 40px;
	min-width: 215px;
}

.footer-top {
	display: flex;
	padding: 50px 0;
}
.footer-top > div {
	flex-grow: 1;
}
.footer-top > div:not(:first-child) {
	border-left: solid 2px #fff;
	padding-top: 15px;
	padding-left: 50px;
}
.footer-top ul li {
	text-transform: uppercase;
}
.footer-top ul + ul {
	padding-top: 15px;
}

footer {
	background-color: #74041e;
	color: #fff;
	position: relative;
}
footer p {
	margin: auto;
	padding: 25px 150px 25px 0;
}

footer p > a:first-child {
	padding-left: 15px;
}

footer .container {
	position: relative;
	max-width: 100%;
	padding: 0 50px;
}

footer:before {
	content: '';
	background: rgba(0,0,0,0.3);
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
footer > div:last-child {
	position: relative;
}
.jb-logo {
	position: absolute;
	right: 0;
	bottom: 6px;
	margin-right: 50px;
}

#thank-you-modal {
	position: fixed;
	height: 90%;
	width: 90%;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 99999;
	max-width: 600px;
	max-height: 150px;
}
#thank-you-modal:before {
	content: '';
	background: rgba(0,0,0,0.5);
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}
#thank-you-modal > div {
	position: relative;
	z-index: 9999;
	background: #fff;
	padding: 25px;
	color: #000;
}
#thank-you-modal > div > div:before {
	content: '\f00d';
	font-family: 'Font Awesome 5 Pro';
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 18px;
}

.main-content {
	padding: 50px 25px;
}
.logo-bg > .container > .flexbox {
	position: relative;
	z-index: 1;
}
.logo-bg > .container > .flexbox:before {
	content: "";
	display: inline-block;
	height: 325px;
	width: 325px;
	background: url(/images/layout/logo-black.png) no-repeat center center;
	background-size: contain;
	opacity: 0.08;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -100px;
	
	z-index: -1;
}

.flexbox > div {
	width: 50%;
}
.flexbox .text-box {
	padding: 50px;
}

.icons {
	background: transparent url(/images/layout/blogging-guide-LFUbMeqZxXU-unsplash@2x.jpg) no-repeat center center scroll;
	background-size: cover;
	position: relative;
}
.icons:before {
	content: '';
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}
.icons > div span {
	color: #fff;
	text-transform: uppercase;
	width: 25%;
	margin: auto;
	text-align: center;
	padding: 75px 0;
	font-family: 'Architects Daughter';
	font-size: 30px;
	position: relative;
	z-index: 2;
}
.icons > div span:before {
	content: '';
	background-size: contain !important;
	display: block;
	margin: auto auto 15px auto;
	height: 90px;
	width: 90px;
}
.icons > div span:first-child:before {
	background: transparent url(/images/icons/Group11@2x.png) no-repeat center center scroll;
}
.icons > div span:nth-child(2):before {
	background: transparent url(/images/icons/Group12@2x.png) no-repeat center center scroll;
}
.icons > div span:nth-child(3):before {
	background: transparent url(/images/icons/Group13@2x.png) no-repeat center center scroll;
}
.icons > div span:last-child:before {
	background: transparent url(/images/icons/Group20@2x.png) no-repeat center center scroll;
}

.contacts {
	color: #fff;
	margin-left: auto;
}
.contacts > * {
	margin-left: 25px;
}
.contacts div:first-child {
	font-size: 20px;
}
.contacts div:first-child span {
	font-family: Avenir-Black;	
}
.contacts div + a:not(.btn) {
	font-size: 27px;
	position: relative;
	top: -8px;
}
.contacts .btn {
	position: relative;
	top: -8px;
	padding: 12px 15px 8px;
}
.btn {
	background-color: #CF0000;
	color: #fff !important;
	text-transform: uppercase;
	padding: 15px 20px;
	text-align: center;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

.slick-dots {
	bottom: -40px !important;
	list-style: none !important;
}
.slick-dots li,
.slick-dots li button {
	background: #DFEDE8;
	border-radius: 50%;
	height: 10px !important;
	width: 10px !important;
	transition: all 0.3s ease 0s;
}
.slick-dots li.slick-active,
.slick-dots li.slick-active button {
	background-color: #CF0000;
}
.slick-dots li button::before {
	display: none !important;
}

.logo {
	position: absolute;
	left: 50px;
	top: 40px;
	font: 44px/1 'Architects Daughter' !important;
}
.logo:before {
	content: '';
	background: transparent url(/images/layout/logo-white.png) no-repeat center center scroll;
	background-size: contain;
	height: 120px;
	width: 120px;
	display: inline-block;
	vertical-align: middle;
	position: relative;
/* 	top: 6px; */
	margin-right: 15px;
}