/*
	Theme Name: Wall Of Sound
	Author: Intravenous
	Version: 1.4.3
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	/*font-size:62.5%;*/
	overflow-x: hidden;
	height: 100%;
	margin: 0;
  	padding: 0;
}
body {
	font-family: "poppins", sans-serif;
	color:#000;
	height: 100%;
	margin: 0;
  	padding: 0;
}
.container, .row {
	height: 100%;
}
.container {
	position: relative;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
.home a {
	color:#ffffff;
}
.home a:hover {
	color:#ffffff;
}
a {
	color:#000000;
	text-decoration:underline;
}
a:hover {
	color:#000000;
	text-decoration:none;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
ol, ul {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}
ol {
	counter-reset: list-counter;
}
ol li, ul li {
	margin-bottom: 0.5em;
}
ol li::before {
	display: inline-block;
	width: 2em;
	text-align: right;
	margin-right: 0.5em;
	counter-increment: list-counter;
	content: counter(list-counter) ".";
}
@media (min-width: 768px) {
.xl-pad-wrap {
	margin-left: -30px;
	margin-right: -30px;
}
.xl-pad {
	padding-left: 15px;
	padding-right: 15px;
}
.xxl-pad-wrap {
	margin-left: -45px;
	margin-right: -45px;
}
.xxl-pad {
	padding-left: 30px;
	padding-right: 30px;
}
.xxxl-pad-wrap {
	margin-left: -60px;
	margin-right: -60px;
}
.xxxl-pad {
	padding-left: 45px;
	padding-right: 45px;
}
}
.horizontal-center {
	text-align: center;
}
.vertical-center {
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.vertical-end {
	display: flex;
    flex-direction: column;
    justify-content: end;
}
.pt20 {
	padding-top: 20px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
    height: 100%;
}
/* header */
header {
    position: fixed;
    top: 0;
    display: block;
    width: 100%;
    z-index: 2;
}
.home .header {
	background: none;
	box-shadow: none;
}
.header {
	background-color: #000000;
	-moz-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    -o-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    box-shadow: 0 2px 4px rgba(0,0,0,.3);
	transition: all .5s ease-in-out 0s;
}
.home .header-scrolled {
	background-color: #ffffff;
	-moz-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    -o-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    box-shadow: 0 2px 4px rgba(0,0,0,.3);
	transition: all .5s ease-in-out 0s;
}
.header-inner {
	position: relative;
	display: flex;
	width: 100%;
	max-width: 2560px;
	align-items: center;
	justify-content: space-between;
	z-index: 2;
	margin-left: auto;
	margin-right: auto;
}
/* brand */
.logo, .logo-img {
	z-index: 3;
}
.home .header .logo-dark, .home .header-scrolled .logo-mono-white {
	display: none;
}
.home .header-scrolled .logo-dark {
	display: block;
}
/* nav */
.overlayOn {
	overflow:hidden;
}
.mobile-menu .overlay a {
	/*font-size: calc(11px + 2 * ((100vw - 575px) / 1400));*/
	text-decoration: none;
	cursor: pointer;
	display: block; /* Display block instead of inline */
	transition: 0.3s; /* Transition effects on hover (color) */
	font-weight: 500;
    line-height: 1.3em;
}
.mobile-menu .overlay a, .mobile-menu .overlay a:visited {
	position: relative;
}
.mobile-menu .overlay a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 0;
    border: 1px solid transparent;
    opacity: 0;
    transition: opacity 0.3s ease, border-color 0.3s ease;
}
.mobile-menu .overlay a:hover::after, .mobile-menu .overlay a:focus::after {
    border-color: #ffffff;
    opacity: 1;
}
.mobile-menu li:before {
	display: none;
}
.mobile-menu .overlay-content li.menu-item-has-children a:after {
	display: inline-block;
    width: 0;
    height: 0;
    margin-left: .5em;
    content: "";
    vertical-align: .15em;
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}
.mobile-menu .overlay-content li.menu-item-has-children a.active:after {
    vertical-align: .15em;
    border-top: 0;
    border-right: .3em solid transparent;
    border-bottom: .3em solid;
    border-left: .3em solid transparent;
}
.mobile-menu .overlay .sub-menu {
  display: none;
}
.mobile-menu .menu-toggle {
	cursor: pointer;
	margin: -5px 0 0 0;
	display: inline-block;
	vertical-align: middle;
}
@media (max-width: 991px) {
.mobile-menu {
	margin-top: 6px;
}
.mobile-menu .icon-bar {
	width: 25px;
	height: 3px;
	margin: 6px 0;
}
.mobile-menu .overlay .closebtn {
	height: 24px;
	width: 24px;
	top: 18px;
	right: 23px;
	z-index: 2;
}
.mobile-menu .icon-bar {
	background-color: #ffffff;
}
.header-scrolled .mobile-menu .icon-bar {
	background-color: #000000;
}
.mobile-menu .icon-bar:first-child {
	margin-top: 0;
}
.mobile-menu .icon-bar:last-child {
	margin-bottom: 0;
}
.mobile-menu .overlay {
	height: 0%;
	width: 100%;
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: 0;
	top: 0;
	background-color: rgb(0, 0, 0); /* fallback color */
	background-color: rgba(0, 0, 0, 1); /* w/opacity */
	overflow-x: hidden; /* Disable horizontal scroll */
  	overflow-y: scroll;
	transition: height 0.4s ease;
  	/*overflow-y: hidden;*/ /* Disable vertical scroll */
	/*transition: 0.5s;*/ /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}
.mobile-menu .overlay ul li::before {
  	display: none;
}	
.mobile-menu .overlay li {
    padding: 15px 25px;
	margin: 0;
}
.mobile-menu .overlay a {
    font-size: 21px;
}
.mobile-menu .overlay .sub-menu a {
  	font-size: 20px;
}
.mobile-menu .overlay-content {
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100vh;
	padding: 0;
}
.mobile-menu .overlay .sub-menu {
	padding: 20px 0 0 0;
}
.mobile-menu .overlay a, .mobile-menu .overlay a:visited {
	color: #ffffff;
}
.mobile-menu .overlay a:hover, .mobile-menu .overlay a.active {
    text-decoration: none;
    color: #ffffff;
    transition: 0.3s;
}
.mobile-menu .overlay-content li.menu-item-has-children a:after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .5em;
    content: "";
}
.mobile-menu .overlay-content li.menu-item-has-children .sub-menu a:after {
    display: none;
}
.mobile-menu .overlay .closebtn {
	height: 25px;
	width: 25px;
	top: 23px;
	right: 25px;
	position: absolute;
	font-size: 60px;
	background: url("img/mm-close.svg") no-repeat;
	display: block;
}
.mobile-menu .overlay .closebtn::after {
	display: none;
}
.mobile-menu .overlay .menu-brand {
	position: absolute;
}
.mobile-menu .overlay .menu-brand {
	/*height: 30px;
	width: auto;*/
	top: 20px;
	left: 25px;
}
}
@media (min-width: 992px) {
.mobile-menu {
	position: absolute;
    right: 0;
	z-index: 2;
	margin-top: 25px;
}
.mobile-menu ul {
	text-align: right;
	margin: 0;
}
.mobile-menu li {
	display: inline-block;
	margin: 0;
}
.mobile-menu .overlay a {
	text-decoration: none;
	margin-left: 3.5rem;
	font-weight: 500;
}
.mobile-menu .overlay-content .sub-menu a:after {
    display: none !important;
}
.mobile-menu .overlay .sub-menu a {
	text-decoration: none;
	margin: .5rem 1.5rem;
	font-weight: 400;
	padding-bottom: 0;
}
.mobile-menu .overlay a, .mobile-menu .overlay a:visited {
	color: #ffffff;
}
.header-scrolled .mobile-menu .overlay a, .header-scrolled .mobile-menu .overlay a:visited {
	color: #000000;
}
.header-scrolled .mobile-menu .overlay a:hover::after, .header-scrolled .mobile-menu .overlay a:focus::after {
    border-color: #000000;
    opacity: 1;
}
.mobile-menu .overlay li.contact a, .mobile-menu .overlay li.contact a:visited {
	border: 1px solid #ffffff;
    padding: 6px 16px;
	border-radius: 20px;
}
.mobile-menu .overlay li.contact a:hover, .mobile-menu .overlay li.contact a:after {
	background-color: #ffffff;
	color: #000000 !important;
}
.header-scrolled .mobile-menu .overlay li.contact a:hover, .header-scrolled .mobile-menu .overlay li.contact a:after {
	background-color: #000000;
	color: #ffffff !important;
}
.mobile-menu .overlay li.contact a::after {
	display: none;
}
.header-scrolled .mobile-menu .overlay li.contact a {
	border: 1px solid #000000;
    padding: 6px 16px;
	border-radius: 20px;
}
.mobile-menu .overlay a:hover, .mobile-menu .overlay a:focus, .mobile-menu .overlay [aria-current] {
	color: #ffffff !important;
}
.header-scrolled .mobile-menu .overlay a:hover, .header-scrolled .mobile-menu .overlay a:focus, .header-scrolled .mobile-menu .overlay [aria-current] {
	color: #000000 !important;
}
.mobile-menu .overlay .sub-menu li {
	width: 100%;
}
.mobile-menu .overlay .sub-menu a {
	color: #000;
}
.mobile-menu .overlay .sub-menu a:hover, .mobile-menu .overlay .sub-menu a:focus {
	color: #000;
}
.mobile-menu .overlay .sub-menu [aria-current] {
	color: #000;
}
.mobile-menu .overlay .sub-menu {
    position: absolute;
    text-align: left;
    padding: .5rem 0;
    background-color: #fff9f2;
	-moz-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    -o-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    box-shadow: 0 2px 4px rgba(0,0,0,.3);
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
.mobile-menu .overlay .sub-menu {
    width: 240px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
.mobile-menu .overlay .sub-menu {
    width: 260px;
}
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
.mobile-menu .overlay .sub-menu {
    width: 260px;
}
}
@media only screen and (min-width: 1600px) and (max-width: 1899px) {
.mobile-menu .overlay .sub-menu {
    width: 280px;
}
}
@media screen and (min-width: 1900px) {
.mobile-menu .overlay .sub-menu {
    width: 300px;
}
}
/* hero */
.home .hero, .home .hero-content {
    height: 100%;
}
.home .hero {
    padding: 0;
	background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.home .hero-content {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    flex-flow: column;
    justify-content: end;
	color: #fff;
}
/* parallax image */
.img-bg {
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	color: #ffffff;
}
.parallax-effect-container-wrap, .parallax-effect-container-wrap .parallax_container, .parallax-effect-container-wrap .parallax_container .parallax {
	height: 100%;
}
/* icon blocks */
.icon-block {
	text-align: center;
}
.icon-block p {
	font-weight: 700;
}
.icon {
	justify-content: center;
    display: flex;
    flex-direction: column;
	margin-bottom: 20px;
}
@media (max-width: 767px) {
.icon {
	height: 100px;
}
.icon-block img {
	width: 65%;
	max-height: 65%;
	margin: 0 auto;
}
}
@media (min-width: 768px) {
.icon {
	height: 140px;
}
.icon-block img {
	width: 75%;
	max-height: 75%;
	margin: 20px auto;
}
}
/* image carousel */
.carousel-wrapper {
    position: relative;
    width: 100vw;
    overflow: hidden;
}
.carousel-track {
    display: flex;
    transition: transform 0.8s ease;
    will-change: transform;
}
.carousel-slide {
    flex: 0 0 60vw;
    padding: 0 10px;
    opacity: 0.5;
    transition: opacity 0.4s ease;
}
.carousel-slide.active {
    opacity: 1;
}
.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    color: white;
    padding: 1rem;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s ease;
	outline: none;
	border: none;
	font-size: 30px;
}
.carousel-wrapper:hover .carousel-btn {
    opacity: 1; /* show only on hover */
}
.carousel-btn.prev { left: 20px; }
.carousel-btn.next { right: 20px; }
.carousel-dots {
    text-align: center;
    margin-top: 1rem;
}
.carousel-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 6px;
    border-radius: 50%;
    background: #808080;
    cursor: pointer;
    transition: background 0.3s ease;
}
.carousel-dot.active {
    background: #000000;
}
@media (max-width: 767px) {
.carousel-slide {
	flex: 0 0 100vw;
	padding: 0;
}
}
/* google map */
.map-responsive {
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.map-responsive iframe {
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
/* contact form */
.wpcf7 {
	overflow: auto;
	margin: -10px;
}
.wpcf7 [class*="col"] {
	display: inline-block;
	float: left; 
}
.wpcf7 [class*="col"] p {
	margin: 10px; 
}
.wpcf7 input, .wpcf7 textarea, .wpcf7 input:focus, .wpcf7 textarea:focus {
	border: 1px solid #ffffff;
	background-color: transparent;
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 20px;
	width: 100%;
	outline: none !important;
  	box-shadow: none !important;
}
.wpcf7 textarea {
  resize: none;
}
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder {
    color: #eac4bd;
}
.wpcf7-acceptance input[type="checkbox"], .wpcf7-acceptance input[type="checkbox"]:focus {
	border: 1px solid #ffffff;
	background-color: transparent;
    color: #ffffff;
    border-radius: 20px;
	outline: none !important;
  	box-shadow: none !important;
	margin-right: 0;
}
.wpcf7-form .wpcf7-acceptance label, .wpcf7-form .acceptance p {
    color: #000000 !important;
	font-weight: 400 !important;
}
.wpcf7-form input[type="checkbox"] {
    display: none;
}
.wpcf7-form .wpcf7-list-item-label {
    position: relative;
    padding-left: 26px;
    cursor: pointer;
}
.wpcf7-form .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 48%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 1px solid #ffffff;
    border-radius: 50%;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.wpcf7-form .wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    left: 9px;
    top: 48%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    background-color: #ffffff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.3s ease;
    opacity: 0;
}
.wpcf7-form input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}
input.wpcf7-submit {
    border: 1px solid #ffffff;
    color: #ffffff;
    width: 135px;
    padding: 6px 40px;
    margin: 0 0 20px 0;
    outline: none !important;
    box-shadow: none !important;
}
input.wpcf7-submit:hover, input.wpcf7-submit:focus {
	background-color: #ffffff;
	color: #000000 !important;
	transition: all .3s ease-in-out 0s;
    width: 135px;
}
.wpcf7-spinner {
	display: none;
}
.wpcf7 input:-webkit-autofill,
.wpcf7 input:-webkit-autofill:hover,
.wpcf7 input:-webkit-autofill:focus,
.wpcf7 textarea:-webkit-autofill,
.wpcf7 textarea:-webkit-autofill:hover,
.wpcf7 textarea:-webkit-autofill:focus,
.wpcf7 select:-webkit-autofill,
.wpcf7 select:-webkit-autofill:hover,
.wpcf7 select:-webkit-autofill:focus {
  background-color: transparent !important;
  -webkit-text-fill-color: #ffffff !important; /* text color */
  transition: background-color 5000s ease-in-out 0s; /* prevents flicker */
}
.wpcf7-response-output {
	color: #ffffff;
	border: none !important;
	margin: 0 0 auto 0 !important;
	padding: 0 0 auto 0 !important;
}
.wpcf7-not-valid-tip {
	color: #ffffff;
	margin-top: 8px;
}
.wpcf7 .acceptance {
	margin-bottom: 20px;
}
.wpcf7 br:last-of-type {
	display: none;
}
/* dynamowave */
.wave-transparent {
  	display: block;
  	width: 100%;
  	margin-bottom: -5px;
  	position: relative;
}
@media (max-width: 767px) {
.wave-transparent {
	margin-top: 50px;
  	height: 50px;
}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
.wave-transparent {
	margin-top: 55px;
}
}
@media (min-width: 768px) {
.wave-transparent {
  	height: 100px;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
.wave-transparent {
	margin-top: 60px;
}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
.home .wave-transparent {
	margin-top: -90px;
}
.wave-transparent {
	margin-top: 80px;
}
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
.home .wave-transparent {
	margin-top: -100px;
}
.wave-transparent {
	margin-top: 100px;
}
}
@media screen and (min-width: 1600px) {
.home .wave-transparent {
	margin-top: -100px;
}
.wave-transparent {
	margin-top: 120px;
}
}
/* footer */
.footer {
	background-color: #000000;
	color: #ffffff;
}
.footer .copyright, .footer a {
	font-weight: 300;
}
.footer .address {
	font-weight: 500;
}
#footernav ul {
	padding-left: 0;
	margin: 0;
}
#footernav li {
	display: inline-block;
	margin: 0 10px 0 0;
}
#footernav a {
	margin: 0;
	color: #ffffff;
}
.socials img {
	display: inline-block;
	height: 20px;
	width: auto;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.home h3 {
	margin-bottom: 0;
}
#who-are-we {
	background-color: #d2cec9;
	background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#what-we-do .container {
	z-index: 1;
}
#visit-us h2 {
	margin: 0 0 10px 0;
}
#visit-us h3 img {
	width: auto;
	vertical-align: middle;
}
#contact {
	background-color: #d35643;
	background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#contact h2, #contact h3 {
	color: #ffffff;
}
.contact-img {
  	justify-content: flex-end;
}
#contact img {
	width: 80%;
	height: auto;
	margin-bottom: 5px;
}
.breadcrumb a, .breadcrumb a:focus, .breadcrumb a:visited, .breadcrumb a:hover {
	color: #000000;
}
.error404 {
	background-color: #000000;
}
.error404 main {
	background-color: #ffffff;
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

.h1, h1 {
    line-height: 1.2;
}
.h2, h2 {
    line-height: 1.4;
}
.h3, .h4, .h5, .h6, h3, h4, h5, h6 {
    line-height: 1.5;
}
.h1, h1 {
	margin: 0 0 30px 0;
	font-size: calc(30px + 28 * ((100vw - 575px) / 1400));
	font-weight: 700;
}
.home .hero-content h1 {
	margin: 0 0 20px 0;
}
.h2, h2 {
	margin: 0 0 30px 0;
	font-size: calc(20px + 11 * ((100vw - 575px) / 1400));
	font-weight: 700;
}
.h3, h3 {
	margin: 0 0 20px 0;
	font-size: calc(15px + 7 * ((100vw - 575px) / 1400));
	font-weight: 500;
}
p, li, .wpcf7-response-output {
	font-size: calc(13px + 2 * ((100vw - 575px) / 1400));
	font-weight: 500;
}
footer p, footer a, .wpcf7-form .wpcf7-acceptance label, .wpcf7-form .acceptance p, .breadcrumb span {
	font-size: calc(12px + 0 * ((100vw - 575px) / 1400));
}
.home .hero-content span {
	font-size: calc(12px + 18 * ((100vw - 575px) / 1400));
	font-weight: 500;
}

@media only screen and (max-width: 575px) {
.h1, h1 {
	font-size: 30px;
}
.h2, h2 {
	font-size: 20px;
}
.h3, h3 {
	font-size: 15px;
}
p, li, .wpcf7-response-output {
	font-size: 13px;
}
footer p, footer a, .wpcf7-form .wpcf7-acceptance label, .wpcf7-form .acceptance p, .breadcrumb span {
	font-size: 12px;
}
.home .hero-content span {
	font-size: 12px;
}
}

/*------------------------------------*\
	ANIMATIONS
\*------------------------------------*/

.fromTopIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromTopOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,-10px);
	opacity: 0.0;
}

.fromBottomIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromBottomOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,10px);
	opacity: 0.0;
}

.fromLeftIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromLeftOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(-10px,0);
	opacity: 0.0;
}

.fromRightIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromRightOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(10px, 0);
	opacity: 0.0;
}

.scaleUpIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(1.0,1.0);
	opacity: 1.0;
}

.scaleUpOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(1.3,1.3);
	opacity: 0.0;
}

.scaleDownIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(1.0,1.0);
	opacity: 1.0;
}

.scaleDownOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(0.7,0.7);
	opacity: 0.0;
}

@media (min-width: 768px) {
.delay {
  transition-delay: 0.5s !important;
}

.moveTopIn
{
	transition: transform 1s ease;
	
	transform: translate(0,0);
}

.moveTopOut
{
	transition: transform 1s ease;
	
	transform: translate(0,-50px);
}

.moveBottomIn
{
	transition: transform 1s ease;
	
	transform: translate(0,0);
}

.moveBottomOut
{
	transition: transform 1s ease;
	
	transform: translate(0,50px);
}
}

.fromTopIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromTopOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,-10px);
	opacity: 0.0;
}

.fromBottomIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromBottomOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,10px);
	opacity: 0.0;
}

.fromLeftIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromLeftOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(-10px,0);
	opacity: 0.0;
}

.fromRightIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(0,0);
	opacity: 1.0;
}

.fromRightOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: translate(10px, 0);
	opacity: 0.0;
}

.scaleUpIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(1.0,1.0);
	opacity: 1.0;
}

.scaleUpOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(1.3,1.3);
	opacity: 0.0;
}

.scaleDownIn
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(1.0,1.0);
	opacity: 1.0;
}

.scaleDownOut
{
	transition: transform 1s ease, opacity 1s ease;
	
	transform: scale(0.7,0.7);
	opacity: 0.0;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

/* Small Mobile Portrait */
@media only screen and (max-width: 320px) {
}

@media only screen and (min-width: 321px) and (max-width: 575px) {
}

/* Mobile Portrait */
@media only screen and (max-width: 575px) {
.home .hero-content {
	padding-bottom: 15%;
}
#visit-us .img-bg {
	height: 200px;
}
}

/* Mobile Landscape */
@media only screen and (min-width: 576px) and (max-width: 767px) {
.home .hero-content {
	padding-bottom: 5%;
}
#visit-us .img-bg {
	height: 300px;
}
}

/* Mobile Portrait & Landscape */
@media (max-width: 767px) {
.no-hero {
	margin-top: 70px;
}
.content-slice, .footer, #visit-us .img-bg {
	padding: 50px 0;
}
.home .hero::before {
	content: '';
	position: absolute;
	inset: 0;
	height: 30%;
	background: linear-gradient(to bottom, black 0%, transparent 100%);
	opacity: 0.6;
	mix-blend-mode: multiply;
}
.home .hero::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 65%;
	top: 35%;
	bottom: 0;
	left: 0;
	right: 0;
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
#who-are-we {
	background: none;
}
#what-we-do::after {
	content: '';
	position: absolute;
	inset: 0;
	height: 100%;
	background: linear-gradient(to top, black 0%, transparent 100%);
	opacity: 0.6;
	mix-blend-mode: multiply;
}
#what-we-do h2 {
	margin: 0 0 40px 0;	
}
#our-brands h2 {
	margin: 0 0 50px 0;	
}
#visit-us h3 img {
	height: 20px;
	margin: -3px 8px 0 0;
}
.contact-img {
	display: none !important;
}
.accreditations img {
	height: 50px;
	width: auto;
}
.accreditations img:nth-child(1) {
	margin-right: 35px;
}
.socials {
	text-align: left;
	display: block;
	margin-top: 20px;
}
.socials img {
	margin-right: 10px;
}
}

/* Tablet Portrait */
@media only screen and (min-width: 768px) and (max-width: 991px) {
.content-slice, .footer {
	padding: 55px 0;
}
#who-are-we.content-slice {
	padding: 95px 0;
}
#visit-us .img-bg {
	padding: 40px 0;
}
#what-we-do h2, #our-brands h2 {
	margin: 0 0 60px 0;	
}
.contact-img {
	display: none !important;
}
}

/*Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {
.no-hero {
	margin-top: 85px;
}
.home .hero::before {
	content: '';
	position: absolute;
	inset: 0;
	height: 25%;
	background: linear-gradient(to bottom, black 0%, transparent 100%);
	opacity: 0.6;
	mix-blend-mode: multiply;
}
.home .hero::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 65%;
	top: 35%;
	bottom: 0;
	left: 0;
	right: 0;
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}
.home .hero-content {
	padding-bottom: 5%;
}
.home .hero-content br {
	display: none;
}
#what-we-do::after {
	content: '';
	position: absolute;
	inset: 0;
	height: 100%;
	background: linear-gradient(to top, black 0%, transparent 100%);
	opacity: 0.6;
	mix-blend-mode: multiply;
}
#visit-us h3 img {
	height: 25px;
	margin: -5px 10px 0 0;
}
#contact img {
	margin-right: 45px;
}
.accreditations img {
	height: 72px;
	width: auto;
}
.accreditations img:nth-child(1) {
	margin-right: 45px;
}
.socials {
	text-align: right;
	display: block;
	position: absolute;
    right: 0;
    bottom: 8px;
}
.socials img {
	margin-left: 10px;
}
}

@media (max-width: 991px) {
html {
	scroll-padding-top: 70px;
}
.header {
	padding: 20px 0;
}
.header-scrolled .logo, .header-scrolled .logo-img {
	transition: all .5s ease-in-out 0s;
}
.logo, .logo-img {
	width: 110px;
}
.home .container {
    max-width: 100%;
}
.container {
    padding-left: 25px;
    padding-right: 25px;
}
}

/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
html {
	scroll-padding-top: 85px;
}
.home .header {
	padding: 50px 0 20px 0;
}
.header, .home .header-scrolled, .header-scrolled {
	padding: 20px 0;
}
.header-scrolled .logo, .header-scrolled .logo-img {
	transition: all .5s ease-in-out 0s;
}
.logo, .logo-img {
	width: 175px;
}
}

/* Tablet Landscape */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
.content-slice, .footer {
	padding: 60px 0;
}
#who-are-we.content-slice {
	padding: 120px 0;
}
#visit-us .img-bg {
	padding: 40px 0;
}
#what-we-do h2, #our-brands h2 {
	margin: 0 0 70px 0;	
}
.contact-img {
	display: none !important;
}
}

/*Extra large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {
.contact-form {
	margin-top: -8%;	
}
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
.content-slice, .footer {
	padding: 80px 0;
}
#who-are-we.content-slice {
	padding: 140px 0;
}
#visit-us .img-bg {
	padding: 40px 0;
}
#what-we-do h2, #our-brands h2 {
	margin: 0 0 80px 0;	
}
}

@media screen and (min-width: 1400px) {
.container {
	max-width: 100%;
}
}

@media only screen and (min-width: 1400px) and (max-width: 1599px) {
.container {
    width: 1370px;
}
.content-slice, .footer {
	padding: 100px 0;
}
#who-are-we.content-slice {
	padding: 160px 0;
}
#visit-us .img-bg {
	padding: 50px 0;
}
#what-we-do h2, #our-brands h2 {
	margin: 0 0 90px 0;	
}
}

@media screen and (min-width: 1600px) {
.content-slice, .footer {
	padding: 120px 0;
}
#who-are-we.content-slice {
	padding: 180px 0;
}
#visit-us .img-bg {
	padding: 60px 0;
}
#what-we-do h2, #our-brands h2 {
	margin: 0 0 100px 0;	
}
}

@media only screen and (min-width: 1600px) and (max-width: 1919px) {
.container {
    width: 1570px;
}
}
	
@media screen and (min-width: 1920px) {
.container {
    width: 1610px;
}
}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
