
body {
	background: #fff;
	font-family: 'Lexend', sans-serif;
	color: #575756;
	overflow-x: hidden;
}
* {
	outline: none;
}
.clear {
	clear: both;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Lexend', sans-serif;
	font-weight: 600;
	color: #575756;
}
h2 {
	font-family: 'Lexend', sans-serif;
	font-weight: 800;
	font-size: 2.5em;
	margin: 0;
	padding: 3.75rem 0;
	line-height: 1em;
	color: #575756;
	text-transform: uppercase;
	text-align: center;
}
h2 a {
	color: #575756;
}
p {
	font-weight: 300;	
	color: #575756;
	font-size: 1.25em;
	line-height: 1.6666em;
}
a:hover, a:active, a:focus {
	color: #000;
}

/*********************************************************** HEADER ***************************************************************/

header {
	width: 100%;
	height: auto;
	background-color: #fff;
	font-family: 'Lexend', sans-serif;
	padding: 2.9rem 0 0 0;
}
header a {
	color: #575756;
}
header a:hover, header a:active {
	color: #000;
}
h1 {
	width: 100%;
	max-width: 182;
	height: 114px;
	position: relative;
	text-indent: -999999px;
	float: right;
	margin: 0;
	padding: 0;
}
h1 a {
	width: 100%;
	height: 100%;
	display: block;
	background: url(/assets/img/logo_step93.svg) right top no-repeat;
	background-size: contain;
}
.langs ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	font-size: 1.25em;
	line-height: 1em;
}
.langs ul li {
	display: inline-block;
	margin: 0;
	padding: 0 0.5em 0 0;
}
.langs ul a {
	color: #575756;
	text-transform: uppercase;
	font-weight: 600;
	display: inline-block;
}
.langs ul a.active {
	color: #9fcfc8;
}

#spinner_master_container															{ z-index: 999999; position: relative; top: 0; left: 0; float: left; margin-left: 23px; display: none; }
#spinner_master_container .columns 													{ padding: 0; }
.spinner-master input[type="checkbox"] + label:before               				{ display: none; }
.spinner-master input[type="checkbox"]:checked + label:before  						{ display: none; }
.spinner-master input[type="checkbox"] + label  									{ height: 20px; }
.spinner-master * 																	{ transition: all 0.3s; -webkit-transition: all 0.3s; box-sizing: border-box; }
.spinner-master 																	{ position: relative; margin: 0 10px; height: 20px; width: 26px; float: right; }
.spinner-master input[type="checkbox"] 												{ display: none; }
.spinner-master label 																{ cursor: pointer; position: absolute; z-index: 99; height: 100%; width: 100%; top: 0; left: 0; margin: 0; text-indent: -99999px; color: #575756; }
.spinner-master .spinner 															{ position: absolute; height: 2px; width: 100%; background-color: #575756; }
.spinner-master .diagonal.part-1 													{ position: relative; float: left; }
.spinner-master .horizontal 														{ position: relative; float: left; margin-top: 7px; }
.spinner-master .diagonal.part-2 													{ position: relative; float: left; margin-top: 7px; }
.spinner-master input[type="checkbox"]:checked ~ .spinner-spin > .horizontal 		{ opacity: 0;}
.spinner-master input[type="checkbox"]:checked ~ .spinner-spin > .diagonal.part-1 	{ -webkit-transform: rotate(135deg); transform: rotate(135deg); margin-top: 10px; }
.spinner-master input[type="checkbox"]:checked ~ .spinner-spin > .diagonal.part-2 	{ -webkit-transform: rotate(-135deg); transform: rotate(-135deg); margin-top: -11px; }
input[type='checkbox'] + label.spinner-spin, input[type='radio'] + label.spinner-spin {
	width: 100% !important;
}

/*********************************************************** NAV ***************************************************************/

nav {
	background: linear-gradient(to left, #fff 50%, #9fcfc8 50%);
	margin-top: -68px;
	z-index: 100;
}
nav.hidden {
	position: absolute;	
	padding-right: 106px;
	left: -280px;
	transition: left 0.5s ease-in-out 0s;
}
nav.active {
	position: absolute;	
	padding-right: 106px;
	left: 0;
	transition: left 0.5s ease-in-out 0s;
}
nav .open, nav .close {
	display: block;
	width: 106px;
	height: 100%;
	background: #9fcfc8 url("/assets/img/nav_arrow.svg") left center no-repeat;
	background-size: 2.5rem auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
}
nav .close {
	background: #9fcfc8 url("/assets/img/nav_arrow_back.svg") left center no-repeat;
	background-size: 2.5rem auto;
	display: none;
}
nav.hidden ul, nav.active ul {
	padding-left: 1.25rem;	
}
nav .grid-x .cell {
	position: relative;
	background: linear-gradient(to left, transparent 50%, #fff 50%);
}
nav .img {
	width: 90%;
	height: 80%;
	position: absolute;
	bottom: 0;
	right: 0;
	border-top: 15px solid #93c01f;
	background: url("/assets/img/header.jpg") center center no-repeat;
	background-size: cover;
}
nav ul {
	list-style-type: none;
	background-color: #9fcfc8;
	margin: 0 0 0 -1.25rem;
	padding: 0 0 2.375em 0;	
	display: inline-block;
	width: 280px;
	position: relative;
	float: left;
}
nav.hidden ul, nav.active ul {
	margin: 0 0 0 0;
	width: 280px;
}
nav ul li {
	width: 100%;
}
nav ul li a {
	display: block;
	width: 100%;
	font-size: 1.25em;
	line-height: 1.2em;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	padding: 1.4em 2.5em 1.4em 1.25rem;
	position: relative;
}
nav.hidden ul li a, nav.active ul li a {
	padding: 1.4em 1.4em 1.4em 1.25rem;
}
nav ul li a:after {
	content: "";
	height: 5px;
	width: 50%;
	display: block;
	background-color: #fff;
	position: absolute;
	bottom: 0;
	left: 1.25rem;
}


/*********************************************************** HOME ***************************************************************/

.about {
	width: 100%;
	height: auto;
	background-color: #e2f3f1;
	padding: 2.5em 0;
	-webkit-box-shadow: inset 0px 5px 5px 0px rgba(0,0,0,0.2); 
	box-shadow: inset 0px 5px 5px 0px rgba(0,0,0,0.2);
}
.about .cell {
	column-count: 2;
	column-gap: 7rem;
}
.home_services {
	background: linear-gradient(to right, #fff 50%, #e2f3f1 50%);
}
.home_services .grid-x {
	background: #e2f3f1 url("/assets/img/white_bg.svg") left top no-repeat;
	background-size: 100% auto;
	padding: 2.5em 0;
}
.home_services .cell {
	position: relative;
}
.home_services .cell:nth-child(1):before {
	content: "";
	display: block;
	width: 100%;
	height: 4.75em;
	background: url("/assets/img/team.svg") 1em top no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(-130%);
}
.home_services p  {
	font-weight: 400;
}
.home_services p strong {
	font-size: 1em;
}
.home_services h2  {
	text-align:left;
}
.services_arrow {
	height: 2.375rem;
	width: calc(100% - 7em);
	margin: 0.5rem 7rem auto auto;
	background: url("/assets/img/services_arrow.svg") right top no-repeat;
	background-size: auto 37px;
}
a.btn {
	display: block;
	width: calc(100% + 3.7333em);
	line-height: 1.2em;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	padding: 1.4em 2.5em 1.4em 3.7333em;
	position: relative;
	background-color: #9fcfc8;
	margin: 2em 0 4em -3.7333em;
}
a.btn:hover, a.btn:active, a.btn:focus {
	color: #000;
}
a.btn:after {
	content: "";
	height: 5px;
	width: 24%;
	display: block;
	background-color: #fff;
	position: absolute;
	bottom: 1em;
	left: 3.7333em;
}
.serv1 {
	width: 80%;
	float: right;
}
.serv2 {
	width: 70%;
	float: right;
}
.home_img {	
	-webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2); 
	box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2);
}
.home_links {
	background-color: #9fcfc8;
	margin-bottom: 2.5em;
	position: relative;
}
.home_links .cell {
	position: relative;
}
.home_links .cell:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 19.6875rem;
	height: 17.375rem;
	background: url("/assets/img/comp.svg") left top no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}
.home_links ul {
	list-style-type: none;
	margin: 0;
	column-count: 2;
	column-gap: 7rem;
	padding: 2.375em 0;	
}
.home_links ul li a {
	display: inline-block;
	width: 100%;
	font-size: 1.25em;
	line-height: 1.2em;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	padding: 1.4em 2.5em 1.4em 1.25rem;
	position: relative;
}
.home_links ul li a:hover, .home_links ul li a:active, .home_links ul li a:focus  {
	color: #000;
}
.home_links ul li a:after {
	content: "";
	height: 5px;
	width: 30%;
	display: block;
	background-color: #fff;
	position: absolute;
	bottom: 1em;
	left: 1.25rem;
}
.home_img_container .grid-container {
	padding: 0;
}
.home_docs {
	background: linear-gradient(to left, #fff 50%, #e2f3f1 50%);
	background-position: 0 0;
	background-repeat: no-repeat;
}
.home_docs .grid-x  {
	background: #fff url("/assets/img/home_clients.svg") left bottom no-repeat;
	background-size: 100% auto;
}
.home_docs h2 {
	padding: 1.5em 0 0.8666em 0;
}
.home_docs p, .news_link_all p {
	text-align: center;
}
.home_docs p a, .news_link_all p a {
	font-style: italic;
	font-family: 'Work Sans', sans-serif;
	font-size: 0.8666em;
	color: #575756;
	text-transform: uppercase;
	font-weight: 400;
}
.home_docs p a:active, .home_docs p a:hover, .home_docs p a:focus, .news_link_all p a:active, .news_link_all p a:hover, .news_link_all p a:focus  {
	color: #000;
}
.home_docs p a img {
	width: 2.666em;
	height: 2.666em;
	display: inline-block;
}
.home_clients h2 {
	text-align: left;
}
.home_clients ul {
	list-style-type: none;
	margin: 0;
	padding: 0;	
	font-weight: 300;	
	color: #575756;
	font-size: 1.25em;
	line-height: 1.6666em;
}
.home_clients p {
	text-align: left;
	font-style: italic;
	font-family: 'Work Sans', sans-serif;
	font-size: 1.25em;
	color: #575756;
	text-transform: uppercase;
	font-weight: 400;
	padding: 1em 0 6em 0;
}
.home_clients p a strong.dots {
	font-family: 'Lexend', sans-serif;;
	font-size: 2em;
	color: #575756;
	font-style: normal;
}
.home_clients_text p {
	text-align: left;
	font-size: 1.25em;
	font-weight: 600;
	padding: 3em 0 0 0;
	margin: 0;
}

/*********************************************************** NEWS ***************************************************************/

.news {
	background: #e2f3f0 url("/assets/img/news_bg.svg") left top no-repeat;
	background-size: 100% auto;
	padding: 7.5rem 2.5rem 2.5rem 2.5rem;
	margin-bottom: 3rem;
}
.news_container h2 {
	padding: 3.75rem 0 0 0;
}
.big_news {
	background: #e2f3f1;
	padding: 2.5rem;
	position: relative;
}
.news p.news_date {
	font-size: 1em;
	color: #93C01F;
	display: inline-block;
	margin: 0;
	padding: 0.3em 0;
	font-weight: 600;
	position: relative;
}
.news p.news_date:after {
	content: "";
	background-color: #93C01F;
	width: 144px;
	height: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
}
.news h3 {
	font-size: 1.25em;
	text-align: left;
	padding: 1.25em 0 2em 0;
	margin: 0;
}
.news_link_all {
	padding: 1.25rem 0 0 0;
}
#search_form {
	width: 100%;
	height: 60px;
	background: #fff;
	display: block;
	position: relative;
	padding: 0;
	margin: 1rem 0 0.5rem 0;
}
#search_form label {
	display: none;
}
#search_form input {
	width: 100%;
	background: #fff;
	border: none;
	border-bottom: 1px solid #575756;
	font-size: 1.25em;
	font-weight: 400;
	line-height: 2em;
	height: 2em;
	color: #000;
	margin: 0 0 2em 0;
	box-shadow: none;
	padding: 0;
	box-sizing: border-box;
}
#search_form input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  	color: #575756;
	font-weight: 400;
}
#search_form input::-moz-placeholder { /* Firefox 19+ */
  	color: #575756;
	font-weight: 400;
}
#search_form input:-ms-input-placeholder { /* IE 10+ */
  	color: #575756;
	font-weight: 400;
}
#search_form input:-moz-placeholder { /* Firefox 18- */
  	color: #575756;
	font-weight: 400;
}
.search_btn {
	display: block;
	width: 40px;
	height: 40px;
	margin: -0;
	background: url(/assets/img/magnifier.svg) center center no-repeat;
	background-size: 30px auto;
	cursor: pointer;
	position: absolute;
	right: 0;
	bottom: 1.5rem;
}

/*********************************************************** SERVICES ***************************************************************/

.services {
	background: linear-gradient(to right, #fff 50%, #e2f3f1 50%);
	margin: -4.375rem auto auto auto;
}
.services .grid-container .grid-x .cell.bg {
	background: #e2f3f1 url("/assets/img/services_bg.svg") left top no-repeat;
	background-size: 100% auto;
	padding-bottom: 5.5em;
}
.content h2 {
	padding-top: 0;
}
.content h3 {
	font-size: 1.25em;
	margin: 1.25em 0 2em 0;
	padding: 0;
}
.services .services_arrow {
	margin: 1.5rem 7rem auto 2.5rem;
}
.content ul, .content ol {	
	font-weight: 300;	
	color: #575756;
	font-size: 1.25em;
	line-height: 1.6666em;
}
.content ol ul {	
	font-size: 1em;
}
.subservice ul {
	column-count: 2;
	column-gap: 7rem;
	margin: 3em;
}
.subservice h4 {
	font-size: 1em;
	line-height: 1.6666em;
	text-transform: uppercase;
}
.subservice p, .subservice ul li ul {
	font-size: 1em;
}
.services img {
	max-width: 227px; 
	float: right;
}

/*********************************************************** CLIENTS ***************************************************************/

.clients {
	background: linear-gradient(to left, #fff 50%, #e2f3f1 50%);
	background-position: 0 5.625em;
	background-repeat: no-repeat;
}
.clients .grid-x  {
	background: #fff url("/assets/img/home_clients.svg") left 5.625em no-repeat;
	background-size: 100% auto;
	padding-bottom: 8em;
}
.clients ul {
	list-style-type: none;
	margin: 0;
	padding: 0;	
	font-weight: 300;	
	color: #575756;
	font-size: 1.25em;
	line-height: 1.6666em;
	column-count: 2;
	column-gap: 7rem;
}

/*********************************************************** DOCUMENTS ***************************************************************/

.docs ul {
	column-count: 2;
	column-gap: 7rem;
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
.docs ul h3 {
	font-size: 1em;
	position: relative;
	padding: 0.5em 0 5rem 0;
	width: 100%;
	display: inline-block;
}
.docs ul h3:before {
	content: "";
	background-color: #93C01F;
	width: 144px;
	height: 5px;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
}
.docs ul h3:after {
	content: "";
	background: url("/assets/img/download.svg") left top no-repeat;
	width: 5rem;
	height: 5rem;
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
}

/*********************************************************** CONTACT ***************************************************************/

.contact {
	background-color: #e2f3f1;
	padding: 3.125em 0 4.375em 0;
}
.contact .cell {
	text-align: center;
}
.contact p {
	text-align: center;
	font-weight: 400;
}
.contact p a {
	color: #575756;
}
.contact img {
	width: auto;
	height: 3.125em;
	margin: 3.125em 0;
}
.location {
	margin: 0;
	padding: 0;
	font-size: 0;
}
iframe {
	margin: 0;
	padding: 0;
}

/*********************************************************** FOOTER ***************************************************************/

footer {
	width: 100%;
	height: auto;
	background-color: #93c01f;
	text-align: center;
	padding: 3em 0 2em 0;
}
footer p {
	text-transform: uppercase;
	color: #fff;
	font-size: 1.25em;
	line-height: 1.75em;
	font-weight: 700;
}
footer p a {
	color: #fff;
}
footer p a:hover, footer p a:active, footer p a:focus {
	color: #000;
}


/******* PRIVACY ********************************************************************************************************/

/* Cookie Dialog */
#gdpr-cookie-message {
    position: fixed;
    right: 30px;
    bottom: 30px;
    max-width: 375px;
    background-color: #000;
    padding: 20px;
    border-radius: 5px;
    margin-left: 30px;
}
#gdpr-cookie-message h4 {
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    margin: 0 0 10px 0;
	padding:0;
}
#gdpr-cookie-message h5 {
    color: #fff;
    font-size: 16px;
    margin: 10px 0;
	padding:0;
	font-weight:normal;
}
#gdpr-cookie-message p, #gdpr-cookie-message ul {
    color: #fff;
    font-size: 14px;
    line-height: 1.5em;
	font-family: 'Barlow', sans-serif;
	text-align: justify;
}
#gdpr-cookie-message p:last-child {
    margin-bottom: 0;
    text-align: right;
}
#gdpr-cookie-message li {
    width: 49%;
    display: inline-block;
	padding: 5px 0;
}
#gdpr-cookie-message a {
	color:#fff;
    text-decoration: none;
    font-size: 14px;
    padding-bottom: 2px;
    border-bottom: 1px dotted rgba(255,255,255,0.75);
    transition: all 0.3s ease-in;
}
#gdpr-cookie-message a:hover {
    color: white;
    border-bottom-color: var(--red);
    transition: all 0.3s ease-in;
}
#gdpr-cookie-message button,
button#ihavecookiesBtn {
    border: none;
    color: #000;
    font-size: 14px;
    padding: 7px;
    border-radius: 3px;
    margin-left: 15px;
    cursor: pointer;
    transition: all 0.3s ease-in;
	font-family: 'Barlow', sans-serif;
	background: white;
}
#gdpr-cookie-message button:hover {
    background: #ccc;
    transition: all 0.3s ease-in;
}
button#gdpr-cookie-advanced {
    background: white;
}
#gdpr-cookie-message button:disabled {
    opacity: 0.3;
}
#gdpr-cookie-message label {
	color: white;
}
#gdpr-cookie-message input[type="checkbox"] {
    margin-top: 3px;
    margin-right: 5px;
	float: left;
	width: 20px;
	height: 20px;
}
