
/* Fonts
------------------------------------------------------------*/
@font-face {
    font-family: 'avantgarde_medium';
    src: url('../fonts/avantgarde_md_bt_medium-webfont.eot');
    src: url('../fonts/avantgarde_md_bt_medium-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/avantgarde_md_bt_medium-webfont.woff2') format('woff2'),
         url('../fonts/avantgarde_md_bt_medium-webfont.woff') format('woff'),
         url('../fonts/avantgarde_md_bt_medium-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'avantgarde_regular';
    src: url('../fonts/avantgardemditc_regular-webfont.eot');
    src: url('../fonts/avantgardemditc_regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/avantgardemditc_regular-webfont.woff2') format('woff2'),
         url('../fonts/avantgardemditc_regular-webfont.woff') format('woff'),
         url('../fonts/avantgardemditc_regular-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* Global Settings
------------------------------------------------------------*/
body {
	font-family: "avantgarde_medium", arial, sans-serif;
	font-size: 20px;
	line-height: 30px;
	color: #000;
}

.container-fluid {
	max-width: 1272px;	
}

section {
	position: relative;
	padding: 110px 0;
}

.section-title {
	margin: 0 0 25px 0;
	font-family: "avantgarde_regular", arial, sans-serif;
	font-size: 80px;
	line-height: 1;
	letter-spacing: -3px;
	text-align: center;
}

.section-description {
	margin: 0 auto 80px auto;
	font-size: 30px;
	line-height: 40px;
	text-align: center;
}

@media (max-width: 782px) {
	body { font-size: 16px; line-height: 24px; }
	section { padding: 70px 0; }
	.section-title { margin-bottom: 20px; font-size: 60px; letter-spacing: -2px; }	
	.section-description { margin-bottom: 65px; font-size: 24px; line-height: 34px; }                  
}

@media (max-width: 576px) {
	body { font-size: 16px; line-height: 24px; }
	section { padding: 40px 0 50px; }
	.section-title { margin-bottom: 5px; font-size: 32px; line-height: 38px; letter-spacing: -1px; }	
	.section-description { margin-bottom: 40px; font-size: 18px; line-height: 24px; }                  
}

/* Header
------------------------------------------------------------*/
.site-header { z-index: 100; position: absolute; top: 0; left: 0; width: 100%; height: 105px; background: transparent; transition: all linear .3s; }
#logo { position: absolute; top: 15px; left: 25px; }
#logo-be,
#logo-tech,
#logo-icon { fill: #fff; transition: all linear .3s; }
.site-header .home { position: absolute; top: 38px; right: 85px; }
.site-header .home path { opacity: 0; fill: #fff; transition: all linear .3s;}
.site-header .mail { position: absolute; top: 40px; right: 40px; }
.site-header .mail path { fill: #fff; transition: all linear .3s;}

.site-header.video-playing { top: -110px; opacity: 0; transition: all linear .3s; }
.site-header.video-playing.sticky { top: 0; opacity: 1; }

.site-header.sticky { position: fixed; background: #fff; transition: all linear .3s; animation: slidedown .3s; }
.site-header.sticky #logo-be,
.site-header.sticky #logo-icon { fill: #58C2AC; transition: all linear .3s; }
.site-header.sticky #logo-tech { fill: #58595B; transition: all linear .3s; }
.site-header.sticky .home path { opacity: 1; fill: #58C2AC; transition: all linear .3s; }
.site-header.sticky .mail path { fill: #58C2AC; transition: all linear .3s; }

@media (max-width: 782px) {
	
}

@media (max-width: 576px) {
	body { padding-top: 73px; }
	.site-header { position: fixed; height: 73px; }
	#logo { width: 135px; top: 0; left: 12px; }
	.site-header .home { top: 24px; right: 60px; }
	.site-header .mail { top: 26px; right: 12px; }
	.site-header { position: fixed; background: #fff; transition: all linear .3s; }
	.site-header #logo-be,
	.site-header #logo-icon { fill: #58C2AC; transition: all linear .3s; }
	.site-header #logo-tech { fill: #58595B; transition: all linear .3s; }
	.site-header .mail path { fill: #58595B; transition: all linear .3s; }
}

@-webkit-keyframes slidedown {
	from { top: -110px; }
	to {top: 0; }
}

@keyframes slidedown {
	from { top: -110px; }
	to {top: 0; }
}


/* Footer
------------------------------------------------------------*/
.site-footer { padding: 38px 0; background: #31363A; color: #58C2AC; text-align: center; font-size: 14px; line-height: 16px; }
.site-footer br { display: none; }

@media (max-width: 576px) {
	.site-footer { padding: 28px 0; }
	.site-footer br { display: inline-block; }
}

/* Video
------------------------------------------------------------*/
.section-video { position: relative; padding: 0; }
.section-video .video { position: relative; width: 100%; background: #000; overflow: hidden; }
.section-video .video:before { content: ''; display: block; padding-top: 56.25%; }
.section-video .video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.section-video .mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../img/pixel.png); }
.section-video .button-close { cursor: pointer; display: none; position: absolute; top: 24px; right: 24px; }
.section-video .text { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.section-video .text .wrapper { position: relative; display: inline-block; }
.section-video .text img { max-width: 100%; }
.section-video .text .button-play { cursor: pointer; position: absolute; top: -2px; left: 150px; }

body.mobile .section-video .video { background: #000 url(../img/video-bg.jpg) center center no-repeat; background-size: cover; }

.no-flexbox .section-video .text { padding-top: 200px; }
.no-flexbox .section-video .text .wrapper { display: block; margin: 0 auto; max-width: 750px; }

@media (max-width: 782px) {
	.section-video .text { align-items: flex-end; padding-bottom: 5%; }
	.section-video .text .wrapper { width: 580px; padding-top: 19px; }
	.section-video .text .button-play { top: 0; left: 97px; }
}

@media (max-width: 576px) {
	.section-video .button-close { top: -55px; }
	.section-video .button-close path { fill: #000; }
	.section-video .text .wrapper { width: 230px; padding-top: 30px; }
	.section-video .text .button-play { width: 57px; top: 0; left: 16px; }
}

/* Who we are
------------------------------------------------------------*/
.section-who { background: #fff; color: #000; }
.section-who .section-title { color: #404040;	 }
.section-who .item { text-align: center; }
.section-who .thumbnail { display: flex; align-items:center; justify-content: center; height: 130px; margin-bottom: 35px; background: #149A97; color: #fff; border-radius: 8px; }
.section-who .thumbnail img { display: block; max-width: 100%; }

.no-flexbox .section-who .thumbnail { padding-top: 30px; }
.no-flexbox .section-who .thumbnail img { margin: 0 auto; }

@media (max-width: 782px) {
	.section-who { padding-bottom: 40px; }
	.section-who .container-fluid { max-width: 80%; }
	.section-who .item { margin-bottom: 40px; font-size: 20px; line-height: 30px; }
	.section-who .thumbnail { }
	.section-who .item:nth-child(2n+1) { clear: both; }
}

@media (max-width: 576px) {
	.section-who { padding-bottom: 30px }
	.section-who .container-fluid { max-width: 100%; }
	.section-who .item { margin-bottom: 30px; font-size: 16px; line-height: 24px; }
	.section-who .thumbnail { height: 98px; margin-bottom: 15px; }
	.section-who .thumbnail img { height: 55px; }
}


/* What are we proposing?
------------------------------------------------------------*/
.section-propose { background: #149A97; color: #fff; }
.section-propose .section-title { color: #6CE0C8; }
.section-propose .item { text-align: center; }
.section-propose .thumbnail { display: flex; align-items:center; justify-content: center; width: 133px; height: 133px; margin: 0 auto 30px auto; font-family: "avantgarde_regular", arial, sans-serif; font-size: 60px; line-height: 1; color: #6CE0C8; background: #404040; border: 4px solid #6CE0C8; border-radius: 100%; }

.no-flexbox .section-propose .thumbnail { padding-top: 30px; }

@media (max-width: 782px) {
	.section-propose { padding-bottom: 20px; }
	.section-propose .container-fluid { max-width: 85%; }
	.section-propose .item { margin-bottom: 60px; font-size: 20px; line-height: 30px; }
	.section-propose .item:nth-child(2n+1) { clear: both; }
}

@media (max-width: 576px) {
	.section-propose { padding-bottom: 20px; }
	.section-propose .container-fluid { max-width: 100%; }
	.section-propose .item { margin-bottom: 40px; font-size: 16px; line-height: 24px; }
	.section-propose .thumbnail { margin-bottom: 20px; }
}

/* What is it?
------------------------------------------------------------*/
.section-what { background: #31363A; color: #fff; }
.section-what .section-title { color: #64B40D;	 }
.section-what .item { text-align: center; }
.section-what .thumbnail { display: flex; align-items:center; justify-content: center; width: 133px; height: 133px; margin: 0 auto 30px auto; background: #353535; border: 4px solid #64B40D; border-radius: 100%; }

.no-flexbox .section-what .thumbnail { padding-top: 30px; }

@media (max-width: 782px) {
	.section-what { padding-bottom: 20px; }
	.section-what .container-fluid { max-width: 80%; }
	.section-what .section-description br { display: none; }
	.section-what .item { margin-bottom: 60px; font-size: 20px; line-height: 30px; }
	.section-what .item:nth-child(2n+1) { clear: both; }
}

@media (max-width: 576px) {
	.section-what { padding-bottom: 20px; }
	.section-what .container-fluid { max-width: 100%; }
	.section-what .item { margin-bottom: 40px; font-size: 16px; line-height: 24px; }
	.section-what .thumbnail { margin-bottom: 20px; border-width: 8px; }	
}

/* Stay updated
------------------------------------------------------------*/
.section-mailling { background: #64B40D; color: #fff; text-align: center; }
.section-mailling img { }
.section-mailling .section-title { margin-top: 15px; margin-bottom: 10px; font-size: 48px; }
.section-mailling .section-description { margin-bottom: 30px; }
.section-mailling .button { display: inline-block; width: 290px; padding: 15px 0; margin: 0 auto; font-size: 22px; background: #31363A; color: #fff; text-decoration: none; border-radius: 8px; transition: all linear .3s; }
.section-mailling .button:hover { background: #fff; color: #31363A; transition: all linear .3s; }

@media (max-width: 782px) {

}

@media (max-width: 576px) {
	.section-mailling img { max-width: 80px; }	
	.section-mailling .section-title { margin-top: 10px; margin-bottom: 15px; font-size: 42px; }
	.section-mailling .section-description { max-width: 85%; font-size: 22px; line-height: 24px; }
	.section-mailling .button { width: 100%; font-size: 18px; font-weight: bold; }
}

/* Why is it needed?
------------------------------------------------------------*/
.section-needs { background: #fff; color: #404040; }
.section-needs .section-title { color: #58595B; }
.section-needs .section-description { color: #404040; }
.section-needs .item { display: flex; align-items:center; justify-content: center; text-align: center; color: #fff; }
.section-needs .big { margin-bottom: 46px; }
.section-needs .big .item { height: 230px; padding: 0 30px; }
.section-needs .big .index-1 { background: #F5A623; }
.section-needs .big .index-2 { background: #64B40D; }
.section-needs .big .index-3 { background: #149A97; }
.section-needs .big .index-4 { background: #E22D55; }
.section-needs .small .item { height: 75px; padding: 0 20px; margin-bottom: 24px; background: #31363A; font-size: 16px; line-height: 24px; }

.no-flexbox .section-needs .big .item { padding-top: 30px; }
.no-flexbox .section-needs .small .item { padding-top: 10px; }

@media (max-width: 782px) {
	.section-needs .big { margin-bottom: 24px; }
	.section-needs .big .item { height: 142px; padding: 0 15px; }
}

@media (max-width: 576px) {
	.section-needs .section-description { margin-bottom: 20px; }
	.section-needs .big { margin-bottom: 20px; }
	.section-needs .big .item { height: 75px; }
	.section-needs .small .item { height: 42px; margin-bottom: 1px;}

}

/* Where we operate
------------------------------------------------------------*/
.section-operate { background: #F7F8F9; color: #58595B; }
.section-operate .section-title { color: #58595B; }
.section-operate .section-description { color: #404040; }
.section-operate .item { padding: 0 30px; margin-bottom: 60px; text-align: center; color: #000; }
.section-operate .thumbnail { display: flex; align-items:center; justify-content: center; width: 133px; height: 133px; margin: 0 auto 20px auto; background: #fff; border: 6px solid #64B40D; border-radius: 100%; }

.no-flexbox .section-operate .thumbnail { padding-top: 30px; }

@media (max-width: 782px) {
	.section-operate { padding-bottom: 10px; }
}
	
@media (max-width: 576px) {
	.section-operate { padding-bottom: 20px; }
	.section-operate .item { padding: 0 12px; margin-bottom: 30px; }
	.section-operate .thumbnail { width: 118px; height: 118px; border-width: 8px; }	
	.section-operate .thumbnail img { max-width: 50px; max-height: 55px; }
}

/* Contact us
------------------------------------------------------------*/
.section-contact { background: #149A97; color: #fff; }
.section-contact .section-description { margin-bottom: 30px; }

form.contact { max-width: 612px; margin: 0 auto; }
form.contact p { position: relative; padding-top: 34px; margin-bottom: 18px; }
form.contact label { position: absolute; top: 56px; left: 24px; display: block; font-size: 18px; line-height: 1; color: #79E5CF; transition: all linear .2s; }
form.contact label.out { top: 0; color: #fff; transition: all linear .2s; }
form.contact input[type=text],
form.contact input[type=email] { display: block; width: 100%; padding: 20px; margin: 0; font-size: 18px; line-height: 1; color: #79E5CF; background: #169693; border: 1px solid #58C2AC; border-radius: 4px; outline: none; -webkit-appearance: none; appearance: none; transition: all linear .3s; }
form.contact input[type=text]:focus,
form.contact input[type=email]:focus { color: #79E5CF; background: #404040; transition: all linear .3s; }
form.contact .message { margin-top: 40px; }
form.contact textarea { display: block; width: 100%; padding: 20px; margin: 0; font-size: 18px; line-height: 28px; color: #79E5CF; background: #169693; border: 1px solid #58C2AC; border-radius: 4px; outline: none; -webkit-appearance: none; appearance: none; transition: all linear .3s; }
form.contact textarea:focus { color: #79E5CF; background: #404040; transition: all linear .3s; }
form.contact input[type=submit] { cursor: pointer; display: block; width: 290px; padding: 20px; margin: 0 auto; font-size: 22px; line-height: 1; color: #79E5CF; text-align: center; background: #169693; border: 1px solid #58C2AC; border-radius: 4px; outline: none; -webkit-appearance: none; appearance: none;  transition: all linear .3s; }
form.contact .submit { padding-top: 20px; margin: 0; }
form.contact input[type=submit]:hover { background: #58C2AC; color: #fff; transition: all linear .3s; }

form.contact .error label { color: #F8E71C; transition: all linear .3s; }
form.contact .error input[type=text],
form.contact .error input[type=email],
form.contact .error textarea { border-color: #F8E71C; transition: all linear .3s; }

form.contact .return { display: none; padding: 20px; margin-top: 24px; border-radius: 4px; }
form.contact .return.success { background: #58C2AC; color: #fff; }
form.contact .return.error { background: #F8E71C; color: #333; }

@media (max-width: 782px) {
	form.contact { max-width: 490px; }
}

@media (max-width: 576px) {
	form.contact p { padding-top: 26px; }
	form.contact label { top: 46px; left: 18px; font-size: 16px; }
	form.contact input[type=text],
	form.contact input[type=email] { padding: 18px; font-size: 16px; }
	form.contact .message { margin-top: 0; }
	form.contact textarea { font-size: 16px; line-height: 24px; }
	form.contact p.submit { padding-top: 0; }
	form.contact input[type=submit] { width: 100%; }
	form.contact .return { padding: 18px; }
}
