/* CSS RESET */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin:0; padding:0; }
html,body { margin:0; padding:0; }
table { border-collapse:collapse; border-spacing:0; }
fieldset,img { border:0; }
ol,ul { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; }

/* ================
   	  MAIN RULES 
   ================ */   
body { font-family: 'Source Sans Pro', sans-serif; background-color:#007da5; }
a { text-decoration:none; color:inherit; }
.clear { clear:both; }
.sprite { background-image:url(../IMG/sprite.png); }
.blue { color:#007da5; }

.main_wrap { padding:40px 0; background-color:#FFF; } 

.main_container { width:1140px; margin:0 auto; }

.main_menu { width:245px; float:left; color:#007da5; }
.main_menu ul { border-top:solid 3px #007da5; }
.main_menu li { border-bottom:solid thin #dadada; }
.main_menu a { position:relative; display:block; padding:20px 10px; text-transform:uppercase; color:#007da5; font-size:14px; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; }
.main_menu a:after { content:''; background-image:url(../IMG/sprite.png); height:16px; width:8px; display:block; position:absolute; right:5px; top:0; bottom:0; margin:auto; background-size:1800%; background-position:-103px -1px; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; }
.main_menu a:hover, .main_menu .active a { opacity:0.4; }

.main_content { float:right; width:820px; color:#474747; min-height:400px; }
.main_content p, .main_content img, .main_content ul { margin-bottom:25px; font-weight:300; line-height:24px; }
.main_content ul { list-style:circle; padding-left:20px }

.main_title { text-transform:uppercase; font-size:18px; font-weight:600; margin-bottom:30px  }

.main_form input, .main_form textarea { background:none; border:solid 1px #c8c8c8; text-transform:uppercase; padding:10px; font-family: 'Source Sans Pro', sans-serif; resize:none; outline:none; }
.main_form ::-webkit-input-placeholder { color:#474747; }
.main_form :-moz-placeholder { color:#474747; opacity:1; }
.main_form ::-moz-placeholder { color:#474747; opacity:1; }
.main_form :-ms-input-placeholder { color:#474747; }
.main_form textarea:focus, .main_form input:focus { border-color:#007da5; }
.main_form button { margin-top:15px;background:none; border:none; outline:none; text-transform:uppercase; color:#007da5; cursor:pointer; font-size:18px; font-family: 'Source Sans Pro', sans-serif; padding:0px; padding-right:15px; position:relative; }
.main_form button:after { content:''; display:block; position:absolute; height:16px; width:8px; right:0px; top:0; bottom:0; margin:auto; background-image:url(../IMG/sprite.png);  background-size:1800%; background-position:-103px -1px; }
.main_form button:hover, .main_form button:focus { opacity:0.5; }

.main_form input:nth-of-type(1), .main_form input:nth-of-type(3) { float:left; width:375px; margin-bottom:10px; }
.main_form input:nth-of-type(2), .main_form input:nth-of-type(4) { float:right; width:375px; margin-bottom:10px; }

.main_form input:nth-of-type(5) { width:798px; margin-top:15px; margin-bottom:10px } 

.main_form textarea { width:798px; } 

input, textarea, button { outline:none; }



/* ================
   	  	HEADER 
   ================ */ 
header { padding:30px 0 15px; background-color:#f6f6f6; margin-bottom:68px; }
header:after { content:''; display:block; position:absolute; width:100%; height:153px; left:0; top:0; z-index:99; -webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.05); -moz-box-shadow:0px 5px 5px 0px rgba(0,0,0,0.05); box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.05); z-index:5; }
header section.main_container { position:relative; z-index:20; }
header .main_container:after { content:''; display:block; clear:both; }



/*  LOGO  */
.logo { width:275px; height:110px; display:block; background-image:url(../IMG/logo.png); background-size:contain; background-repeat:no-repeat; z-index:50; float:left; }
.logo a { display:block; text-indent:-2000em; height:110px; }



/* LANGUAGES */
#languages { position:absolute; left:0; right:0; margin:auto; text-align:right; top:15px; z-index:15; }
#languages a { text-transform:uppercase; font-size:13px; color:#6e6e6e; position:relative; display:inline-block; padding-left:10px; font-weight:400; }
#languages a:after { display:block; content:''; position:absolute; right:0; top:0; bottom:0; margin:auto; margin-right:-6px; width:1px; height:13px; background-color:#0680a7; }
#languages a:last-of-type:after { display:none; }
#languages .active { color:#0680a7; }



/* MENU */
nav { float:left; }
#menu { margin-top:88px; margin-left:20px; }
#menu li { display:inline-block; text-transform:uppercase; color:#007da5; font-size:16px; font-weight:700; margin-right:35px; position:relative; }
#menu li:last-of-type { margin-right:0; }
#menu li a:after { display:block; content:''; position:absolute; bottom:0; left:0; right:0; margin:auto; margin-bottom:-5px; width:0px; height:1px; background-color:#007da5; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; }
#menu li a:hover:after, #menu .active a:after { width:100%; }



/* SEARCH */
#search { float:right; position:relative; margin-top:88px; }
#search:after { display:block; content:''; position:absolute; bottom:0; right:0; margin-bottom:-5px; height:1px; width:0px; background-color:#6e6e6e; transition:all .2s ease-out .5s; -moz-transition:all .2s ease-out .5s; -webkit-transition:all .2s ease-out .5s;  }
#search input[type="text"] { float:left; width:0px; padding-right:5px; line-height:20px; color:#6e6e6e; font-family: 'Source Sans Pro', sans-serif; background-color:transparent; border:none; text-transform:uppercase; opacity:0; transition:all .2s ease-out .5s; -moz-transition:all .2s ease-out .5s; -webkit-transition:all .2s ease-out .5s; }
#search ::-webkit-input-placeholder { color:#6e6e6e; }
#search :-moz-placeholder { color:#6e6e6e; opacity:1; }
#search ::-moz-placeholder { color:#6e6e6e; opacity:1; }
#search :-ms-input-placeholder { color:#6e6e6e; }

#search button { float:right; height:20px; width:20px; background-position:-5px -5px; background-color:transparent; border:none; cursor:pointer; opacity:0.5; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; } 
#search button:hover { opacity:1; }
#search:hover input[type="text"] { width:160px; opacity:1; transition-delay:0s; -moz-transition-delay:0s; -webkit-transition-delay:0s; }
#search:hover:after { width:100%; transition-delay:0s; -moz-transition-delay:0s; -webkit-transition-delay:0s; }



/* SUBMENU */
#submenu { position:absolute; width:100%; top:153px; left:0; background-color:#FFF; border-bottom:solid thin #dadada; }

#submenu_wrapper { text-align:center; position:relative; }
#submenu_wrapper > li { display:inline-block; text-transform:uppercase; color:#474747; font-size:16px; font-weight:400; position:relative; }
#submenu_wrapper > li > a {  padding:25px 40px 25px 20px; display:inline-block; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; cursor:pointer; }
#submenu_wrapper > li > a:after { display:block; position:absolute; content:''; right:20px; top:0; bottom:0; width:15px; height:7px; margin:auto; background-image:url(../IMG/sprite.png); background-position:-6px -39px; }

.submenu_list { position:absolute; width:100%; top:70px; text-align:left; z-index:80; overflow-y:hidden; max-height:0px; visibility:collapse; opacity:0; overflow:hidden; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; }
.submenu_list a { display:block; font-size:15px; font-weight:300; padding:10px 0px; background-color:rgba(246, 246, 246, 0.9); transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; }

#submenu_wrapper > li:hover > a { background-color:#f6f6f6; }
#submenu_wrapper > li:hover > .submenu_list { opacity:1; visibility:visible; max-height:500px; }
#submenu_wrapper > li:hover > .submenu_list a { padding:10px 20px; }
.submenu_list a:hover { background-color:#FFF; }

#submenu_wrapper > .active > a { color:#CCC; }


/* ================ END HEADER ================ */



/* ================
   	 PAGE CONTENT 
   ================ */ 

#slideshow { position:relative; }

#teaser_content { background-color:#FFF; padding:30px 0; }
#teaser_content .main_container { text-align:center; }
#teaser_content article { text-align:center; width:260px; display:inline-block; color:#929292; margin:0px 50px; cursor:pointer; }
#teaser_content article h3 { font-size:20px; text-transform:uppercase; font-weight:700; margin:20px auto 10px; }
#teaser_content article .icon { width:105px; height:105px; background-color:#a3a2a5; margin:auto; border-radius:100%; position:relative; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out; }
#teaser_content article span { display:block; position:absolute; left:0; right:0; bottom:0; top:0; margin:auto; }
#teaser_content .chip { background-position:-2px -59px; width:80px; height:52px; }
#teaser_content .computer { background-position:-96px -59px; width:59px; height:54px; }
#teaser_content .blocs { background-position:-169px -62px; width:47px; height:47px; }

#teaser_content article:hover { color:#007da5; }
#teaser_content article:hover .icon { background-color:#007da5; }

.center_content { width:820px; margin:0 auto; min-height:400px; }
.center_content p { margin-bottom:25px; font-weight:300; line-height:24px; }

.map_wrap #google-map { height:360px; }

.left_col { width:260px; float:left; }
.right_col { width:820px; float:right; }

#contacts { min-height:500px; }
#contacts p { margin-bottom:25px; font-weight:300; line-height:24px; color:#848487; font-size:14px; }
#contacts a { color:#007da5; }

.main_content .products_list { list-style:none; padding:40px 0; }
.products_list:after, .applications_list:after { display:block; content:''; clear:both; }
.products_list li { width:401px; }
.products_list .content { width:176px; }

.applications_list li { width:540px; }
.applications_list .content { width:315px; }

.teaser_block { margin-bottom:15px; cursor:pointer; }
.teaser_block .image { width:200px; height:170px; background-size:cover; background-position:center; float:left; }
.teaser_block .content { float:right; background-color:#f8f8f7; padding:28px 12px; height:114px; transition:all .2s ease-out; -moz-transition:all .2s ease-out; -webkit-transition:all .2s ease-out;  }
.teaser_block .content h4 { color:#007da5; margin-bottom:20px; font-size:16px; font-weight: 700; }
.teaser_block .content p { line-height:15px; font-size:13px; height:63px; overflow:hidden; }
.teaser_block:nth-of-type(odd) { float:left; }
.teaser_block:nth-of-type(even) { float:right; }
.teaser_block:hover .content { background-color:#d7d7d7; }

#product { position:relative; }
#product .main_title span { font-weight:500; }
#product .description { width:500px; float:left; }
#product .gallery { width:240px; float:right; }
#product .content { margin:50px 0; }
#product .content > ul { list-style:none; padding:0; display:table; width: 100%; border-spacing: 0px; }
#product .content > ul:after { content:''; display:block; clear:both; }
#product .content > ul li { position:relative; display:table-cell; text-transform:uppercase; font-size:14px; }
#product .content > ul li:after { display:block; content:''; position:absolute; right:10px; height:20px; width:22px; top:0; bottom:0; margin:auto; background-image:url(../IMG/sprite.png); background-position:-154px -33px; }
#product .content > ul li a { display:block; padding:15px 10px; outline:none; border:solid thin #e4e4e4; position:relative; z-index:2; }
#product .content > ul li a:hover, #product li.ui-state-active a { color:#007da5; }
#product .content > ul li:hover:after { background-position:-127px -33px; }
#product .content > ul li.ui-state-active:after { background-position:-127px -33px; }
#product .content > ul li.ui-state-active a { border-color:#007da5; }

#tabs_container { min-height:300px; }
#tabs_container > div a { color:#007da5; display:block; margin-bottom:15px }
#tabs_container > div a:before { content:''; display:inline-block; height:12px; width:13px; vertical-align:middle; background-image:url(../IMG/sprite.png); background-position:-181px -6px; margin-right:10px; }
#tabs_container > div a:hover { text-decoration:underline; }

.related_content { padding-top:100px; }
.related_content ul { list-style:none; padding:0; }
.related_content li { float:left; width:135px; font-size:13px; line-height:normal; margin-right:25px; cursor:pointer; }
.related_content .image { height:85px; margin-bottom:20px; background-size:contain; background-repeat:no-repeat; }
.related_content li h6 { color:#007da5; font-size:13px; margin-bottom:5px; font-weight:400; }
.related_content li p { line-height:normal; margin:0; max-height: 68px; overflow: hidden; }
.related_content li:hover h6 { opacity:0.6; }

.back_link { display:block; padding-left:15px; position:absolute; bottom:0; left:0; margin-left:-320px; text-transform:uppercase; color:#007da5; font-size:18px; }
.back_link:before { content:''; display:block; position:absolute; height:16px; width:8px; left:0; top:0; bottom:0; margin:auto; background-image:url(../IMG/sprite.png);  background-size:1800%; background-position:-103px -1px; margin-right:10px; transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); }
.back_link:hover { opacity:0.5; }

#detail-app .left_col { width:320px; }
#detail-app .left_col .photo { height:290px; background-size:cover; }

#detail-app .right_col { width:790px; }
#detail-app .right_col .main_title { color:#007da5; }
#detail-app .right_col > p { margin-bottom:25px; font-weight:300; line-height:24px; }

.detail-nav { margin-top:50px; }
.detail-nav:after { content:''; display:block; clear:both; }
.detail-nav a { position:relative; display:block; float:left; text-transform:uppercase; color:#007da5; font-size:18px; }
.detail-nav a:hover { opacity:0.5; }
.detail-nav .prev { padding-left:15px; margin-right:20px }
.detail-nav .prev:before { content:''; display:block; position:absolute; height:16px; width:8px; left:0; top:0; bottom:0; margin:auto; background-image:url(../IMG/sprite.png);  background-size:1800%; background-position:-103px -1px; margin-right:10px; transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); }
.detail-nav .back { float:right; }
.detail-nav .back, .detail-nav .next { padding-right:15px; }
.detail-nav .back:after, .detail-nav .next:after { content:''; display:block; position:absolute; height:16px; width:8px; right:0; top:0; bottom:0; margin:auto; background-image:url(../IMG/sprite.png);  background-size:1800%; background-position:-103px -1px; margin-left:10px; }

.news_list { max-height:0; overflow:hidden; transition:max-height .3s ease-out; }
.news_list:first-of-type { max-height:700px; }
.news_list .content h4 { margin-bottom:5px; } 
.news_list .date { font-weight:300; font-size:13px; color:#007da5; text-transform:uppercase; display:block; margin-bottom:10px; }

.news-nav { margin-top:40px; text-align:center; }
.news-nav span { color:#007da5; cursor:pointer; }
.news-nav span:after { content:'+'; font-size:60px; }
.news-nav span:hover:after { color:#474747 }



/* ================ END PAGE CONTENT ================ */



/* ================
   	  	FOOTER 
   ================ */ 
   
#top_footer { padding:30px 0; color:#FFF; background-size:cover; background-position: center; }
#top_footer section h4 { font-size:30px; text-transform:uppercase; }

#newsletter { width:380px; float:left; }
#newsletter_form { margin-top:18px; }
#newsletter_form:after { display:block; content:''; clear:both; }
#newsletter_form label { font-weight:300; font-size: 14px; display: block; width: 280px; }
#newsletter_form input, #newsletter_form button { margin-top:15px; outline:none; background:none; border:none; text-transform:uppercase; color:#FFF; padding:10px; border:solid thin #FFF; float:left; font-family: 'Source Sans Pro', sans-serif; height:17px; }
#newsletter_form ::-webkit-input-placeholder { color:#FFF; }
#newsletter_form :-moz-placeholder { color:#FFF; opacity:1; }
#newsletter_form ::-moz-placeholder { color:#FFF; opacity:1; }
#newsletter_form :-ms-input-placeholder { color:#FFF; }
#newsletter_form input[type="text"] { width:200px; }
#newsletter_form button { border-left:none; display:block; height:auto; color:transparent; width:24px; position:relative; cursor:pointer;  }
#newsletter_form button:after { content:''; display:block; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; width:8px; height:18px; background-image:url(../IMG/sprite.png); background-position:-87px -1px; background-size:1800%; }
#newsletter_form button:hover, #newsletter_form button:focus { background-color:#a3a2a5 }

#news_events { float:right; padding-left:30px; border-left:solid thin #FFF; width:689px; position:relative; padding-bottom:10px; }
#news_events .carousel { margin-top:20px; }
#news_events .carousel .item { font-size:13px; display:inline-block; cursor:pointer; }
#news_events .carousel .item p { max-height:60px; width:210px; overflow:hidden; font-size:16px; font-weight:300; }
#news_events .carousel .item .date { font-weight:200; display:block; margin-top:10px; font-size:12px; text-transform:uppercase; letter-spacing:1px; }
#news_events .carousel .item:hover p { text-decoration:underline;  }


#partners { width:650px; background-image:url(../IMG/partners.png); background-size:100%; background-position:center; height:118px; float:left; background-repeat:no-repeat; }
#information { float:right; width:380px; padding-left:30px; padding-bottom:20px; border-left:solid thin #FFF; position:relative; }
#information h4 { line-height: 23px; margin-bottom:15px; }
#information ul { height:60px; overflow:hidden; }
#information li { display:inline-block; width:200px; vertical-align:top; height:20px; overflow:hidden; }
#information li:nth-of-type(2n) { width:auto; }
#information li span { text-transform:uppercase; font-weight:700; }
#information li a { font-weight:700; }
#information li a:hover { text-decoration:underline; }

#bottom_footer { padding:10px 0; }

#bottom_footer .social { float:left; }
#bottom_footer .social a { text-indent:-999px; height:32px; width:32px; display:inline-block; margin-right:5px; }
.linkedin { background-position:-56px -2px; }
.youtube { background-position:-90px -2px; }
#bottom_footer .social a:hover { opacity:0.7; }

#bottom_footer .site_info { float:right; color:#FFF; }
#bottom_footer .site_info p { line-height:32px; font-size:13px; }
#bottom_footer .site_info span, #bottom_footer .site_info a { text-transform:uppercase; font-weight:700; }
#bottom_footer .site_info a:hover { border-bottom:solid thin #FFF; }


/* ================ END FOOTER ================ */



/* FORMS VALIDATION */

.main_form p.error, .main_form p.success { margin-bottom:15px; color:#000; }
.main_form span.error { padding:2px 10px; display:inline-block; border-right:solid thin #CCC; margin-top:5px; font-size:14px; }

.main_form span.error:first-of-type { padding-left:0; }
.main_form span.error:last-of-type { border:none; } 