/*
	Theme Name: Charley Toppino & Sons Theme
	Author: BuildWitt
*/

/* Login Screen */

.login {
	background-color: #ffffff;
	background-image: url(/wp-content/themes/cts/images/graphic-curve-red.svg);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: contain;
}

#login {
	border: 0;
	margin: 0 auto;
	margin-top: 8%;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	background: transparent;
}

.login h1.admin-email__heading {
	font-size: 1.4em;
}


.login h1 a {
	background-image: url(/wp-content/themes/cts/images/logo.svg);
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: 65%;
	background-position: center;
	width: 100%;
	margin: 0;
	border: 0;
	height: 140px;
}

.login-action-confirm_admin_email h1 a {
	margin-bottom: 2em;
	background-size: 31%;
}

.login-action-confirm_admin_email #login {
	margin-top: 8%;
}

.login #login_error, .login .message, .login .success {
	background: #ffffff;
	color: #21353C;
	text-align: center;
	border: unset;
	padding: 0;
	font-style: italic;
	margin: 0;
	padding: 2em;
	padding-bottom: 0;
	font-size: 0.7em;
}

.login form {
	background: #ffffff;
	box-shadow: unset;
	border: unset;
	margin-top: -1px;
	padding-bottom: 2em;
	padding-top: 2em;
}

.login label {
	color: #21353C;
	font-weight: 200;
}

.login form .input, .login input[type=password], .login input[type=text] {
	font-size: 1em;
	padding: 0.8em 1.5em;
	-webkit-appearance: none;
	width: 100%;
	border: 0;
	border: 1px solid #C2C1C1;
	box-shadow: none;
	color: #102342;
	background-color: transparent;
	background: #ffffff;
	border-radius: 10px;
}

.login .user-pass-wrap {
	margin-bottom: 1em;
}

#login form p.submit {
	text-align: center;
}

.wp-core-ui .button.button-large.button-primary, .wp-core-ui .button-group.button-large .button, .wp-core-ui .button.button-large {
	padding: 0.8em 2.5em;
	font-size: 1em;
	transition: 0.5s all;
	border-radius: 40px;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	justify-content: space-between;
	font-family: 'Inter';
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	background: #FFBC00;
	color: #D31D00;
	border: 0;
	border: 3px solid #FFBC00;
}

.wp-core-ui .button.button-large.button-primary:hover, .wp-core-ui .button-group.button-large .button:hover, .wp-core-ui .button.button-large:hover {
	background: #ebac00;
	text-decoration: none;
	color: #D31D00;
	border: 3px solid #ebac00;
}

.login #backtoblog a, .login #nav a {
	color: #21353C;
}

.login #backtoblog a:hover, .login #nav a:hover, .login h1 a:hover {
	color: #21353C;
}

.login form .forgetmenot {
	float: none;
}

.login #nav, .login #backtoblog {
	background: #ffffff;
	margin-top: -1px;
}

.login #backtoblog {
	padding-top: 1em;
	padding-bottom: 1em;
	margin-bottom: 0;
	border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.login .privacy-policy-page-link {
	display: none;
}

/* Font References */


@font-face {
  	font-family: 'Inter';
  	src: url(library/fonts/Inter-Regular.ttf);
}

@font-face {
  	font-family: 'Inter';
  	font-weight: 600;
  	src: url(library/fonts/Inter-SemiBold.ttf);
}

@font-face {
  	font-family: 'Inter';
  	font-weight: 700;
  	src: url(library/fonts/Inter-Bold.ttf);
}

@font-face {
  	font-family: 'Oswald';
  	src: url(library/fonts/Oswald-Bold.ttf);
}

/* Global */

* {
    box-sizing: border-box;
}

html {
	font-size: 18px;
	margin: 0;
	padding: 0;
}

html.fixed {
	position: fixed;
	overflow: hidden;
}

body {
	font-size: 1em;
	margin: 0;
	padding: 0;
	font-family: 'Inter', sans-serif;
	color: #6F6F6F;
	position: relative;
	background: #ffffff;
}

.container {
	width: 85%;
	max-width: 1600px;
	padding-left: 15px;
	padding-right: 15px;
}

.container.full-width {
	max-width: 1800px;
	width: 100%;
}

.container-fluid {
	position: relative;
	padding-left: 15px;
	padding-right: 15px;
}

.container-fluid {
	z-index: 2;
}

.row {
	padding-top: 6em;
	padding-bottom: 6em;
	margin-left: -15px;
	margin-right: -15px;
}

.py-small {
	padding-top: 3em;
	padding-bottom: 3em;
}

.pt-small {
	padding-top: 3em;
}

.pb-small {
	padding-bottom: 3em;
}

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

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
	padding-left: 15px;
	padding-right: 15px;
}

/* Typography */

h1 {
	font-family: 'Oswald', sans-serif;
	color: #ffffff;
	font-size: 4em;
	text-shadow: 0px 4px 28px rgba(0, 0, 0, 0.5);
}

.page-template-home h1 {
	font-size: 7em;
}

h2, .single h1, h1.h2 {
	font-family: 'Oswald', sans-serif;
	color: #373F41;
	font-size: 2.5em;
	margin-bottom: 0.8em;
	letter-spacing: 0.3px;
	text-shadow: unset;
}

.single h1 {
	font-size: 3.5em;
	color: #D31D00;
}

h3 {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	color: #CA0003;
	font-size: 1em;
	letter-spacing: 0.105em;
}

h4 {
	font-family: 'Inter', sans-serif;
	font-weight: 800;
	font-style: italic;
	color: #FFBC00;
	font-size: 6em;
}

h5 {
	font-family: 'Oswald', sans-serif;
	color: #373F41;
	font-size: 1.6em;
	margin-bottom: 0.5em;
	letter-spacing: 0.3px;
}

h5.smaller {
	font-size: 1.3em;
}

h5 a:hover {
	text-decoration: none;
	color: #CA0003;
}

h6 {
	font-family: 'Oswald';
	color: #ffffff;
	font-size: 3em;
}

h7 {
	font-family: 'Inter', sans-serif;
	color: #ffffff;
	font-size: 1.7em;
	font-weight: 700;
	display: block;
	margin-bottom: 1em;
}

h7.normal {
	font-weight: inherit;
	color: inherit;
}

h7.smaller {
	font-size: 1.5em;
	line-height: 1;
	margin: 0;
}

.list-item {
	font-family: 'Oswald';
	font-size: 1.5em;
	font-weight: 900;
	color: #1A1A1A;
	display: flex;
	align-items: center;
}

.list-item:before {
	content: '';
	height: 15px;
	width: 15px;
	display: inline-block;
	position: relative;
	background: #CA0003;
	margin-right: 1em;
}

blockquote {
	color: #ffffff;
	font-family: 'Oswald';
	font-weight: 900;
	font-size: 1.8em;
	position: relative;
	text-align: center;
	width: 80%;
	margin: 0 auto;
	margin-top: 2em;
}

blockquote:before {
	content: '';
	height: 70px;
	width: 103px;
	background-image: url(/wp-content/themes/cts/images/icon-quotation-mark-left.svg);
	background-size: cover;
	position: absolute;
	left: -50px;
	top: -25px;
}

blockquote:after {
	content: '';
	height: 70px;
	width: 103px;
	background-image: url(/wp-content/themes/cts/images/icon-quotation-mark-right.svg);
	background-size: cover;
	position: absolute;
	right: -50px;
	bottom: -25px;
}

.single blockquote {
	color: #6F6F6F;
}

.single blockquote:before {
	filter: brightness(0) saturate(100%) invert(11%) sepia(80%) saturate(6860%) hue-rotate(19deg) brightness(99%) contrast(99%);
}

.single blockquote:after {
	filter: brightness(0) saturate(100%) invert(11%) sepia(80%) saturate(6860%) hue-rotate(19deg) brightness(99%) contrast(99%);
}

a {
	color: #000000;
	transition: 0.5s all;
}

a:hover {
	text-decoration: underline;
	color: #000000;
}

a.img-hover img {
	transform: scale(1);
	transition: 0.5s all;
}

a.img-hover:hover img {
	transform: scale(1.05);
}

p:last-of-type {
	margin-bottom: 0;
}

hr {
	border-top: 1px solid #373F41;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	width: 100%;
}

b, strong {
	font-weight: 900;
}

.large {
	font-size: 1.8em;
}

.color-white {
	color: #ffffff;
}

.color-black {
	color: #373F41;
}
 
.color-red {
	color: #D31D00;
}

.color-gray {
	color: #959495;
}

.color-light-gray {
	color: #D0D0D0;
}

.color-yellow {
	color: #FFBC00;
}

.text-shadow {
	text-shadow: 00px 4px 4px rgba(0, 0, 0, 0.1);
}

.small {
	font-size: 0.7em;
}

.btn-primary, .btn-secondary {
	padding: 0.8em 2.5em;
	font-size: 1em;
	transition: 0.5s all;
	border-radius: 40px;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	justify-content: space-between;
	font-family: 'Inter';
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.oswald {
	font-family: 'Oswald';
	font-weight: 700;
	font-size: 1.1em;
	letter-spacing: 0.3px;
}

.btn-primary img, .btn-secondary img, .btn-text img {
	height: 25px;
	width: 25px;
	margin-left: 1em;
}

.btn-primary {
	background: #FFBC00;
	color: #D31D00;
	border: 0;
	border: 3px solid #FFBC00;
}

.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show >.btn-primary.dropdown-toggle {
	background: #ebac00;
	text-decoration: none;
	color: #D31D00;
	border: 3px solid #ebac00;
}

.btn-primary:focus {
	box-shadow: 0 0 0 0.2em #D31D00;
}

.btn-primary.bg-red {
	background: #D31D00;
	color: #ffffff;
	border: 3px solid #D31D00;
}

.btn-primary.bg-red:hover {
	background: #ffffff;
	color: #D31D00;
	border: 3px solid #ffffff;
}

.btn-primary.bg-red:hover img {
	filter: brightness(0) saturate(100%) invert(13%) sepia(66%) saturate(6454%) hue-rotate(20deg) brightness(101%) contrast(108%);
}

.btn-primary.bg-red:focus {
	box-shadow: 0 0 0 0.2em #FFBC00;
}

.btn-secondary {
	background: transparent;
	border: 3px solid #D31D00;
	color: #D31D00;
}

.btn-secondary:hover {
	background: #D31D00;
	text-decoration: none;
	color: #ffffff;
	border: 3px solid #D31D00;
}

.btn-secondary.border-yellow {
	border-color: #FFBC00;	
	color: #ffffff;
}

.btn-secondary.border-yellow:hover {
	border-color: #FFBC00;
	background: #FFBC00;
}

.btn-secondary.disabled {
	background: transparent;
	border: 3px solid transparent;
	color: #959495;
}

.btn-secondary.disabled:hover {
	color: #D31D00;
}

.btn-text {
	font-family: 'Inter';
	font-weight: 600;
	color: #373F41;
	font-size: 1.4em;
	position: relative;
	width: auto;
}

.btn-text:after {
	content: '';
	width: 100%;
	height: 1px;
	background: #D31D00;
	display: block;
	position: absolute;
	bottom: -5px;
	transition: 0.5s all;
}

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

.btn-text:hover:after {
	width: 50%;
}

.btn-text.color-white {
	color: #ffffff !important;
}

.btn-text.oswald {
	font-family: 'Oswald';
	font-weight: 600;
	color: #373F41;
	font-size: 2em;
	position: relative;
	width: auto;
}

.btn-text.oswald:hover {
	text-decoration: underline;
}

.btn-text.oswald:after {
	display: none;
}

.single .btn-text {
	font-size: 1em;
}

.single .btn-text:after {
	display: none;
}

.single .btn-text img {
	margin-left: 0;
	margin-right: 1em;
}

.date {
	color: transparent;
	font-size: 10em;
	font-family: 'Inter';
	font-style: italic;
	font-weight: 900;
	-webkit-text-stroke-width: 2px;
 	-webkit-text-stroke-color: #FFBC00;
 	position: absolute;
 	line-height: 1;
 	letter-spacing: 0.105em;
}

.date.smaller {
	position: relative;
	font-size: 3em;
	-webkit-text-stroke-width: 2px;
	-webkit-text-stroke-color: #D31D00;
}

.date.smaller.color-yellow {
	-webkit-text-stroke-color: #FFBC00;
}

.date.bottom {
	bottom: -30px;
}

.date.right {
	right: 0;
}

.page-numbers {
	font-family: 'Oswald';
	font-size: 2em;
	margin-left: 0.15em;
	margin-right: 0.15em;
}

.page-numbers.current {
	color: #D31D00;
	text-decoration: underline;
}

/* Helpers */

.fancybox-content {
	width: 70%;
}

.separator-1 {
	height: 1em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-2 {
	height: 2em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-3 {
	height: 3em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-4 {
	height: 4em;
	display: block;
	clear: both;
	width: 100%;
}

.separator-6 {
	height: 6em;
	display: block;
	clear: both;
	width: 100%;
}

.bg-white {
	background-color: #ffffff;
}

.bg-black {
	background-color: #000000;
}

.bg-light-gray {
	background-color: #F4F4F4;
}

.bg-red {
	background-color: #CA0003;
}

.bg-image {
	background-size: cover;
	background-position: center;
	width: 100%;
	overflow: hidden;
	position: relative;
	height: 700px;
}

.bg-image.h-auto {
	height: auto;
	overflow: visible;
}

.bg-image.h-auto .row {
	position: relative;
}

.bg-image.h-full {
	height: 100vh;
}

.bg-image.parallax {
	background-attachment: fixed;
}

.bg-image .container {
	position: relative;
	z-index: 2;
	height: 100%;
}

.bg-image .row {
	height: 100%;
}

.bg-video {
	background-size: cover;
	background-position: center;
	min-height: 700px;
}

.bg-video .container {
	z-index: 4;
	position: relative;
}

.bg-video .container, .bg-video .row {
	height: 100%;
}

.bg-video .video {
    height: 100%;
    width: calc(100% + 12px);
    position: absolute;
    top: 0;
    left: -12px;
    z-index: 1;
    overflow: hidden;
    margin: 0;
    border-radius: 0;
    box-shadow: unset;
}

.bg-video .video video {
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	min-width: 115%;
    min-height: 100%;
    width: 100%;
}

.bg-video .overlay {
	z-index: 2;
}

.bg-video {
	z-index: 1;
}

.bg-video + .row {
	position: relative;
	z-index: 2;
}

.bg-red-curve {
	background-image: url(/wp-content/themes/cts/images/graphic-curve-red.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.bg-red-curve.bottom {
	background-position: bottom center;
}

.bg-split {
	background: linear-gradient(to right, #CA0103 50%, transparent 50%);
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.bg-mark {
	background-image: url(/wp-content/themes/cts/images/graphic-logomark.svg);
	background-size: 25vw;
	background-repeat: no-repeat;
	background-position: bottom right;
}

.overlay {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	background: rgba(33, 53, 60, 0.8);
	pointer-events: none;
}

.box {
	border-radius: 20px;
	padding: 2em;
	height: 100%;
}

.box.border-red {
	border: 3px solid #D31D00;
}

.negative-space {
	position: absolute;
	height: 12em;
	bottom: 0;
	left: 0;
	width: 100%;
}

/* HTML Video */

.video {
	position: relative;
	text-align: center;
	height: 100%;
}

.video .container, .video .row {
	height: 100%;
}

.video video {
	right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	min-width: 100%;
    min-height: 100%;
    width: 100%;
}

.video img {
	position: relative;
	z-index: 1;
}

.play-container {
	display: flex;
	align-items: center;
	flex-direction: column;
	width: auto;
	z-index: 3;
	position: absolute;
	bottom: 2em;
	right: 2em;
}

.play-container .play {
	border: 1px solid #ffffff;
	border-radius: 50%;
	padding: 1em;
	height: 80px;
	width: 80px;
	margin-bottom: 1em;
}

.play-container .icon {
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.5s all;
	position: relative;
	left: 2px;
}

.play-container:hover {
	text-decoration: none;
	color: inherit;
}

.play-container:hover .icon {
	transform: scale(1.1);
}

.play img {
	position: relative;
	left: 3px;
	height: 70%;
	width: 70%;
	left: 0;
}

/* YouTube Embeds */

.video-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	padding-top: 30px; 
	height: 0;
	overflow: hidden; 
}

.video-container iframe, .video-container object, .video-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
}

/* Images */

img {
	max-width: 100%;
}

/* Instagram Feed */

#sbi_images {
	padding: 0 !important;
}

#sb_instagram.sbi_col_1 #sbi_images .sbi_item {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#sb_instagram .sbi_photo {
	border-radius: 25px;
	margin-bottom: 1em;
}

/* Google Map */

#map-container {
	width: 100%;
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}
 
#map {
	height: 100%;
	min-height: 600px;
	width: 100%;
}

.gm-style .gm-style-iw-c {
	background: #ffffff;
	width: auto;
	padding-right: 3em !important;
	color: #303030;
}

.gm-style .gm-style-iw-t::after {
	background: linear-gradient(45deg,#102342 50%,rgba(255,255,255,0) 51%,rgba(255,255,255,0) 100%);
}

.gm-style .gm-style-iw-d {
	font-size: 1em;
	padding: 1em;
	margin: 0;
	overflow: hidden !important;
}
 
.gm-style .gm-style-iw-c {
	border-radius: 0;
	padding: 0;
}

.gm-style .col-md-auto, .gm-style .col {
	font-size: 1.2em;
}

.gm-style .col-md-auto + .col {
	border-left: 1px solid #ffffff;
}
 
.gm-style strong {
 	font-weight: 500;
 	font-size: 1.3em;
}

.gm-style .gm-style-iw-c button {
	top: 1em !important;
	right: 1em !important;
	margin: 0 !important;
}
 
.gm-style .gm-style-iw-c button img {
	height: 100% !important;
	width: 100% !important;
	margin: 0 !important;
}

.gm-style-iw-d {
	max-height: 250px !important;
}

/* Header */

header.container-fluid {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	height: 90px;
	background: #ffffff;
	transition: 0.5s background;
}

.logged-in header.container-fluid {
	top: 32px;
}

.page-template-home header.container-fluid {
	background: transparent;
}

header.scrolled {
	background: #ffffff !important;
	border-bottom: 1px solid #F4F4F4;
}

header .container {
	height: 100%;
}

header .row {
	padding-top: 0;
	padding-bottom: 0;
	height: 100%;
}

#logo {
	position: absolute;
	top: 0.5em;
	left: 15px;
	z-index: 3;
	transition: 0s all;
	height: calc(100% - 1em);
}

#logo a {
	height: 100%;
}

.page-template-home #logo {
	height: 120%;
	transition: 0.5s all;
}

.page-template-home header.scrolled #logo {
	height: calc(100% - 1em);
	top: 0.25em;
}

#logo img {
	width: auto;
	margin: 0;
	height: 100%;
}

#logo:hover img {
	left: 0;
}

.page-template-home #logo a {
	margin-top: 0.5em;
}

/* Header Navigation */

#navigation {
	position: relative;
	z-index: 2;
	height: 100%;
}

.menu-primary-navigation-container {
	height: 100%;
}

#menu-primary-navigation {
	margin: 0;
	padding: 0;
	height: 100%;
	display: flex;
}

#menu-primary-navigation li {
	list-style-type: none;
	text-transform: none;
	margin: 0;
	display: block;
	font-size: 1em;
	width: auto;
	display: flex;
	align-items: center;
	padding-left: 1.5em;
	padding-right: 1.5em;
	position: relative;
}

#menu-primary-navigation li:before {
	display: none;
}

#menu-primary-navigation a {
	color: #CA0003;
	font-size: 1em;
	font-weight: 600;
	font-family: 'Inter';
	text-decoration: none;
	z-index: 2;
	justify-content: center;
}

#menu-primary-navigation .menu-item-has-children > a:after {
	content: '';
	background-size: cover;
	background-image: url(/wp-content/themes/cts/images/icon-dropdown.svg);
	height: 11px;
	width: 19px;
	margin-left: 0.5em;
	position: relative;
	display: inline-block;
}

#menu-primary-navigation .menu-item-has-children > a {
	cursor: default;
}

#menu-primary-navigation li:hover a {
	color: #24272D;
}

#menu-primary-navigation .sub-menu {
	position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: 0.5s opacity;
    z-index: 1;
    padding-left: 0;
    padding-top: 1em;
    padding-bottom: 1em;
    display: flex;
    flex-wrap: wrap;
    left: 0;
    background: #ffffff;
    overflow: hidden;
    margin: 0;
    border-top: 7px solid #CA0003;
    top: 83px;
    box-shadow: 0px 0px 2px rgba(0,0,0,0.3);
}

#menu-primary-navigation .menu-item-has-children:hover .sub-menu {
	opacity: 1;
	pointer-events: auto;
}

#menu-item-61 ul.sub-menu {
	width: 450px;
}

#menu-primary-navigation .sub-menu li {
	display: block;
    margin-top: .5em;
    margin-bottom: .5em;
    border: none;
	white-space: nowrap;
	width: 100%;
	text-align: left;
	line-height: 1;
}

#menu-primary-navigation .sub-menu li a {
	padding: 0;
	color: #1A1A1A;
	font-weight: 600;
	display: flex;
	width: 100%;
    justify-content: space-between;
    align-items: center;
}

#menu-primary-navigation .sub-menu a:hover {
	text-decoration: underline;
	color: #CA0003;
}

#menu-primary-navigation .sub-menu .one-col {
	padding-bottom: 1em;
}

#menu-primary-navigation .sub-menu .one-col a {
	font-size: 1.2em;
}

#menu-primary-navigation .sub-menu .one-col a img {
	transition: 0.5s all;
	left: 0;
	position: relative;
}

#menu-primary-navigation .sub-menu .one-col a:hover img {
	left: 5px;
}

#menu-primary-navigation .sub-menu li.two-col .sub-menu {
	position: relative;
	opacity: 1;
	top: auto;
	border: 0;
	width: 100%;
	box-shadow: unset;
	padding-bottom: 0;
	padding-top: 0.5em;
}

#menu-primary-navigation .sub-menu .menu-item-has-children > a:after {
	display: none;
}

#menu-primary-navigation .sub-menu .two-col > a {
	color: #CA0003;
	font-size: 0.8em;
	pointer-events: none;
	font-weight: normal;
}

#menu-primary-navigation .sub-menu .sub-menu li {
	padding: 0;
	font-weight: bold;
}

#menu-primary-navigation .sub-menu #menu-item-63 {
	border-right: 1px solid rgba(36, 39, 45, 0.23);
	padding-right: 1em;
	width: 50%;
}

#menu-primary-navigation .sub-menu #menu-item-69 {
	width: 45%;
	margin-left: 5%;
}

#nav-icon {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	justify-content: flex-end;
}

.nav-icon {
  	width: 30px;
 }

.nav-icon:after, 
.nav-icon:before, 
.nav-icon div {
  	background-color: #CA0003;
  	content: '';
  	display: block;
  	height: 2px;
  	margin: 7px 0;
  	border-radius: 10px;
  	transition: all .2s ease-in-out;
}

.nav-icon:before {
	width: 100%;
}

.nav-icon div {
	width: 100%;
}

.nav-icon:after {
	width: 100%;
}

.nav-icon.close:before {
  	transform: translateY(9px) rotate(135deg);
  	width: 100%;
}

.nav-icon.close:after {
  	transform: translateY(-9px) rotate(-135deg);
}

.nav-icon.close div {
  	transform: scale(0);
}

.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover, .nav-icon.close {
	opacity: 1;
}

/* Special Layouts */

#header {
	margin-top: 90px;
	height: 500px;
}

.page-template-home #header {
	margin-top: 0;
	height: 100vh;
	max-height: 55vw;
}

.page-template-home #header .row {
	padding-top: calc(6em + 90px);
	padding-bottom: calc(6em + 100px);
}

.page-template-home #header .btn-primary {
	margin-top: 2em;
}

#header.h-auto {
	height: auto;
}

#header .container {
	z-index: 2;
	position: relative;
}

#header .red-curve {
	width: 95%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
}

#top-curve {
	width: 100%;
	bottom: 0;
	left: 0;
	position: absolute;
	z-index: 3;
}

.grid.two {
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-gap: 2em 2em;
}

.grid.three {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	grid-gap: 3em 2em;
}

.grid.two .item-1 {
    grid-area: 1 / 1 / 2 / 3;
    background-size: cover;
    background-position: center;
    height: 500px;
    position: relative;
}

.grid.two .item-2 {
    grid-area: 1 / 3 / 2 / 4;
    background-size: cover;
    background-position: center;
    height: 500px;
    position: relative;
}

.grid.three .item-1 {
	grid-area: 1 / 1 / 2 / 3;
}

.grid.three .item-2 {
	grid-area: 1 / 3 / 3 / 4;
    background-size: cover;
    background-position: center;
	height: 100%;
}

.grid.three .item-3 {
	grid-area: 2 / 1 / 3 / 3;
    background-size: cover;
    background-position: center;
}

.image-left, .image-right {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 600px;
}

.image-left .image, .image-right .image {
	position: absolute;
	height: 100%;
	background-size: cover;
	background-position: center;
}

.image-right .image {
	right: 0;
	border-top-left-radius: 25px;
	border-bottom-left-radius: 25px;
}

.image-left .image {
	left: 0;
	border-top-right-radius: 25px;
	border-bottom-right-radius: 25px;
}

.show-hide-section {
	position: absolute;
    top: 20px;
    left: 15px;
    width: calc(100% - 30px);
    opacity: 0;
    transition: 0.3s opacity, 0s top 0.3s;
    pointer-events: none;
}

.show-hide-section.show {
	opacity: 1;
    top: 0;
    position: relative;
    left: 0;
    width: 100%;
    pointer-events: auto;
    transition: 0.3s opacity 0.5s, 0.5s top 0.5s;
}

/* Cards */

.card {
	justify-content: center;
	border: 0;
	overflow: hidden;
	border-radius: 0;
	background: transparent;
}

.row.card {
	flex-direction: row;
}

.card.hover {
	border-radius: 25px;
}

.card.hover .card-img {
	position: relative;
	width: 100%;
	height: auto;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.card.hover .card-body {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(202, 0, 3, 0.87);
	opacity: 0;
	transition: 0.5s all;
	margin: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
}

.card.hover .card-body .larger {
	font-size: 1.2em;
}

.card.hover:hover .card-body {
	opacity: 1;
}

.card-body .btn-text {
	font-size: 1em;
}

.card:hover .card-body .btn-text {
	text-decoration: underline;
}

.card.hover + .card-footer {
	background: transparent;
	padding: 0;
}

.card.hover:hover + .card-footer h5,.card.hover + .card-footer:hover h5 {
	color: #CA0003;
}

.card.hover + .card-footer:hover {
	text-decoration: none;
}

.card.static {
	border-radius: 25px;
}

.card.static.row {
	margin-right: 0;
}

.card.static.row .image {
	padding-right: 0;
}

.card.static .text {
	padding: 2em;
}

.card.static:hover {
	text-decoration: none;
}

.card.static:hover {
	background: #ffffff;
}

.card.static.row:hover, .card.static.row.solid {
	background: #F4F4F4;
}

.card.static hr {
	border-top: 1px solid #6F6F6F;
	opacity: 0.25;
}

.card.static .card-text {
	padding: 1em;
	padding-top: 0;
}

.card.static.row .bg-image {
	height: auto;
	background-size: cover;
	background-position: center;
}

.card.static.row.solid:hover .btn-secondary {
	background: #D31D00;
    text-decoration: none;
    color: #ffffff;
    border: 3px solid #D31D00;
}

/* Slick */

button[aria-label="1 of 1"] {
	display: none !important;
}

.slide:focus {
	outline: none;
}

.slide a {
	text-decoration: none;
	color: inherit;
}

.slick-track {
	display: flex;
	align-items: center;
}

.testimonials .slick-track {
	align-items: flex-start;
}

.nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2em;
}

.logos-carousel .slick-slide img {
	width: 80%; 
	margin: 0 auto;
}

.featured-image-slider .slide {
	position: relative;
	border-radius: 25px;
	overflow: hidden;
}

.featured-image-slider .slide .badge {
	position: absolute;
	background: #CA0003;
	border-radius: 0px 0px 0px 33px;
	z-index: 2;
	padding: 1.5em 2.5em;
	top: 0;
	right: 0;
	color: #ffffff;
	display: flex;
	align-items: center;
}

.featured-image-slider .slide .badge span {
	font-size: 2em;
	text-transform: uppercase;
	font-family: 'Oswald';
	font-weight: normal;
}

.featured-image-slider .slide .bar {
	background: rgba(202, 0, 3, 0.87);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1em;
}

.slick-prev:before, .slick-next:before {
	content: '';
}

.slick-prev, .slick-next {
	width: 40px;
	height: 40px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: transparent;
	transform: unset;
	transition: 0.5s all;
	position: relative;
	top: auto;
	left: auto;
	right: auto;
}

.slick-prev, .slick-prev:hover, .slick-prev:focus {
	background-image: url(/wp-content/themes/cts/images/icon-arrow-left-red.svg);
}

.slick-next, .slick-next:hover, .slick-next:focus {
	background-image: url(/wp-content/themes/cts/images/icon-arrow-right-red.svg);
}

.testimonials .slick-next, .testimonials .slick-next:hover, .testimonials .slick-next:focus, .testimonials .slick-prev, .testimonials .slick-prev:hover, .testimonials .slick-prev:focus {
	filter: brightness(0) saturate(100%) invert(96%) sepia(97%) saturate(12%) hue-rotate(237deg) brightness(103%) contrast(103%);
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.dots {
	margin-left: 0.5em;
	margin-right: 0.5em;
}

.slick-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	bottom: auto;
	position: relative;
	width: auto;
}

.slick-dots li {
	color: unset;
    width: unset;
    height: unset;
    width: unset;
    margin-left: 0.25em;
	margin-right: 0.25em;
}

.slick-dots li:before {
	content: unset;
}

.slick-dots li button {
	height: 5px;
	width: 25px;
	border-radius: 0;
	font-size: 0;
	background: #C1C1C1;
	opacity: 1;
	transition: 0.5s all;
	padding: 0;
}

.slick-dots li button:before {
    font-size: 0;
    line-height: 0;
    content: unset;
}

.slick-dots li.slick-active button {
	background: #D31D00;
	opacity: 1;
	height: 10px;
	width: 25px;
}

.testimonials .slick-dots li.slick-active button {
	background: #ffffff;
}

/* Filter */

.filter, .show-hide {
	width: 100%;
	position: relative;
	font-size: 0.9em;
	cursor: pointer;
}

.filter .active, .show-hide .active {
	background-image: url(/wp-content/themes/cts/images/icon-select.svg);
	font-size: 1em;
	padding: 0.8em 1.5em;
	-webkit-appearance: none;
	width: 100%;
	border-radius: 10px;
	border: 1px solid #C2C1C1;
	box-shadow: none;
	color: #102342;
	background-color: transparent;
	background-color: #ffffff;
	background-size: 15px;
	background-position: 95% center;
	background-repeat: no-repeat;
	text-transform: capitalize;
}

.filter .dropdown, .show-hide .dropdown {
	position: absolute;
	background: #ffffff;
	width: 100%;
	display: none;
	z-index: 998;
	border: 1px solid #E4E4E4;
	border-top: 0;
}

.filter .dropdown .option, .show-hide .dropdown .option {
	padding: 0.5em 1em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.filter .dropdown .option:hover, .show-hide .dropdown .option:hover {
	background: #DDDEE1;
	color: #394053;
}

.checkbox {
	display: flex;
	align-items: center;
	margin-top: 1em;
	margin-bottom: 1em;
	font-size: 1.1em;
	cursor: pointer;
}

.checkbox span {
	border: 1px solid #DDE2E5;
	height: 30px;
	width: 30px;
	display: inline-flex;
	margin-right: 0.5em;
	align-items: center;
	justify-content: center;
	position: relative;
	border-radius: 4px;
	background: #ffffff;
}

.checkbox.checked span:before {
	content: "";
	background-image: url(/wp-content/themes/cts/images/ICON_NAME_HERE.svg);
	transform: rotate(45deg);
	background-size: cover;
	height: 24px;
	width: 25px;
	position: absolute;
}

/* Isotope */

.hidden-item {
	display: none;
}

.isotope, .isotope-filter {
	padding-left: 15px;
	padding-right: 15px;
}

.isotope .row, .isotope-filter .row {
	margin-left: -15px;
	margin-right: -15px;
}

.grid-item {
	margin-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px;
}

.isotope-filter .col-md-6 {
	padding-left: 15px;
	padding-right: 15px;
}

.grid-item:last-of-type {
	margin-bottom: 0;
}

.grid-item .card-img {
	width: 100%;
}

/* Table */

table {
	width: 100%;
	font-size: 1em;
	line-height: 1;
}

thead {
	background: #F4F4F4;
}

th {
	padding: 1em;
	padding-left: 0;
}

th:last-of-type {
	padding-right: 4em;
}

td {
	border: 0;
	padding: 1em;
}

/* Accordion */

.accordion {
	padding: 0;
	margin: 0;
}

.accordion li {
	list-style-type: none;
	margin: 0;
	padding: 2em;
	background: #F4F4F4;
	display: block;
	font-size: 1em;
	margin-bottom: 1em;
}

.accordion li:before {
	display: none;
}

.accordion h5 {
	display: flex;
	align-items: center;
	margin: 0;
	transition: 0.5s all;
	line-height: 1.2;
	cursor: pointer;
}

.accordion h5:hover {
	color: #CA0003;
}

.accordion .answer {
	display: none;
	margin-left: calc(35px + 1.5em);
	margin-top: 1em;
}

.accordion h5 .icon {
	margin-right: 1em;
	transition: 0.5s all;
	width: 35px;
}

.accordion li.open h5 .icon {
	transform: rotate(180deg);
}

/* Lists */

ul, ol {
	padding: 0;
	margin-left: 2.5em;
}

ul li:before {
	content: '';
	height: 10px; 
	width: 10px;
	background: #CA0003;
	display: inline-block;
	position: absolute;
	left: -1.8em;
	top: 10px;
}

ul li {
	list-style-type: none;
	width: 100%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	position: relative;
}

ul.two-col {
	display: flex;
	flex-wrap: wrap;
}

ul.two-col li {
	width: 50%;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

ol {
	margin-top: 1em;
}

ol li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	width: 100%;
}

/* Gravity Forms */

.grecaptcha-badge {
	display: none !important;
}

.gform_wrapper {
	position: relative;
	margin: 0;
	width: 100%;
}

.gform_wrapper ul.gform_fields {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.gform_wrapper ul.gform_fields li.gfield {
	list-style-type: none;
	font-size: 1em;
	display: block;
	margin: 0;
}

.gform_wrapper ul.gform_fields li.gfield.gform_validation_container {
	display: none;
}

.gform_wrapper ul.gform_fields li.gfield:before {
	display: none;
}

.ginput_container.ginput_container_fileupload {
	margin-top: 1em;
	margin-bottom: 2em;
}

h2.gform_submission_error {
	font-size: 1em;
	color: red;
	margin-top: 1em;
}

.gfield_description {
	font-style: italic;
}

.gsection_title {
    border-bottom: 1px solid #999999;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
    margin-top: 2em;
    font-family: 'Inter', sans-serif;
    color: #CA0003;
    text-transform: uppercase;
    font-size: 1em;
    letter-spacing: 0.105em;
    margin-bottom: 2em;
    font-weight: 700;
}

.gform_submission_error {
	font-size: 1em;
	font-weight: normal;
	font-family: 'Inter';
	color: red;
}

.page-template-contact .gform_submission_error, .page-template-contact .gform_wrapper .validation_message {
	color: #ffffff;
}

.gfield_label {
	margin-bottom: 0;
}

.hidden_label label {
	display: none;
}

.submit-button .gfield_label {
	display: none !important;
}

button#gform_submit_button {
	width: 100%;
}

.hidden_label select {
	margin-top: 0 !important;
}

.gform_wrapper .validation_message {
	color: red;
	font-weight: 300;
	font-size: 0.8em;
	font-style: italic;
	text-align: left;
	position: relative;
	top: -1em;
}

.page-template-apply .gform_wrapper .validation_message {
	top: -2em;
}

.gform_confirmation_wrapper {
    color: #ffffff;
    text-align: center;
    width: 100%;
}

.gform_wrapper .field_description_below .gfield_description {
	padding-top: 0;
}

.gform_wrapper .instruction {
 	display: none;
}

.gform_wrapper div.validation_error {
	color: red;
    font-style: italic;
    position: relative;
    top: -1em;
    font-size: 0.8em;
    margin: 0;
    padding-left: 15px;
    padding-right: 15px;
}

.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
	background-color: transparent;
	border: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.gform_wrapper li.gfield_error textarea, .gfield_error select {
	border: 1px solid #f26e24 !important;
}

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	border: 1px solid #f26e24 !important;
}

.gform_validation_container {
	display: none;
}

.gform_button {
	border: 0;
}

.gform_wrapper textarea, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper select {
	font-size: 1em;
	padding: 0.8em 1.5em;
	-webkit-appearance: none;
	width: 100%;
	border: 1px solid #C2C1C1;
	box-shadow: none;
	color: #102342;
	background-color: transparent;
	background: #ffffff;
	margin-bottom: 1em;
	border-radius: 10px;
}

.page-template-apply .gform_wrapper textarea, .page-template-apply .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .page-template-apply .gform_wrapper select {
	margin-bottom: 2em;
}

.gform_wrapper textarea:focus, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, .gform_wrapper select:focus {
	outline: none;
}

.gform_wrapper select {
	background-image: url(/wp-content/themes/cts/images/icon-select.svg);
	background-size: 15px;
	background-position: 95% center;
	background-repeat: no-repeat;
}

.gform_wrapper textarea {
	height: 200px;
	resize: vertical !important;
  	overflow: auto;
  	border: 1px solid #C2C1C1;
  	padding: 0.8em 1.5em;
}

input[type=checkbox] {
	border: 1px solid #DDE2E5;
	height: 20px;
    width: 20px;
    top: 3px;
    position: relative;
}

.gform_wrapper .gfield_required {
	color: #f26e24;
}

.gform_footer {
	padding-left: 15px;
	padding-right: 15px;
	margin-top: 1em;
	text-align: center;
}

.page-template-contact .gform_footer {
	text-align: left;
}


.ui-datepicker {
	background: #ECECEC;
	box-shadow: 2px 2px 7px rgba(0,0,0,0.5);
	border-radius: 9px;
}

.ui-datepicker-header {
	padding: 0.5em;
}

.ui-datepicker-calendar th {
	color: #1A1A1A;
	padding: 0.5em;
}

.ui-datepicker-header, .ui-datepicker-title {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.ui-datepicker-next {
	text-align: right;
}

.ui-datepicker-title {
	width: 100%;
	margin-bottom: 1em;
}

.ui-datepicker-prev, .ui-datepicker-next {
	width: 50%;
	cursor: pointer;
	color: #CA0003 !important;
}

.ui-datepicker-title select {
	padding: 5px;
	cursor: pointer;
    background: #ffffff;
}

th.ui-datepicker-week-end {
	padding-right: 1em;
}

td.ui-datepicker-current-day {
	background: #f4f4f4;
}

.gform_wrapper td input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	width: 90%;
}

.ginput_list {
	margin-bottom: 2em;
}

.gfield_list {
	margin-top: 1em;
}

.gfield_list thead {
	background: transparent;
}

.gfield_list th:last-of-type {
	padding-right: 1em;
}

td.gfield_list_cell {
	padding: 0;
}

td.gfield_list_cell input {
	margin-bottom: 1em !important;
	width: 90%;
}

#field_2_22 td:last-of-type, #field_2_24 td:last-of-type, #field_2_28 td:last-of-type {
	position: absolute;
	right: -45px;
}

td.gfield_list_icons {
	display: flex;
	align-items: center;
	justify-content: center;
}

a.add_list_item {
	display: block;
	text-align: center;
	margin-left: 2px;
	margin-right: 2px;
}

.gfield_list_icons img {
    height: 20px !important;
    width: 20px !important;
    filter: invert(87%) sepia(3%) saturate(144%) hue-rotate(182deg) brightness(89%) contrast(84%);
}


::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #9D9D9D;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #9D9D9D;
}

:-ms-input-placeholder { /* IE 10+ */
  color: #9D9D9D;
}

:-moz-placeholder { /* Firefox 18- */
  color: #9D9D9D;
}

/* Footer */

footer a {
	text-decoration: none;
}

footer a:hover {
	text-decoration: underline;
}

footer ul {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

footer li {
	list-style-type: none;
	margin: 0;
    position: relative;
    width: auto;
    font-size: 1em;
    font-weight: 400;
}

footer li:before {
	display: none;
}

footer li a {
	padding-left: 1.25em;
	padding-right: 1.25em;
	color: #ffffff;
	font-size: 1.2em;
}

footer li a:hover {
	color: #ffffff;
}

footer li:last-child a {
	padding-right: 0;
}

#footer-logo img {
	width: 100%;
}

footer .small {
	color: rgba(255, 255, 255, 0.5);
}

footer hr {
	border-color: #f9f9f9;
	opacity: 0.3;
}

footer .vertical-separator {
	height: 100px;
	background: #f9f9f9;
	opacity: 0.3;
	margin-left: 1em;
	margin-right: 1em;
	width: 1px;
}

/* Animations */

.fade-in {
	opacity: 0;
	top: 100px;
	transition: 0.6s opacity ease-in-out 0.2s, 0.6s top ease-in-out 0.2s;
	position: relative;
}

.fade-in.in {
	opacity: 1; 
	top: 0;
}

@media only screen and (min-width: 2000px) {
	.d-xxl-none {
		display: none !important;
	}

	.d-xxl-block {
		display: block !important;
	}

	.video {
		width: calc(1600px - 30px);
		margin: 0 auto;
	}

	.video .container {
		padding-left: 60px;
		padding-right: 60px;
		width: 100%;
	}

	/* Special Layouts */

	#header .red-curve {
		width: 80%;
		bottom: -4em;
	}
}

@media only screen and (max-width: 1700px) {
	html {
		font-size: 17px;
	}
}

@media only screen and (max-width: 1600px) and (min-height: 1170px) {
	.page-template-home #header {
		max-height: 1100px;
	}
}

@media only screen and (max-width: 1600px) {
	html {
		font-size: 16px;
	}

	/* Special Layouts */

	#header {
		height: 500px;
	}
}

@media only screen and (max-width: 1500px) and (min-height: 900px) {
	.page-template-home #header {
		max-height: 900px;
	}
}

@media only screen and (max-width: 1500px) {
	/* Global */

	html {
		font-size: 15px;
	}

	.container {
		width: 90%;
	}

	#map {
		min-height: 400px;
	}

	/* Header */

	header.container-fluid {
		height: 70px;
	}

	/* Header Navigation */

	#menu-primary-navigation .sub-menu {
		top: 63px;
	}

	#menu-item-61 ul.sub-menu {
		width: 400px;
	}

	/* Special Layouts */

	#header {
		margin-top: 70px;
	}

	.page-template-home #header .row {
    	padding-top: calc(6em + 70px);
		padding-bottom: calc(4em + 100px);
	}
}

@media only screen and (max-width: 1400px) {
	/* Global */

	html {
		font-size: 14px;
	}

	.container {
		width: 90%;
	}

	/* Typography */

	blockquote:before, blockquote:after {
		content: '';
		height: 50px;
		width: 83px;
	}

	/* Header */


	/* Header Navigation */

	#menu-primary-navigation .menu-item-has-children > a:after {
		height: 8px;
		width: 15px;
	}

	/* Helpers */

	.bg-video {
		min-height: 500px;
	}

	/* Special Layouts */

	.grid.two .item-1, .grid.two .item-2 {
		height: 400px;
	}

	.image-left, .image-right {
		min-height: 500px;
	}

	/* Gravity Forms */

	.gform_wrapper textarea {
		height: 100px;
	}

	/* Slick */


	/* Accordion */

	.accordion li h4 .icon {
		height: 30px;
		width: 30px;
		background-size: 10px;
	}

	/* Footer */

	.social img {
		height: 20px;
		width: 20px;
	}
}

@media only screen and (max-width: 1300px) {
	/* Global */

	html {
		font-size: 13px;
	}

	/* Typography */


	/* Header */

	/* Header Navigation */

	#menu-item-61 ul.sub-menu {
		width: 350px;
	}

	#menu-primary-navigation .sub-menu .one-col a img {
		height: 20px;
		width: 20px;
	}

	/* Helpers */

	.bg-image {
		height: 600px;
	}

	.single .bg-image {
		height: 400px;
	}

	.fancybox-content {
		width: 70%;
	}

	/* Special Layouts */

	#header {
		height: 400px;
	}

	/* Accordion */

	.accordion .answer {
		margin-left: calc(25px + 1.5em);
	}

	.accordion h5 .icon {
		width: 25px;
	}

	/* Slick */

	.slick-prev, .slick-next {
		height: 30px;
		width: 30px;
	}

	/* Gravity Forms */

	.gform_wrapper select {
		background-size: 15px;
	}

	/* Footer */

	footer li a {
		font-size: 1.4em;
	}
}

@media only screen and (max-width: 1200px) and (min-height: 800px) {
	.page-template-home #header {
		max-height: 800px;
	}
}

@media only screen and (max-width: 1200px) {
	/* Global */
	html {
		font-size: 11px;
	}

	/* Typography */

	h7 {
		font-size: 1.4em;
	}

	/* Header */


	/* Header Navigation */

	#menu-primary-navigation a {
		font-size: 1.1em;
	}	

	#menu-item-61 ul.sub-menu {
		width: 300px;
	} 

	#menu-primary-navigation .sub-menu #menu-item-63 {
		width: 55%;
	}

	#menu-primary-navigation .sub-menu #menu-item-69 {
		width: 40%;
	}

	/* Special Layouts */

}

@media only screen and (max-width: 1024px) {
	/* Global */

	html {
		font-size: 16px;
	}

	.container {
		width: 95%;
	}

	/* Typography */

	h1 {
		font-size: 4em;
	}

	.page-template-home h1 {
		font-size: 5em;
	}

	h2 {
		font-size: 2.3em;
	}

	h4 {
		font-size: 4em;
	}

	h6 {
		font-size: 2em;
	}

	.btn-primary, .btn-secondary {
		font-size: 0.8em;
	}

	/* Header Navigation */

	#menu-primary-navigation .sub-menu a, #menu-primary-navigation a {
		font-size: 0.9em;
	}

	#menu-primary-navigation .menu-item-has-children > a:after {
	    height: 10px;
	    width: 17px;
	}

	#menu-primary-navigation li {
		padding-left: 1em;
		padding-right: 1em;
	}

	#menu-item-61 ul.sub-menu {
		width: 350px;
	}

	#menu-primary-navigation .sub-menu .one-col a {
		font-size: 1em;
	}

	/* Helpers */

	.negative-space {
		height: 8em;
	}

	/* Special Layouts */

	.page-template-home #header .row {
   	 	padding-bottom: calc(4em + 50px);
   	}

	.bg-image.parallax {
		background-attachment: unset;
	}

	/* Isotope */

	.isotope .grid-item {
		margin-bottom: 45px;
	}

	/* Cards */

	.card.hover .card-body {
		height: auto;
		top: auto;
		bottom: 0;
		opacity: 1;
		position: relative;
	}

	.card.hover h5 {
		font-size: 1.6em;
	}

	.page-template-our-team .card.hover {
		height: 100%;
	}

	/* Footer */

	footer li a {
		font-size: 1em;
	}
}

@media only screen and (min-width: 1200px) and (max-height: 750px) {
	/* Header Navigation */

	#menu-primary-navigation a {
		font-size: 0.95em;
	}

	/* Special Layouts */
	
}

@media only screen and (max-width: 992px) {
	/* Global */

	html {
		font-size: 13px;
	}

	.container {
		padding-left: 15px;
		padding-right: 15px;
		width: 100%;
	}

	.container-fluid {
		padding-left: 15px;
		padding-right: 15px;
	}

	.row {
		margin-left: -15px;
		margin-right: -15px;
		padding-top: 4em;
		padding-bottom: 4em;
	}
	
	.py-small {
		padding-top: 2em;
		padding-bottom: 2em;
	}

	.pt-small {
		padding-top: 2em;
	}

	.pb-small {
		padding-bottom: 2em;
	}

	.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Typography */

	h4 {
		font-size: 4em;
	}

	.btn-primary img, .btn-secondary img, .btn-text img {
	    height: 20px;
	    width: 20px;
	}

	.btn-secondary.trigger {
		font-size: 0.7em;
	}

	/* Header */

	header.container-fluid {
		height: 70px;
		transition: 0s all;
	}

	header.container-fluid.open {
		background: #ffffff;
	}

	/* Header Navigation */

	.nav-icon.close:after {
		width: 100%;
	}

	#navigation {
		flex-direction: column !important;
	}

	.menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		background: #ffffff;
	    height: calc(100vh - 70px);
	    width: 100%;
	    left: 0;
	    position: fixed;
	    top: calc(-100vh - 70px);
	    display: flex;
	    align-items: flex-start;
	    justify-content: center;
	    border-top: 1px solid rgba(249, 249, 249, 0.27);
	}

	.logged-in .menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		height: calc(100vh - 70px - 32px);
	}

	.menu-primary-navigation-container.visible {
		top: 69px;
	}

	.logged-in .menu-primary-navigation-container.visible {
		top: calc(69px + 32px);
	}

	#menu-primary-navigation {
		flex-direction: column;
		align-items: flex-start;
		margin: 0;
		padding: 0;
		width: 100%;
		padding-top: 4em;
		padding-left: 4em;
		padding-right: 4em;
	}

	#menu-primary-navigation > li.unclickable {
		pointer-events: none;
	}

	#menu-primary-navigation a {
		font-size: 1.8em;
	}

	#menu-primary-navigation .menu-item-has-children > a:after {
		height: 13px;
    	width: 25px;
	}

	#menu-primary-navigation > li > a.hidden {
		opacity: 0;
		pointer-events: none;
	}

	#menu-name {
		height: auto;
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 2.7em;
		top: -0.5em;
    	position: relative;
    	padding: 0;
    	font-weight: 600;
    	color: #CA0003;
	}

	#menu-name img {
		transform: rotate(180deg);
		height: 30px;
		width: 30px;
	}

	#menu-primary-navigation > li > .sub-menu {
	    display: none;
	    opacity: 1;
	    padding: 4em;
	    margin: 0;
	    border-top: 0;
	    border-radius: 0;
	    box-shadow: unset;
	    width: 100%;
	    background: #ffffff;
	    left: 0;
	    top: calc(70px + 50px);
	    height: calc(100vh - 70px - 50px);
	    transition: 0s;
	    position: absolute;
	    border-top: 1px solid rgba(36, 39, 45, 0.23);
	    overflow-y: auto;
	    padding-bottom: 4em;
	}

	#menu-primary-navigation > li.two-col > .sub-menu {
		padding: 4em;
	}

	#menu-primary-navigation > li.two-col > .sub-menu {
		display: none;
	}

	#menu-primary-navigation > li > .sub-menu.visible {
		display: block;
	}

	#menu-primary-navigation > li.two-col > .sub-menu.visible {
		display: flex;
	}

	#menu-primary-navigation li {
		position: unset;
	}

	#menu-primary-navigation li, #menu-primary-navigation .sub-menu li {
		display: block;
		margin-right: 0;
		margin-left: 0;
		text-align: left;
		width: 100%;
	}

	#menu-primary-navigation > li {
		padding-top: 1em;
		padding-bottom: 1em;
	}

	#menu-primary-navigation .sub-menu li {
		padding-bottom: 2em;
	}

	#menu-primary-navigation > li.two-col > .sub-menu > li:first-of-type {
		width: auto;
	}

	#menu-primary-navigation .sub-menu #menu-item-63, #menu-primary-navigation .sub-menu #menu-item-69 {
		width: 100%;
		padding: 0;
		margin-top: 2em;
		border: 0;
		margin-left: 0;
	}

	#menu-primary-navigation > li > a {
		font-size: 2.5em;
		height: auto;
		padding-left: 0;
		padding-right: 0;
		justify-content: space-between;
		display: flex;
		font-weight: 600;
		align-items: center;
	}

	#menu-primary-navigation .sub-menu li {
		margin: 0;
		padding-left: 0;
		padding-right: 0;
	}

	#menu-primary-navigation .sub-menu li a {
		font-size: 1.8em;
		font-weight: 600;
	}

	#menu-primary-navigation .sub-menu .sub-menu > li a:after {
		display: none;
	}

	#menu-primary-navigation .sub-menu .one-col {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 2em;
	}

	#menu-primary-navigation .sub-menu .one-col > a {
		font-size: 1.8em;
	}

	#menu-primary-navigation > li.two-col > .sub-menu > li > a {
		margin-bottom: 1em;
	}

	#menu-primary-navigation .sub-menu .sub-menu > li {
		width: 100%;
		margin-bottom: 2em;
	}

	#menu-primary-navigation .sub-menu .two-col > a {
		font-size: 1.2em;
	}

	#menu-primary-navigation .sub-menu li.two-col .sub-menu {
		padding-top: 1em;
	}

	#menu-primary-navigation .btn-primary {
	    position: absolute;
	    bottom: 4em;
	    width: calc(100% - 8em);
	    text-align: center;
   	}

	#menu-primary-navigation > li.btn-primary > a {
		justify-content: center;
	}

	/* Google Maps */

	#map {
    	min-height: 350px;
	}

	/* Helpers */

	.bg-video {
		min-height: 350px;
	}

	.bg-image.h-full {
		height: 70vh;
	}

	.negative-space {
		height: 6em;
	}

	/* Special Layouts */

	#header {
		margin-top: 70px;
	}

	.page-template-home #header {
		height: 500px;
	}

	.page-template-home #header .row {
    	padding-top: calc(3em + 70px);
	}

	.grid.two .item-1, .grid.two .item-2 {
    	height: 300px;
	}

	.image-left, .image-right {
		min-height: 400px;
	}

	/* Gravity Forms */

	.gform_wrapper div.validation_error {
		position: relative;
		top: 0;
		padding-left: 15px;
		padding-right: 15px;
	}

	.gform_wrapper .gform_footer {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}

@media only screen and (max-width: 782px) {
	/* Header */

	.logged-in header.container-fluid {
		top: 46px;
	}

	/* Header Navigation */

	.logged-in .menu-primary-navigation-container.visible {
		top: calc(69px + 46px);
	}

	.logged-in .menu-primary-navigation-container, .logged-in .menu-primary-navigation-container {
		height: calc(100vh - 70px - 46px);
	}
}

@media only screen and (max-width: 767px) {
	/* Global */

	#wpadminbar {
		position: fixed !important;
	}

	html {
		font-size: 17px;
	}

	.container-fluid {
		padding: 0;
	}

	.container {
		width: 100%;
	}

	.row {
		padding-top: 3em;
		padding-bottom: 3em;
	}
	
	.py-small {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}

	.pt-small {
		padding-top: 1.5em;
	}

	.pb-small {
		padding-bottom: 1.5em;
	}

	/* Typography */

	h1 {
		font-size: 2.5em;
	}

	.page-template-home h1 {
		font-size: 3em;
	}

	.single h1 {
		font-size: 2.5em;
	}

	h2 {
		font-size: 1.7em;
	}

	h3 {
		font-size: 0.8em;
	}

	h4 {
		font-size: 3.5em;
	}

	h5 {
		font-size: 1.6em;
	}

	h6 {
		font-size: 1.8em;
	}

	h7 {
		font-size: 1.2em;
	}

	.date {
		font-size: 5em;
	}

	.btn-text, .btn-text.oswald {
		font-size: 1em;
	}

	blockquote {
		font-size: 1.4em;
	}

	blockquote:before, blockquote:after {
	    content: '';
	    height: 46px;
	    width: 70px;
	}

	blockquote:before {
		left: -30px;
	}

	blockquote:after {
		right: -30px;
	}

	.page-numbers {
		font-size: 1.5em;
	}

	/* Images */

	.w-100 img.w-50 {
		width: calc(50% - 0.5em) !important;
	}

	/* Instagram Feed */

	#sb_instagram.sbi_col_1 #sbi_images .sbi_item {
		padding-left: 0.5em !important;
		padding-right: 0.5em !important;
	}

	#sb_instagram.sbi_col_1 #sbi_images .sbi_item:nth-of-type(1),
	#sb_instagram.sbi_col_1 #sbi_images .sbi_item:nth-of-type(3) {
		padding-left: 0 !important;
	}

	#sb_instagram.sbi_col_1 #sbi_images .sbi_item:nth-of-type(2),
	#sb_instagram.sbi_col_1 #sbi_images .sbi_item:nth-of-type(4) {
		padding-right: 0 !important;
	}

	/* Header */


	/* Header Navigation */

	#menu-primary-navigation {
		padding-top: 2em;
		padding-left: 1em;
		padding-right: 1em;
	}

	#menu-primary-navigation > li > a {
		font-size: 1.5em;
		transition: 0s all;
	}

	#menu-primary-navigation .sub-menu > li:first-child {
		margin-top: 0.5em;
	}

	#menu-name {
		font-size: 1.8em;
		padding-left: 0.35em;
		padding-right: 0.35em;
		top: 0;
	}

	#menu-primary-navigation > li > .sub-menu {
		padding: 2em;
		margin-top: -1em;
		padding-bottom: 6em;
	}

	#menu-primary-navigation .sub-menu .sub-menu > li {
		margin-bottom: 1em;
	}

	#menu-primary-navigation .sub-menu li a {
		font-size: 1.1em;
	}

	#menu-primary-navigation .sub-menu .one-col > a {
		font-size: 1.1em;
	}

	#menu-primary-navigation .sub-menu .two-col > a {
		font-size: 1em;
	}

	#menu-primary-navigation .sub-menu #menu-item-69 {
		margin-bottom: 6em;
	}

	#logo {
		left: 0;
	}

	/* Helpers */

	.negative-space {
		display: none;
	}

	.bg-image {
		height: 300px;
	}

	.single .bg-image {
		height: 300px;
	}

	.bg-image.history {
		background-image: unset !important;
		padding: 0;
		height: auto;
		margin-top: 3em;
	}

	.bg-image.history .row {
		padding-top: 1.5em;
	}

	.bg-image.history h5 {
		color: #373F41 !important;
	}

	.bg-image.history h5 + div {
		color: #6F6F6F !important;
	}

	.bg-mark {
		background: unset;
	}
	
	.bg-split {
		background: #CA0103;
	}

	.bg-split + .container .color-red, .bg-split + .container .color-gray {
		color: #ffffff;
	}

	/* Special Layouts */

	#header {
		height: 300px;
	}

	.page-template-home #header {
		max-height: 100%;
	}
	
	.page-template-home #header .row {
   	 	padding-bottom: calc(3em);
   	} 

	.grid-container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.grid.two {
		grid-gap: 1em 1em;
	}

	.grid.two .item-1, .grid.two .item-2 {
		height: 200px;
	}

	.grid.three {
		display: block;
	}

	.grid.three .item-3 {
		height: 200px;
		margin-top: 2em;
	}

	.image-left .image, .image-right .image {
		display: none;
	}

	/* HTML Video */

	.video {
		text-align: center;
	}

	.play-container {
		bottom: -1em;
	}

	/* Cards */

	.card.static {
		border-radius: 0;
	}

	.card.static.row {
		margin-right: -15px;
	}

	.card.static.row:hover, .card.static:hover {
		background: transparent;
	}

	.card.static.row .image {
		padding-right: 15px;
	}

	.card.static .text {
		padding-left: 15px;
		padding-right: 15px;
		padding-top: 1em;
	}

	.card.static .card-text {
		padding: 0;
	}

	.card.static.row.solid {
		margin-right: 0;
		margin-left: 0;
	}

	.card.static.row .bg-image {
		height: 200px;
	}

	/* Isotope */

	.grid-item {
		margin-bottom: 50px;
	}

	/* HTML Video */


	/* Tables */

	table {
		display: block;
		overflow: scroll;
	}

	th, td {
		font-size: 0.7em;
	}

	td {
		line-height: 1.2;
	}
	
	th:last-of-type {
		padding-right: 0;
	}

	td:last-of-type {
		padding-right: 0;
	}

	/* Lists */

	ul.two-col li {
		width: 100%;
		padding-right: 0;
	}

	/* Accordion */

	.accordion .answer {
		margin-left: 0;
	}
	
	/* Slick */

	.badge h6 {
		font-size: 2em;
	}
	
	/* Gravity Forms */

	.gform_wrapper textarea, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper select {
		padding: 0.8em 1em;
	}

	.gfield_list th {
		font-size: 0.5em;
	}

	.gform_wrapper .validation_message {
		top: -1em;
	}

	.gform_wrapper select {
		background-position: 95% center;
	}

	.gform_wrapper .validation_message {
		top: -1em;
	}

	.gfield_list th {
		font-size: 0.5em;
	}

	#field_2_22, #field_2_24, #field_2_28 {
		width: 100%;
	}

	#field_2_22 td:last-of-type, #field_2_24 td:last-of-type, #field_2_28 td:last-of-type {
	    position: absolute;
	    right: auto;
	    left: 2px;
	    bottom: -1em;
	}

	#field_2_22, #field_2_24, #field_2_28 {
		margin-bottom: 2em;
	}

	/* Footer */

	footer ul {
		justify-content: center;
		flex-wrap: wrap;
	}

	footer li {
		margin-top: 0.25em;
		margin-bottom: 0.25em;
	}

	footer li a {
		padding-right: 1em;
		padding-left: 1em;
		font-size: 0.8em;
	}

	footer a {
		font-size: 1em;
	}

	footer .small {
		font-size: 0.9em;
	}

	footer .vertical-separator {
		margin-left: 0;
		margin-right: 0;
	}
}

@media only screen and (max-width: 400px) {
	/* Typography */

	.page-template-home h1 {
		font-size: 2.5em;
	}

	/* Footer */

	footer li a {
		font-size: 0.6em
	}
}