@import url(http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700);

body, select {
    font-family: 'Open Sans', Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6, label, .label, button, .button, footer, .references {
    font-family: "museo-slab", serif;
}

body {
    background-color: #ececec;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
}

h2 {
    font-size: 2rem;
    font-weight: 300;
}

h3 {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.1;
}

h4 {
    font-size: 1rem;
    font-weight: 700;
}

label {
    font-size: 1rem;
}

.button {
    font-weight: 700;
    padding-top: 0.75rem;
    padding-bottom: 0.8125rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.box-shadow {
    -webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
    box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
}

.text-shadow {
    -webkit-text-shadow: 0px 1px 2px rgba(0,0,0,0.5);
    -moz-text-shadow: 0px 1px 2px rgba(0,0,0,0.5);
    text-shadow: 0px 1px 2px rgba(0,0,0,0.5);
}

.text-justify {
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;
}

header {
    position: relative;
    background-color: #1f4053;
    }
    header .logo {
        width: 200px;
        margin: 1rem 0;
    }
    header .nav {
        position: absolute;
        right: 0rem;
        bottom: 1rem;
        margin: 0;
        list-style: none;
        }
        header .nav li {
            float: left;
            margin-right: 0.9375rem;
            }
            header .nav li a {
                font-family: "museo-slab", serif;
                font-size: 0.875rem;
                font-weight: 700;
                color: #fff;
                }
                header .nav li a.button {
                    padding: 0.5625rem 1.75rem 0.625rem;
                    margin: 0;
                }
                header .nav li a.reference {
                    padding: 0.5rem 1.6875rem 0.5625rem;
                    border: 1px solid #fff;
                    background-color: transparent;
                }

nav {
    position: relative;
    }
    nav ul {
        margin: 0;
        list-style: none;
        }
        nav ul li {
            display: inline-block;
            margin: 2rem 1.5rem;
            }
            nav ul li.active a {
                color: #3faf92;
                }
                nav ul li.active a:after {
                    content: "";
                    position: absolute;
                    left: 50%;
                    bottom: -1rem;
                    width: 50px;
                    margin-left: -25px;
                    border-bottom: 1px solid #3faf92;
                }
            nav ul li a {
                position: relative;
                display: block;
                font-family: "museo-slab", serif;
                font-size: 1rem;
                font-weight: 700;
                line-height: 1.3;
                color: #283943;
                }
                nav ul li a:hover {
                    color: #3faf92;
                }

footer {
    position: relative;
    padding: 2rem 0 6rem;
    background-color: #ececec;
    }
    footer .logo {
        width: 150px;
    }
    footer .details {
        margin: 1rem 0 3rem;
    }
    footer  a {
        color: inherit;
    }
    footer .legals {
        font-size: 0.75rem;
    }
    footer hr {
        border-color: #999;
    }

.slider {
    position: relative;
    height: 430px;
    background-color: #1f4053;
    overflow: hidden;
    }
    .slider .photos {
        position: absolute;
        left: 50%;
        top: 0;
        z-index: 0;
        width: 1920px;
        margin-left: -960px;
        opacity: 0.5;
    }
    .slider h1 {
        position: relative;
        color: #fff;
        margin: 3rem 0;
    }
    .slider .picto {
        position: relative;
        display: inline-block;
        margin-top: 100px;
        }
        .slider .picto:before {
            content: "";
            display: block;
            position: absolute;
            left: 50%;
            top: 50%;
            width: 90px;
            height: 90px;
            margin-left: -45px;
            margin-top: -35px;
            border-radius: 1000px;
            background-color: #3faf92;
        }
        .slider .picto img {
            position: relative;
            width: 120px;
        }
        
.slider-photos {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 600px;
    z-index: -1;
    background-color: #1f4053;
    }
    .slider-photos .photos {
        position: absolute;
        left: 50%;
        top: 0;
        z-index: 0;
        width: 1920px;
        margin-left: -960px;
        opacity: 0.5;
    }

.slider-home {
    position: relative;
    height: 600px;
    overflow: hidden;
    }
    .slider-home .logo {
        position: relative;
        width: 300px;
        margin: 7.75rem 0 3rem;
        -webkit-filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.5));
        filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.5));
    }
    .slider-home h1 {
        position: relative;
        color: #fff;
        margin: 0 0 3rem;
    }
    .slider-home .nav {
        margin: 0 -0.9375rem 0 0;
        list-style: none;
        }
        .slider-home .nav li {
            display: inline-block;
            margin-right: 0.9375rem;
        }
    .slider-home .references {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        color: #fff;
        }
        .slider-home .references .bg-title {
            background-color: #1f4053;
        }
        .slider-home .references .title {
            display: table;
            vertical-align: middle;
            height: 3rem;
            width: 100%;
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            }
            .slider-home .references .title span {
                display: table-cell;
                vertical-align: middle;
            }
        .slider-home .references .bg-list-references {
            background: -webkit-linear-gradient(to right, rgba(31,64,83,0.6), rgba(31,64,83,0));
            background: -moz-linear-gradient(to right, rgba(31,64,83,0.6), rgba(31,64,83,0));
            background: linear-gradient(to right, rgba(31,64,83,0.6), rgba(31,64,83,0));
        }
        .slider-home .references .list-references li span {
            display: table-cell;
            vertical-align: middle;
            height: 3rem;
            font-size: 0.875rem;
        }

.content {
    position: relative;
    padding: 3rem 0;
    }
    .content p, .content ul.list li {
        font-size: 0.75rem;
        }
        .content p.chapo {
            margin-top: 0.875rem;
            font-family: "museo-slab", serif;
            font-size: 0.875rem;
            font-weight: 700;
        }
    .content .menu {
        margin: 0;
        list-style: none;
        }
        .content .menu li a {
            display: block;
            padding: 1rem 0;
            font-family: "museo-slab", serif;
            font-size: 0.875rem;
            font-weight: 700;
            line-height: 1.3;
            color: #283943;
            border-right: 1px solid #fff;
            }
            .content .menu li a.active {
                color: #3faf92;
                border-color: #3faf92;
            }
            .content .menu li a:hover {
                color: #3faf92;
            }
            .content .menu li a small {
                font-size: 0.75rem;
            }
    .content .panel {
        background-color: #3faf92;
        border-radius: 0.75rem;
        margin-top: 3rem;
        padding: 1.5rem;
        color: #fff;
        }
        .content .panel h4 {
            color: #fff;
            margin-bottom: 1.5rem;
            }
            .content .panel h4 small {
                font-size: 87.5%;
                font-weight: 300;
                color: #fff;
            }
    .content .image {
        position: relative;
        margin-top: 1rem;
        }
        .content .image img {
            width: 100%;
            border-radius: 1000px;
        }
        .content .image.picto {
            margin-top: 3rem;
            }
            .content .image.picto:after {
                content: "";
                display: block;
                position: absolute;
                left: 0;
                top: -2.5rem;
                width: 4rem;
                height: 4rem;
                border-radius: 1000px;
                background: #ee5a6a url(../img/bg-pictos.png) no-repeat;
                background-size: 64px 256px;
                }
                .content .image.picto.engrenage:after {
                    background-position: 0 0;
                }
                .content .image.picto.mousse:after {
                    background-position: 0 -64px;
                }
                .content .image.picto.poids:after {
                    background-position: 0 -128px;
                }
                .content .image.picto.pression:after {
                    background-position: 0 -192px;
                }

.portfolio {
    position: relative;
    background-color: #fff;
    }
    .portfolio .header {
        padding: 0.625rem 0;
    }
    .portfolio a.open, .portfolio a.close {
        position: relative;
        display: block;
        padding-left: 2.5rem;
        font-family: "museo-slab", serif;
        font-size: 0.875rem;
        font-weight: 700;
        color: #283943;
        }
        .portfolio a.open:before, .portfolio a.close:before {
            content: "";
            display: block;
            position: absolute;
            left: 0;
            top: 50%;
            width: 32px;
            height: 32px;
            margin-top: -16px;
            background: url(../img/bg-portfolio.png) no-repeat;
            background-size: 32px 64px;
        }
        .portfolio a.open:before {
            background-position: 0 0;
        }
        .portfolio a.close:before {
            background-position: 0 -32px;
        }
        .portfolio a.open:after, .portfolio a.close:after  {
            content: "";
            display: block;
            position: absolute;
            right: 0;
            top: 50%;
            width: 22px;
            height: 8px;
            margin-top: -4px;
            background: url(../img/bg-accordion.png) no-repeat;
            background-size: 22px 16px;
        }
        .portfolio a.open:after {
            background-position: 0 0;
        }
        .portfolio a.close:after {
            background-position: 0 -8px;
        }
    .portfolio .accordion {
        display: none;
        padding: 1rem 0 3rem;
        }
        .portfolio .accordion p {
            font-size: 0.8125rem;
        }
        .portfolio .accordion .container-slider {
            width: 960px;
            margin: 0 auto;
        }

.menu-home {
    position: relative;
    padding: 4rem 0;
    background-color: #3faf92;
    }
    .menu-home .picto {
        display: inline-block;
        border: 1px solid rgba(255,255,255,0.3);
        border-radius: 1000px;
        transition: all 0.2s;
        }
        .menu-home .picto img {
            width: 80px;
            height: 80px;
            border-radius: 1000px;
            mix-blend-mode: multiply;
        }
    .menu-home h4 {
        margin: 0;
        padding-top: 1.5rem;
        transition: all 0.2s;
    }
    .menu-home a:hover:after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -1rem;
        width: 50px;
        margin-left: -25px;
        border-bottom: 1px solid #fff;
    }
    .menu-home a:hover .picto {
        background-color: #fff;
    }
    .menu-home a:hover h4 {
        color: #fff;
    }

.contact {
    position: relative;
    padding: 3rem 0;
    background-color: #fff;
    }
    .contact input[type="text"], .contact input[type="email"], .contact textarea {
        padding: 1rem;
        background-color: #ececec;
        border: none;
        box-shadow: none;
    }
    .contact input[type="text"], .contact input[type="email"] {
        height: 3.3125rem;
        border-radius: 1000px;
    }
    .contact textarea {
        border-radius: 0.75rem;
    }

.bxslider {
    margin: 0;
    list-style: none;
}

.bx-pager {
    margin-top: 2rem;
    text-align: center;
    line-height: 0;
    }
    .bx-pager-item {
        display: inline-block;
        margin: 0 0.25rem;
        }
        .bx-pager-link {
            display: block;
            width: 1rem;
            height: 0;
            padding-top: 1rem;
            line-height: 1;
            overflow: hidden;
            background-color: #ccc;
            border-radius: 1000px;
            }
            .bx-pager-link.active {
                background-color: #3faf92;
            }

.back-to-top {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out 0s;
}

.on {
    visibility: visible;
    opacity: 1;
}

.btn-top {
    position: fixed;
    right: 2rem;
    bottom: 3rem;
    display: block;
    width: 3rem;
    height: 3rem;
    background: #005682 url(../img/bg-arrow-top.png) no-repeat center center;
    background-size: 22px 8px;
    border-radius: 1000px;
}