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

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

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 10px;
}
 
::-webkit-scrollbar-track {
    background-color: #ebebeb;
}

::-webkit-scrollbar-thumb {
    background: #164B66; 
}


[canvas=container],
[off-canvas] {
    padding-top: 10px;
    padding-right: 0;
}

[canvas=container] {
    width: 67%;
}

[off-canvas] {
    padding-left: 1.66rem;
}

[class*=js-] {
    cursor: pointer;
}


.boutonrond {
    font-family: 'Avenir', sans-serif;
    display: inline-block;
    min-width: 210px;
    height: 45px;
    line-height: 40px;
    width: auto;
    border-radius: 50px;
    background-color: #dd1931;
    border: 0 !important;
    margin-left: -46px;
    margin-top: 8px;
    margin-bottom: 40px;
    /*background-image: url('img/fleche-hover.svg');
	background-size:20px;
	background-position:13px center;
	background-repeat:no-repeat;*/
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 0;
    /*transform: rotate(180deg);
	-webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;*/
    vertical-align: middle;
    transition: all .3s ease-in-out;
}

.boutonrond:hover {
    background-color: #ff1f45;
}

.fleche {
    width: 20px;
    transform: rotate(180deg);
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    vertical-align: middle;
}

.animatedModal {
    margin-left: -35%;
    outline: 90em solid rgba(12, 41, 58, .80);
}

header {
    text-align: center;
    font-family: 'Avenir', sans-serif;
}

header .logo {
    width: 135px;
    margin-top: 12px;
}

nav {
    padding-top: 8px;
}

nav ul li {
    display: inline-block;
    list-style-type: none;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    letter-spacing: 2px;
    background-image: url('img/point.png');
    background-repeat: no-repeat;
    background-position: right;
    background-size: 9px;
    padding-right: 20px;
    padding-left: 10px;
}

nav ul li a {
    color: #0F344C !important;
    text-decoration: none;
}

nav ul li a:hover {
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    color: #DD1931 !important;
}

li.no {
    background-image: none;
    padding-right: 10px;
}

.projets-resp {
    display: none;
}

.left,
.right,
.left2,
.right2 {
    display: inline-block;
    width: 46%;
}

.left,
.right2 {
    text-align: center;
    vertical-align: top;
}

.left img,
.right2 img {
    width: 80%;
    margin-top: 80px;
}

p,
ul,
a.lien-texte {
    color: #6F6F6E;
    font-family: 'Avenir';
    font-size: 16px;
    line-height: 26px;
    text-decoration: none !important;
}

h1 {
    font-family: 'Avenir';
    font-weight: lighter;
    font-size: 50px !important;
    line-height: 54px !important;
    color: #21354F;
    letter-spacing: 3px;
    padding-top: 55px !important;
}

#home h1 {
	font-size: 39px !important;
    line-height: 43px !important;
	margin-bottom:40px;
}

.right h1 {
    padding-top: 35px !important;
}

h2 {
    font-family: 'Avenir';
    font-weight: lighter;
    font-size: 28px;
    color: #FFF;
    letter-spacing: 3px;
    margin: 0;
    margin-left: 20px;
    display: inline-block;
    line-height: 28px;
    margin-bottom: 30px;
    margin-top: 15px;
}

.rouge {
    color: #DD1931;
}

.competences {
    display: inline-block;
    width: 32%;
    height: auto;
    text-align: center;
    vertical-align: top;
    color: #21354F;
    font-size: 22px;
    line-height: 24px;
    font-family: 'Avenir';
    font-weight: bold;
    margin-top: 45px;
    margin-bottom: 50px;
}

.competences img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    margin-bottom: 15px;
}

.bouton {
    font-family: 'Avenir';
    font-size: 15px;
    display: block;
    color: #DD1931;
    border: solid 2px #DD1931;
    border-radius: 24px;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    text-decoration: none;
    padding: 8px;
    padding-right: 20px;
    width: 250px;
    margin-top: 50px;
    text-align: center;
    letter-spacing: 2px;
    background-image: url('img/fleche.svg');
    background-position: 210px 9px;
    background-repeat: no-repeat;
    background-size: 18px;
    background-color: #FFF;
    cursor: pointer;
}

.bouton-petit {
    font-family: 'Avenir';
    font-size: 14px;
    display: block;
    color: #DD1931;
    border: solid 2px #DD1931;
    border-radius: 24px;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    text-decoration: none;
    padding: 4px;
    padding-right: 20px;
    width: 160px;
    margin-top: 25px;
    text-align: center;
    letter-spacing: 1px;
    background-image: url('img/fleche.svg');
    background-position: 130px 7px;
    background-repeat: no-repeat;
    background-size: 18px;
    background-color: #FFF;
    cursor: pointer;
}

.bouton:hover,
.bouton-petit:hover {
    background-color: #DD1931;
    color: #FFF;
    background-image: url('img/fleche-hover.svg');
}

.team {
    width: 25%;
    display: inline-block;
    vertical-align: top;
    margin: 3%;
    margin-top: 0;
}

.team2 {
    width: 42%;
    display: inline-block;
    vertical-align: top;
    margin: 3%;
    margin-top: 0;
}

.first {
    margin-left: 6%;
}

.picto {
    width: 75%;
    margin: auto;
    display: block;
}

h3 {
    font-family: 'Fangtasia';
    font-size: 55px;
    font-weight: 100;
    margin-bottom: 20px;
    margin-top: 30px;
    color: #DD1931;
    line-height: 25px;
}

.number-atelier {
    font-family: 'Fangtasia';
    font-size: 55px;
    font-weight: 100;
    color: #DD1931;
    line-height: 25px;
}

h4 {
    font-family: 'Avenir';
    font-size: 23px;
    color: #0F344C;
    font-weight: 500;
    line-height: 23px;
}

h5 {
    font-family: 'Avenir';
    font-size: 32px;
    margin-bottom: 10px;
    margin-top: 80px;
    line-height: 33px;
    color: #21354F;
    font-weight: normal;
}

.portrait {
    width: 80%;
    height: auto;
    margin: auto;
    display: block;
}

.texte-large {
    display: block;
    margin: auto;
    width: 88%;
}

.centre {
    text-align: center !important;
}

.centre p {
    display: block;
    margin-top: 45px;
    margin-bottom: 55px;
    width: 75%;
    margin-left: auto;
    margin-right: auto;
}

.photo-team,
.photo-large {
    width: 100%;
    height: auto;
    max-width: 1200px;
}

.photo-large-80 {
    width: 80%;
    height: auto;
    max-width: 1000px;
}

.legende {
    font-size: 12px;
    margin-top: 0;
}

.bouton.ctc {
    margin: auto;
}

.left.photo img,
.right2.photo img {
    width: 60%;
}

.animatedModal .container {
    width: 100%;
}

.croix {
    width: 20px;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 10px;
}

.imgprojet {
    height: auto;
    width: 70%;
}

.imgprojet img {
    width: 100%;
    height: auto;
    margin-bottom: -19px;
}

.description {
    height: auto;
    width: 30%;
    float: right;
    padding-left: 30px;
    padding-right: 30px;
}

.description,
.imgprojet {
    display: inline-block;
}

.champs {
    display: inline-block;
    height: 40px;
    width: 100%;
    margin-top: 15px;
    margin-bottom: 15px;
    border-radius: 24px;
    border: solid 2px #D9D9D9;
    font-size: 16px;
    padding-left: 15px;
    color: #6F6F6E;
    font-family: 'Avenir';
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}

.champs:focus,
textarea:focus {
    border: solid 2px #DD1931;
    outline: none;
}

textarea {
    display: inline-block;
    width: 100%;
    height: 200px;
    margin-top: 15px;
    margin-bottom: 15px;
    padding-top: 10px;
    border-radius: 24px;
    border: solid 2px #D9D9D9;
    font-size: 16px;
    padding-left: 15px;
    color: #6F6F6E;
    font-family: 'Avenir' !important;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}

article iframe {
    width: 100%;
    margin-top: 30px;
}

footer {
    height: 183px;
    width: 100%;
    margin-top: 90px;
    text-align: center;
}

.bloc-footer {
    width: 32.8%;
    display: inline-block;
    vertical-align: top;
    border-right: solid 1px #CFD2D5;
    height: 110px;
    text-align: center;
    color: #6F6F6E;
    font-family: 'Avenir';
    font-size: 14px;
    line-height: 16px;
    margin-top: 35px;
}

.bloc-footer img {
    width: 116px;
}

.lien-footer {
    color: #0F344C;
    text-decoration: none;
}

.lien-footer:hover {
    color: #DD1931;
}

.lien-footer:hover {
    border-bottom: 0;
}

.last {
    border-right: 0;
}

.last img {
    width: 57px;
}

.logo-fb {
    height: 32px;
    width: 32px;
    background-image: url('img/fb.svg');
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.logo-tw {
    height: 32px;
    width: 32px;
    background-image: url('img/tw.svg');
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.logo-ig {
    height: 32px;
    width: 32px;
    background-image: url('img/ig.svg');
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.logo-in {
    height: 32px;
    width: 32px;
    background-image: url('img/in.svg');
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.logo-be {
    height: 32px;
    width: 32px;
    background-image: url('img/be.svg');
    display: inline-block;
    margin-top: 10px;
    margin-bottom: 10px;
}

footer p a {
    font-size: 12px;
}

footer .ref a {
    text-decoration: none !important;
    border: 0 !important;
}

p.ref,
p.ref a {
    color: #CCC;
}

.modal-cs-item ul,
.modal-cs-item ul li {
    line-height: 21px !important;
}

.mix span {
    color: #0f344c !important;
    font-family: 'Avenir';
    font-size: 17px;
}

.cs-link {
    text-decoration: none !important;
}

.cs-link p {
    border: solid 1px #6F6F6E;
    border-radius: 15px;
    display: inline-block;
    width: 110px;
    text-align: center;
    font-size: 14px;
}

.cs-link p:hover {
    background-color: #6F6F6E;
    color: #FFF;
}

.case-study-lower {
    text-align: center;
    position: absolute;
    bottom: 20px;
}

button,
a,
a:focus,
a:active {
    outline: none !important;
}

article p a {
    color: #0F344C !important;
    text-decoration: none;
}

article p a:hover {
    color: #DD1931 !important;
}

.quote {
    font-size: 28px;
    line-height: 27px;
}

.auteur {
    font-style: italic;
}

.solidaire a {
    color: #DD1931 !important;
}

.solidaire a:hover {
    color: #21354F !important;
}

@media all and (min-width: 0px) and (max-width: 771px) {

    .projets-resp {
        display: block;
    }

    [off-canvas] {
        display: none;
    }

    [canvas=container] {
        width: 100%;
    }

    .controls {
        display: none !important;
    }

    .container {
        width: 100% !important;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        margin-top: 20px;
    }

    .animatedModal .container {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-top: 0px;
    }

    .mix,
    .gap {
        margin-right: 0.4rem !important;
        margin-left: 0.4rem !important;
    }

    .nav-collapse a {
        line-height: 40px !important;
    }

    nav {
        padding-top: 0 !important;
        margin-top: 20px;
    }

    .solidaire a {
        color: #FFF !important;
    }

    .solidaire a:hover {
        color: #DD1931 !important;
    }

}

/* Animations */

.boutonrond:hover img {
    transform: translateX(-10px) rotate(180deg);
}

.boutonrond span {
    transition: all .3s ease-in-out;
}


.boutonrond.sidebar-active:hover img {
    transform: translateX(0px) rotate(0deg);
}

.boutonrond.sidebar-active img {
    transform: translateX(-10px) rotate(0deg);
}

.bouton.ctc:hover {
    background-position: 220px 9px;
}

.right>a:nth-child(5)> .competences, .right>a:nth-child(6)> .competences, .right>a:nth-child(7)> .competences {
    transition: all .7s ease;
}

.right>a:nth-child(5):hover> .competences, .right>a:nth-child(6):hover> .competences, .right>a:nth-child(7):hover> .competences  {
    animation: zoomIn .5s ease-in-out both forwards;
}

@keyframes zoomIn{
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.2);
    }
}

.right h1 {
    animation: fadeInTop 1s both ease-in-out;
}

.right h4 {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .5s;
}

.right>p:nth-child(2) {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .5s;
}

.right>p:nth-child(3) {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .8s;
}

.right>p:nth-child(4) {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .8s;
}

@keyframes fadeInTop{
    0% {
        opacity: -1;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}

.right>a:nth-child(5)> .competences, .right>a:nth-child(6)> .competences, .right>a:nth-child(7)> .competences {
    animation: zoomFadeIn 1s both ease-in-out;
}

.right>a:nth-child(5)> .competences {
    animation-delay: 1s;
}

.right>a:nth-child(6)> .competences {
    animation-delay: 1.5s;
}

.right>a:nth-child(7)> .competences {
    animation-delay: 2s;
}

@keyframes zoomFadeIn{
    0% {
        opacity: -1;
        transform: scale(0.8);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

header>a:nth-child(1)>img {
    animation: pulseFadeIn 1s both ease-in-out;
}

@keyframes pulseFadeIn{
    0% {
        opacity: -1;
        transform: scale(0.8);
    }

    50% {
        opacity: 1;
        transform: scale(1.1);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

h1.first {
    animation: fadeInTop 1s both ease-in-out;
}

h3.first {
    animation: fadeInTop 1s both ease-in-out;
}

.texte-large h3 {
    animation: fadeInTop 1s both ease-in-out;
}

.texte-large p {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .5s;
}

.team h3 {
    animation: fadeInTop 1s both ease-in-out;
}

.team img {
    animation: pulseFadeIn .5s both ease-in-out;
    animation-delay: .5s;
}

.team h4 {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .8s;
}

.team p {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: 1.2s;
}

.team a {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: 1.5s;
}

.team2 h3 {
    animation: fadeInTop 1s both ease-in-out;
}

.team2 img {
    animation: pulseFadeIn .5s both ease-in-out;
    animation-delay: .5s;
}

.team2 h4 {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: .8s;
}

.team2 p {
    animation: fadeInTop 1s both ease-in-out;
    animation-delay: 1.2s;
}