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,img,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}

textarea:focus, input:focus{outline: none;}
*:focus {outline: none;}

html {height: 100%;}

body {
	color: #111111;
	background-color: #FFFFFF;
	font-family: "helvetica-lt-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.3;
}
h1,h2 {
	font-size: 120px;
	letter-spacing: -8px;
    line-height: 0.9;
}
h3 {font-size: 34px;}
h4 {font-size: 24px;}
h5 {font-size: 20px;}
h6 {font-size: 16px;}


h1,h2,h3,h4,h5,h6 {margin: 0 0 20px 0;}
p, li {
	font-size: 18px;
	margin: 0 0 20px 0;
}
i, em {font-style: italic;}
a {
	text-decoration: none;
	color: inherit;
}

b, strong, .bold {font-weight: 700;}

.red {color: #F21B13;}

.wrapper {overflow: hidden;}

.full-width {
	width: 100%;
	float: left;
	box-sizing: border-box;
}
.inside-width {
	width: 1760px;
	margin: 0 auto;
	box-sizing: border-box;
}
.fixed-width {
	width: 1440px;
	margin: 0 auto;
	box-sizing: border-box;
}

.transition {
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    -ms-transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}
.transition-slow {
	-moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    -ms-transition: .5s ease-in-out;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

.button {
	width: max-content;
	text-align: center;
	margin: 0 auto;
}
.button p {
	margin: 0 auto;
	padding: 12.5px 35px;
	border-radius: 30px 30px 0 30px;
	color: #FFFFFF;
	background-color: #000000;
	border: 1px solid #000000;
	font-size: 22px;
	-moz-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    -ms-transition: .4s ease-in-out;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
}
.button.style-alt p {
	border-color: #F21B13;
	background-color: #F21B13;
}
.button:hover p {
	border-radius: 30px;
	color: #000000;
	border-color: #000000;
	background-color: transparent;	
}


@keyframes jiggleIn {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-4px); }
	50% { transform: translateX(4px); }
	75% { transform: translateX(-2px); }
}
@keyframes jiggleOut {
	0% { transform: translateX(-2px); }
	25% { transform: translateX(4px); }
	50% { transform: translateX(-4px); }
	100% { transform: translateX(0); }
}
.button.jiggle-in {animation: jiggleIn 0.4s ease-in-out;}
.button.jiggle-out {animation: jiggleOut 0.4s ease-in-out;}

/* Header */

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	border-bottom: 1px dotted #000000;
	z-index: 999;
}
.header .logo {
	width: 275px;
	float: left;
	padding: 25px 0;
}
.header .logo img {
	width: 100%;
	max-width: 330px;
	height: auto;
	float: left;
}
.header .logo img.head {display: none;}
.header .menu {
	width: fit-content;
	float: right;
	padding: 40px 0 0 0;
}
.header .menu .item {
	float: left;
	margin: 0 0 0 40px;
}

/* Footer */

.footer {
	height: 100px;
	border-bottom: 1px dotted #000000;
	position: absolute;
	top: 110px;
	z-index: 1;
}
.footer p {margin: 40px 0 0 0;}
.footer .email {
	width: fit-content;
	float: left;
}
.footer .telephone {
	width: fit-content;
	float: right;
}
.footer .logo {
	width: 275px;
	margin: 0 auto;
	position: absolute;
	top: 25px;
	left: 0;
	right: 0;
}
.footer .logo img {
	width: 100%;
	max-width: 330px;
	height: auto;
	float: left;
}

/* Content */

.l-upside video {
	width: 100%;
	max-width: 1920px;
	height: auto;
	margin: 0 auto;
	display: block;
}

.l-intro {margin: 0 0 100px 0;}
.l-intro h1 {margin: 40px 0;}
.l-intro h1 span {font-style: italic;}
.l-intro h1.active span {color: #F21B13;}
.l-intro .button {float: left;}

.l-hero {
	padding: 0 40px;
	margin: 0 0 40px 0;
}
.l-hero video {
	width: 100%;
	height: auto;
	float: left;
	border-radius: 10px 10px 0 10px;
}

.l-grid {margin: 0 0 160px 0;}
.l-grid .title {
	text-align: center;
	margin: 180px 0 60px 0;
}
.l-grid .button {margin-bottom: 30px;}
.l-grid .list {
	display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 40px;
    row-gap: 40px;
}
.l-grid .list .item .stage video {
	width: 100%;
	height: auto;
	float: left;
	aspect-ratio: 1/1.75;
	object-fit: cover;
	object-position: center;
	border-radius: 10px 10px 0 10px;
}
.l-grid .list .item .copy h4 {margin: 10px 0 0 0;}

.l-more {
	text-align: center;
	margin: 0 0 80px 0;
}
.l-more .button {
	margin-top: 30px;
	margin-bottom: 20px;
}

.l-services {margin: 0 0 80px 0;}
.l-services video {
	width: 100%;
	height: auto;
	float: left;
}

.l-expertise {margin: 0 0 160px 0;}
.l-expertise .copy {
	width: 27.5%;
	float: left;
}
.l-expertise .table {
	width: 65%;
	float: right;
	border-bottom: 1px dotted #000000;
}
.l-expertise .table .row {border-top: 1px dotted #000000;}
.l-expertise .table .row .cell {
	width: 33.33%;
	float: left;
}
.l-expertise .table .row .cell h5 {margin: 12.5px 0;}
.l-expertise .button {
	clear: both;
	margin-top: 40px;
}

.l-brands {
	text-align: center;
	margin: 0 0 160px 0;
}
.l-brands .fixed-width {overflow: hidden;}
.l-brands .list .item {
	width: 200px;
	float: left;
	margin: 0 20px;
	text-align: center;
    box-sizing: border-box;
}
.l-brands .list .item img {
	display: block;
	width: 100%;
	max-width: 200px;
	height: auto;
	margin: 0 auto;
}
.l-brands .list .next, 
.l-brands .list .previous {display: none;}

.l-move {
	text-align: right;
	margin: 0 0 100px 0;
}
.l-move .title {margin: 0 0 20px 0;}
.l-move .title .aos-animate span {animation: fade .75s infinite alternate;}
@keyframes fade {
	0% {color: #000000;}
	100% {color: #F21B13;}
}
.l-move .video video {
	width: 100%;
	height: auto;
	float: left;
	border-radius: 10px 10px 0 10px;
}

.l-quotes {margin: 0 0 100px 0;}
.l-quotes .list .item {
	opacity: 0;
	visibility: hidden;
	width: 940px;
    max-width: 100vw;
    padding: 0 20px;
    text-align: center;
    box-sizing: border-box;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    -ms-transition: .5s ease-in-out;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.l-quotes .list .item.slick-current {
	opacity: 1;
	visibility: visible;
}
.l-quotes .list .item img {
	width: 100%;
	max-width: 250px;
	height: auto;
	display: inline-block;
}
.l-quotes .list .item .copy {padding: 10px 0 0 0;}
.l-quotes ul.slick-dots {
	width: max-content;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 80px;
    text-align: center;
}
.l-quotes ul.slick-dots li {    
	width: 15px;
    height: 15px;
    display: inline-block;
    margin: 0 5px;
    cursor: pointer;
}
.l-quotes ul.slick-dots li button {
    width: 100%;
    height: 100%;
    padding: 0px;
    float: left;
    background: #B3B3B3;
    border: 0px;
    color: transparent;
    border-radius: 100%;
}
.l-quotes ul.slick-dots li.slick-active button {
    background: #F21B13;
    color: #F21B13;
}

.l-downside {
	position: relative;
	overflow: hidden;
}
.l-downside video {
	width: 100%;
	max-width: 1920px;
	height: auto;
	margin: 0 auto;
	display: block;
}
