/*YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) - http://cssreset.com*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

/* css */

body, html{
    min-height: 100%;
    background-color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
}

a{
    color: #3880d2;
}

.buttonBlock{
    font-size: 12px;
    line-height: 58px;
    font-weight: 700;
    text-align: center;
    height: 58px;
    margin: 0 20px 80px 20px;
    color: #3880d2;
    text-transform: uppercase;
    border: 1px solid #ccc;
    border-radius: 29px;
    display: none;
    cursor: pointer;
}
.buttonBlock:after{
    content: '';
    border-right: 2px solid #3880d2;
    border-bottom: 2px solid #3880d2;
    width: 4px;
    height: 4px;
    display: inline-block;
    margin-left: 10px;
    position: relative;
}
.buttonBlock.seeMore:before{
    content: 'Cliquer pour plus'
}
.buttonBlock.seeMore.active:before{
    content: 'Merci, il a obtenu!'
}
.buttonBlock.seeMore:after{
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: -3px;
}
.buttonBlock.seeMore.active:after{
    -moz-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    top: 0;
}

.container{
    max-width: 1260px;
    margin: 0 auto;
    overflow-x: hidden;
}

.clearfix:after{
    content: '';
    display: table;
    clear: both;
}

.img{
    height: 340px;
    width: 100%;
    background-color: #000;
    position: relative;
    overflow: hidden;
}
.img.n1{
    height: 680px;
}
.img .bg{
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-position: bottom center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    z-index: 0;

    -webkit-transition: -webkit-transform 4s ease-in-out;
    -moz-transition: -moz-transform 4s ease-in-out;
    -ms-transition: -ms-transform 4s ease-in-out;
    -o-transition: -o-transform 4s ease-in-out;
    transition: transform 4s ease-in-out;
}
.touch .img .bg{
    top: auto;
    bottom: 0;
    height: 100%;
}
.img .bg.map{
    opacity: .4;
}
.img.n1 .bg{
    height: 100%;
}
.img:hover .bg{
    -moz-transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
.img.n1 .bg{
    height: 100%;
}

.img.n1 .bg{
    background-image: url(images/shutterstock_196379804.jpg);
}
.img.n2 .bg{
    background-image: url(images/shutterstock_176123420.jpg);
}
.img.n3 .bg{
    background-image: url(images/shutterstock_89050813.jpg);
}
.img.n4 .bg{
    background-image: url(images/shutterstock_112074632.jpg);
}
.img.n5 .bg{
    background-image: url(images/map.jpg);
}

/* TEXT BLOCKS */

.block{
    background-color: #fff;
    position: relative;
}
.block h3{
    font-weight: 300;
    font-size: 48px;
    line-height: 52px;
    text-align: center;
    padding-top: 65px;
    margin: 0 0 15px 0;
}
.block .note{
    width: 600px;
    margin: 0 auto;
    color: #333;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    text-align: center;
    margin-bottom: 30px;
}
.block.n3 .note{
    margin-bottom: 80px;
}
.block.n4 .note{
    margin-bottom: 70px;
}

.block .featureList{
    color: #999;
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 70px;
    margin: 0 auto;
    width: 1200px;
}
.block .featureList li{
    float: left;
    width: 300px;
    text-align: center;
}
.block .featureList .title{
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: #333;
    display: block;
    text-transform: uppercase;
    margin: 5px 0 10px 0;
}
.block.n1 .featureList li{
    height: 280px;
}
.block.n2 .featureList li{
    height: 300px;
}
.block .featureList li.marginLeft{
    margin-left: 300px;
}
.block .listIcon{
    background: url(images/iconSprite.png) no-repeat;
    width: 300px;
    height: 120px;
    display: block;
}
.block .listIcon.n2{
    background-position: -300px 0;
}
.block .listIcon.n3{
    background-position: -600px 0;
}
.block .listIcon.n4{
    background-position: 0 -120px;
}
.block .listIcon.n5{
    background-position: -300px -120px;
}
.block .listIcon.n6{
    background-position: -600px -120px;
}
.block .listIcon.n7{
    background-position: 0 -240px;
}
.block .listIcon.n8{
    background-position: -300px -240px;
}
.block .listIcon.n9{
    background-position: -600px -240px;
}
.block .listIcon.n10{
    background-position: 0 -360px;
}
.block .listIcon.n11{
    background-position: -300px -360px;
}
.block .listIcon.n12{
    background-position: -600px -360px;
}
.block .listIcon.n13{
    background-position: 0 -480px;
}
.block .listIcon.n14{
    background-position: -300px -480px;
}

.block .phoneFeatureDiv{
    width: 880px;
    margin: 0 auto;
}
.block .phoneFeatureList{
    width: 280px;
    padding-bottom: 60px;
}
.block .phoneFeatureList.left{
    float: left;
}
.block .phoneFeatureList.right{
    float: right;
}
.block .phoneFeatureList li{
    width: 280px;
    text-align: center;
    color: #999;
    font-size: 14px;
    line-height: 20px;
    height: 170px;
}
.block .phoneFeatureList i{
    width: 58px;
    height: 58px;
    border: 1px solid #3880d2;
    border-radius: 50%;
    display: block;
    margin: 0 auto 15px auto;
    color: #13c349;
    font-weight: 600;
    font-size: 22px;
    font-style: normal;
    line-height: 56px;
}

.block.n1{
    padding-top: 140px;
}
.block.footer{
    height: 80px;
    text-align: center;
    color: #999;
    font-size: 12px;
    line-height: 20px;
    padding-top: 40px;
}

.block.n4 .about{
    width: 880px;
    margin: 0 auto;
    padding-bottom: 100px;
}
.block.n4 .left, .block.n4 .right{
    color: #999;
    font-size: 14px;
    line-height: 20px;
    width: 430px;
}
.block.n4 .left{
    float: left;
    padding-right: 10px;
}
.block.n4 .right{
    float: right;
    padding-left: 10px;
}

.header{
    width: 100%;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
}
.header h4{
    font-weight: 400;
    font-size: 36px;
    line-height: 30px;
}
.header i{
    position: relative;
    display: inline-block;
    width: 74px;
    height: 74px;
    border: 3px solid #fff;
    margin: 100px 0 25px 0;
    border-radius: 50%;
}
.header .download{
    color: #ccc;
    font-size: 14px;
    line-height: 30px;
    display: block;
    margin-top: 5px;
}
.header i:before{
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    content: '';
}
.header i.video:before{
    background: url(images/play.svg) no-repeat;
    width: 28px;
    height: 36px;
    margin: auto 20px auto auto;
}
.header i.reader:before{
    background: url(images/reader.svg) no-repeat;
    width: 58px;
    height: 58px;
    margin: 3px 4px auto auto;
}

.img.n5 .header h4{
    padding: 50px 0 25px 0;
}
.img.n5 .header p{
    font-size: 18px;
    line-height: 30px;
    width: 600px;
    margin: 0 auto;
}

h1{
    width: 100%;
    text-align: center;
    font-weight: 400;
    font-size: 48px;
    line-height: 60px;
}
.mouse{
    display: block;
    margin: 60px auto 0 auto;
    width: 41px;
    height: 75px;
    background: url(images/mouse.png) no-repeat;
}

.n1 .header .logo{
    background: url(images/logo.svg) no-repeat;
    width: 188px;
    height: 46px;
    display: inline-block;
    margin: 80px 0 20px 0;
    font-size: 0;
    text-indent: -1000px;
    overflow: hidden;
}

.img.n5 .contacts{
    margin-top: 30px;
    text-align: center;
    height: 200%;
}
.img.n5 .contacts li{
    vertical-align: top;
    display: inline-block;
    font-size: 14px;
    line-height: 20px;
}
.img.n5 .contacts li.middle{
    margin: 0 180px;
}
.img.n5 .contacts b{
    background: url(images/contactsSprite.png) no-repeat;
    width: 58px;
    height: 58px;
    border: 1px solid #fff;
    display: block;
    margin: 0 auto 10px auto;
    border-radius: 50%;
}
.img.n5 .contacts b.n2{
    background-position: -58px 0;
}
.img.n5 .contacts b.n3{
    background-position: -116px 0;
}
.img.n5 .contacts a{
    color: #fff;
}

.phoneThreshold{
    position: absolute;
    left: 50%;
    z-index: 5;
}
.phone{
    position: absolute;
    left: 0;
    background: url(images/phonesSprite.png) no-repeat;
}
.phoneThreshold.n1{
    top: 0;
}
.phoneThreshold.n2{
    top: 320px;
}
.phone.n1{
    width: 580px;
    height: 342px;
    top: -260px;
    margin-left: -290px;
}
.touch .phone.n1{
    top: -200px;
}
.phone.n2{
    background-position: -601px 0;
    width: 319px;
    height: 573px;
    top: 0;
    margin-left: -140px;
}

.loadVideo{
    cursor: pointer;
}

.videoWrapper{
    display: none;
    opacity: 0;
    background-color: rgba(0,0,0,.6);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;

    -webkit-transition: opacity 200ms ease-in-out;
    -moz-transition: opacity 200ms ease-in-out;
    -ms-transition: opacity 200ms ease-in-out;
    -o-transition: opacity 200ms ease-in-out;
    transition: opacity 200ms ease-in-out;
}
.videoWrapper .video{
    width: 80%;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.videoResponsive{
    position: relative;
    margin-top: -37.5%;
    margin-top: -28.125%;
    padding-bottom: 75%; /* 4:3 */
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    /* overflow: hidden; */
}
.videoResponsive iframe, .videoResponsive object, .videoResponsive embed, .videoResponsive video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.videoWrapper .closeVideo{
    width: 44px;
    height: 44px;
    border: 2px solid #fff;
    border-radius: 50%;
    position: absolute;
    top: -24px;
    right: -24px;
    cursor: pointer;
    background-color: rgba(0,0,0,.6);
}
.videoWrapper .closeVideo:before, .videoWrapper .closeVideo:after{
    content: '';
    width: 2px;
    height: 24px;
    position: absolute;
    left: 50%;
    top: 10px;
    margin-left: -1px;
    background-color: #fff;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.videoWrapper .closeVideo:after{
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.languages{
    position: absolute;
    top: 30px;
    right: 30px;
}
.languages ul{
    padding-left: 10px;
    display: inline-block;
}
.languages.active ul{
    background-color: rgba(0,0,0,.5);
    border-radius: 20px;
    padding: 3px;
}
.languages li{
    display: none;
    height: 34px;
    line-height: 34px;
    cursor: pointer;
    border-radius: 17px;
    font-size: 14px;
}
.languages li.active{
    margin: 1px;
    padding: 0 20px;
    display: inline-block;
    text-decoration: underline;
}
.languages.active li{
    display: block;
    text-decoration: none;
    padding: 0 25px;
}
.languages.active li:hover{
    text-decoration: underline;
}
.languages.active li.active+li{
    padding-left: 25px !important;
}
.languages.active li.active{
    margin: 0;
    color: #999;
    padding-left: 25px !important;
    cursor: default;
}
.languages li.active:hover{
    margin: 0;
    border: 1px solid #fff;
}
.languages.active li.active:hover{
    border: 0;
    text-decoration: none;
}

@media only screen and (min-width : 320px) and (max-width : 649px) {

    .languages{
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 10px auto auto auto;
        text-align: center;
    }
    .languages.active li{
        display: inline-block;
    }
    .languages li.active, .languages li.active:hover{
        padding: 0;
        margin: 0;
        border: none;
    }
    .languages.active li.active{
        padding-right: 25px;
    }
    .languages.active li.active{
        background-color: #fff;
    }
    .languages.active li:not(.active)+li{
        padding-left: 0;
    }
    .languages.active li:last-child:not(.active){
        padding: 0 25px 0 0px;
    }
    .languages.active li:first-child:not(.active){
        padding: 0 25px 0 25px;
    }
    .languages.active li:hover{
        text-decoration: none;
    }

    .phone.n1{
        width: 460px;
        margin-left: -230px;
        background-size: 720px auto;
    }

    .collapsible{
        max-height: 0;
        overflow: hidden;
        
        -webkit-transition: max-height 400ms ease-in-out;
        -moz-transition: max-height 400ms ease-in-out;
        -ms-transition: max-height 400ms ease-in-out;
        -o-transition: max-height 400ms ease-in-out;
        transition: max-height 400ms ease-in-out;
    }
    .collapsible.c1.opened{
        max-height: 2200px;
    }
    .collapsible.c2.opened{
        max-height: 2300px;
    }
    .collapsible.c3.opened{
        max-height: 1100px;
    }
    .collapsible.c4.opened{
        max-height: 360px;
    }

    .block .phoneFeatureDiv{
        width: 280px;
    }
    .block .phoneFeatureList{
        float: none;
        padding-bottom: 0;
    }
    .block .phoneFeatureList li{
        height: 180px;
    }

    .block.n4 .about{
        width: auto;
        margin: 0 20px;
        padding-bottom: 0;
    }
    .block.n4 .left, .block.n4 .right{
        width: auto;
        float: none;
        padding: 0 0 40px 0;
    }

    .block .featureList{
        width: 300px;
    }
    .block .featureList li.marginLeft{
        margin-left: 0;
    }

    .img.n5 .header h4{
        padding-top: 70px;
    }
    .img.n5 .header p{
        display: none;
    }

    .n1 .header .logo{
        margin: 60px 0 0 0;
    }

    h1{
        font-size: 24px;
        line-height: 30px;
    }

    .buttonBlock{
        display: block;
    }

    .block .note{
        width: auto;
        font-size: 16px;
        margin: 0 20px 50px 20px;
    }
    .img.n5 .header p{
        width: auto;
    }

    .img{
        height: 260px;
    }

    .img.n1{
        height: 520px;
    }

    .img.n5{
        height: 500px;
    }

    .header h4{
        font-size: 24px;
        line-height: 30px;
    }

    .header i{
        margin: 70px 0 10px 0;
    }

    .block h3{
        font-size: 36px;
    }

    .block.n2 .featureList li{
        height: auto;
        margin-bottom: 40px;
    }

    .block .featureList{
        padding-bottom: 0;
    }

    .block.n3 .note, .block.n4 .note{
        margin-bottom: 40px;
    }

    .img.n5 .contacts{
        margin: 30px 0 0 60px;
        text-align: left;
    }
    .img.n5 .contacts li{
        margin-bottom: 40px;
        height: 60px;
        display: block;
        font-size: 14px;
        line-height: 58px;
        position: relative;
        padding: 0 0 0 80px;
    }
    .img.n5 .contacts li:first-child{
        line-height: 20px;
        padding: 9px 0 0 80px;
        height: 51px;
    }
    .img.n5 .contacts li.middle{
        margin: 0 0 40px 0;
    }
    .img.n5 .contacts b{
        width: 58px;
        height: 58px;
        border: 1px solid #fff;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 50%;
    }

    .mouse{
        margin-top: 20px;
    }

    .phoneThreshold.n2{
        display: none;
    }

}

@media only screen and (min-width : 650px) and (max-width : 1024px) {

    .languages{
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 30px auto auto auto;
        text-align: center;
    }
    .languages.active li{
        display: inline-block;
    }
    .languages li.active, .languages li.active:hover{
        padding: 0;
        margin: 0;
        border: none;
    }
    .languages.active li.active{
        padding-right: 25px;
    }
    .languages.active li.active{
        background-color: #fff;
    }
    .languages.active li:not(.active)+li{
        padding-left: 0;
    }
    .languages.active li:last-child:not(.active){
        padding: 0 30px 0 0px;
    }
    .languages.active li:first-child:not(.active){
        padding: 0 25px 0 30px;
    }
    .languages.active li:hover{
        text-decoration: none;
    }

    .n1 .header .logo{
        margin: 180px 0 0 0;
    }
    
    .img{
        height: 500px;
    }

    .img.n1{
        height: 880px;
    }

    .header i{
        margin-top: 170px;
    }

    .img.n5 .header h4{
        padding-top: 70px;
    }

    .img.n5 .contacts{
        margin-top: 80px;
    }
    
    .block .featureList{
        width: 600px;
    }
    .block .featureList li.marginLeft{
        margin-left: 0;
    }

    .block .phoneFeatureDiv{
        width: 600px;
    }

    .block.n4 .about{
        width: 580px;
    }
    .block.n4 .left, .block.n4 .right{
        width: 280px;
    }

    .img.n5 .contacts li.middle{
        margin: 0 80px;
    }

    .phone.n2{
        display: none;
    }
}

@media only screen and (min-width : 1024px) and (max-width : 1280px) {

    .languages{
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 30px auto auto auto;
        text-align: center;
    }
    .languages.active li{
        display: inline-block;
    }
    .languages li.active, .languages li.active:hover{
        padding: 0;
        margin: 0;
        border: none;
    }
    .languages.active li.active{
        padding-right: 25px;
    }
    .languages.active li.active{
        background-color: #fff;
    }
    .languages.active li:not(.active)+li{
        padding-left: 0;
    }
    .languages.active li:last-child:not(.active){
        padding: 0 30px 0 0px;
    }
    .languages.active li:first-child:not(.active){
        padding: 0 25px 0 30px;
    }
    .languages.active li:hover{
        text-decoration: none;
    }

    .block .featureList{
        width: 900px;
        padding-bottom: 40px;
    }
    .block .featureList li.marginLeft{
        margin-left: 0;
    }
    .block .featureList li.marginLeft+li{
        margin-left: 300px;
    }

    .block .featureList li.halfMarginLeft{
        margin-left: 150px;
    }
}