﻿:root {
    --color-purple: #993399;
    --color-purple-dark: #802A80;
    --color-purple-light: #FFDDFF;
    --color-blue: #333399;
    --color-blue-dark: #2A2A80;
    --color-blue-light: #DDDDFF;
    --color-green: #339933;
    --color-green-dark: #2A802A;
    --color-green-light: #DDFFDD;
    --button-border-width: 2px;
    --button-radius: 25px;
}

html, body {
    margin: 0;
    padding: 0;
}

body, div, a, input, textarea, button {
    font-family: 'Montserrat';
    font-size: 1rem;
}

body {
    overflow-x: hidden;
    background-color: #fff;
}
div.intro {
    height: 250px;
}
div.intro-title {
    padding: 130px 30px 0 460px;
    box-sizing: border-box;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    text-shadow: 0 0 4px #fff;
}
div.intro-desc {
    padding: 80px 30px 0 460px;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    text-shadow: 0 0 4px #fff;
}

div.header {
    position: sticky;
    top: 0;
    height: 60px;
    background: linear-gradient(-90deg, #fff, #ddd);
    z-index: 100;
    vertical-align: top;
    margin: 0;
    padding: 0;
}

div.header-shadow {
    background: linear-gradient(-90deg, #fff, #ddd);
    border-bottom: solid 3px #666;
    box-shadow: 0px 2px 8px #999;
}

div.header-shadow-purple {
    background: linear-gradient(-90deg, #fff, var(--color-purple-light));
    border-bottom: solid 3px var(--color-purple-dark);
    box-shadow: 0px 2px 8px var(--color-purple);
}

div.header-shadow-blue {
    background: linear-gradient(-90deg, #fff, var(--color-blue-light));
    border-bottom: solid 3px var(--color-blue-dark);
    box-shadow: 0px 2px 8px var(--color-blue);
}

div.header-shadow-green {
    background: linear-gradient(-90deg, #fff, var(--color-green-light));
    border-bottom: solid 3px var(--color-green-dark);
    box-shadow: 0px 2px 8px var(--color-green);
}

div.header-menu {
    display: inline-block;
    float: right;
}

div.header-menu-mobile {
    vertical-align: top;
    display: none;
    float: right;
}

div.header-desc {
    display: inline-block;
    font-weight: bold;
    color: var(--color-purple);
    padding: 10px 10px 0 0;
    margin: 10px 0;
    text-indent: -6px;
    vertical-align: top;
}

div.header-desc-color {
    color: #666;
}

div.header-desc-color-purple {
    color: var(--color-purple);
}

div.header-desc-color-blue {
    color: var(--color-blue);
}

div.header-desc-color-green {
    color: var(--color-green);
}


a.header-lien {
    vertical-align: top;
    text-decoration: none;
    color: #333;
    font-size: 1rem;
    font-weight: normal;
    margin: 10px 20px;
    padding: 10px 10px 0 10px;
    display: inline-block;
    cursor: pointer;
}

a.header-purple:hover {
    color: var(--color-purple);
    font-weight: bold;
}

a.header-blue:hover {
    color: var(--color-blue);
    font-weight: bold;
}

a.header-purple:after {
    border-bottom: solid 2px var(--color-purple);
}

a.header-blue:after {
    border-bottom: solid 2px var(--color-blue);
}

a.header-lien:after {
    display: block;
    content: '';
    padding: 4px;
    transform: scaleX(0);
    transition: transform 250ms ease-in-out;
}

a.header-lien:hover:after {
    transform: scaleX(1);
}

a.header-lien-mobile {
    vertical-align: top;
    text-decoration: none;
    color: #333;
    font-size: 1rem;
    margin: 10px 30px;
    padding: 10px;
    display: inline-block;
}

a.header-logo {
    vertical-align: top;
    display: inline-block;
    margin: 2px 30px;
    cursor: pointer;
}

a.header-logo img {
    margin: 0;
    padding: 0;
    height: 56px;
}

#prof, #part, #conf {
    height: 100px;
}
#start {
    height: 30px;
}


div.info-help {
    font-size: 0.9rem;
    line-height: 1.2rem;
    padding-top: 20px;
}
div.info-list {
    padding-top: 10px;
}

span.info-big {
    display: inline-block;
    font-size: 1.2rem;
    margin: 0 5px 5px 5px;
}
div.info-item {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.3rem;
    vertical-align: top;
    margin: 20px 20px 0 0;
    padding: 20px;
    min-width: 180px;
    height: 150px;
    box-sizing: border-box;
    border-radius: 10px;
    text-transform: uppercase;
    cursor: default;
    border: solid 2px #fff6;
    background-color: #0002;
}
div.info-item i {
    display: block;
    margin-bottom: 20px;
}

div.info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 30px;
}
@media screen and (min-width: 1155px) and (max-width: 1529px) {
    div.info-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }
}
@media screen and (min-width:780px) and (max-width: 1154px) {
    div.info-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (min-width: 0px) and (max-width: 779px) {
    div.info-grid {
        display: grid;
        grid-template-columns: 1fr;
    }
}

a.info-ref {
    display: inline-block;
    border: solid 2px #fff !important;
    border-radius: 10px;
    padding: 10px;
    background-color: #fff;
    box-sizing: border-box;
    text-align: center;
}
a.info-ref div.quantity {
    font-size: 0.9rem;
    line-height: 0.9rem;
    font-weight: bold;
    color: var(--color-green);
    text-align: left;
    border-top: solid 1px var(--color-green);
    padding-top: 10px;
    margin-top: 10px;
}
a.info-ref div.quantity i {
    float: right;
}
a.info-ref img {
    height: 110px;
    margin: 0;
    padding: 0;
    border: none;
    vertical-align: middle;
}

div.purple-bg-b div.info-item {
    border: solid 2px var(--color-purple);
    color: var(--color-purple);
    background-color: #fff;
}

div.purple-bg-b div.info-item:hover {
    background-color: var(--color-purple);
    color: #fff;
}

div.purple-bg-c div.info-item {
    color: #fff;
}

div.purple-bg-c div.info-item:hover {
    background-color: #fff;
    color: var(--color-purple);
}

div.blue-bg-b div.info-item {
    border: solid 2px var(--color-blue);
    color: var(--color-blue);
    background-color: #fff;
}

div.blue-bg-b div.info-item:hover {
    background-color: var(--color-blue);
    color: #fff;
}

div.blue-bg-c div.info-item {
    color: #fff;
}

div.blue-bg-c div.info-item:hover {
    background-color: #fff;
    color: var(--color-blue);
}


div.green-bg-b div.info-item {
    border: solid 2px var(--color-green);
    color: var(--color-green);
    background-color: #fff;
}

div.green-bg-b div.info-item:hover {
    background-color: var(--color-green);
    color: #fff;
}

div.green-bg-c div.info-item {
    color: #fff;
}

div.green-bg-c div.info-item:hover {
    background-color: #fff;
    color: var(--color-green);
}


div .form {
    padding: 10px 0;
}

label.form {
    font-family: Montserrat;
    font-size: 1rem;
    font-weight: normal;
    padding: 5px 10px 5px 0;
    display: inline-block;
    min-width: 220px;
    vertical-align: top;
    box-sizing: border-box;
}

button.form, input.form, select.form, textarea.form {
    font-family: Montserrat;
    font-size: 1rem;
    font-weight: bold;
    border: none;
    padding: 10px 20px;
    color: #333;
    background-color: #fff;
    border-radius: 20px;
}

    select.form option {
        font-weight: bold;
    }

button.form, input[type=email].form, textarea.form, select.form {
    box-sizing: border-box;
    width: calc(100% - 230px);
}

select.form {
    position: relative;
    left: -4px;
}

textarea.form {
    height: 120px;
}

textarea:focus, input:focus, select:focus {
    outline: none;
}

div.form-result {
    font-weight: bold;
    margin-top: 20px;
    padding: 10px 30px;
    border-top: solid 1px var(--color-green-dark);
    border-bottom: solid 1px var(--color-green-dark);
    background-color: var(--color-green-light);
    text-align: justify;
    transition: opacity 0.5s ease-in-out;
}

div.form-result-invisible {
    opacity: 0;
}

div.form-result-visible {
    opacity: 1;
}


div.titre-img {
    position: relative;
    display: inline-block;
    top: -40px;
    left: -4px;
    min-width: 210px;
    height: 80px;
    box-shadow: 2px 2px 6px #333;
    box-sizing: border-box;
    font-size: 1.3rem;
}

div.titre-1l {
    padding: 27px 30px 0 30px;
}

div.titre-2l {
    padding: 13px 30px 0 30px;
}

div.titre-img-purple {
    background-color: var(--color-purple-dark);
}

div.titre-img-blue {
    background-color: var(--color-blue-dark);
}

div.titre-img-green {
    background-color: var(--color-green-dark);
}

div.purple, div.blue, div.green {
    margin-top: 80px;
}

div.purple-bg-b div.buttons a, div.purple-bg-b div.buttons input[type=submit] {
    background-color: var(--color-purple);
    border: solid var(--button-border-width) var(--color-purple);
}

div.purple-bg-c div.buttons a, div.purple-bg-c div.buttons input[type=submit] {
    background-color: var(--color-purple);
    border: solid var(--button-border-width) #fff;
}

div.purple-bg-b div.buttons a:hover,  div.purple-bg-b div.buttons input[type=submit]:hover {
    border: solid var(--button-border-width) var(--color-purple);
    color: var(--color-purple);
}

div.purple-bg-c div.buttons a:hover, div.purple-bg-c div.buttons input[type=submit]:hover {
    border: solid var(--button-border-width) #fff;
    color: var(--color-purple);
}

div.green-bg-b div.buttons input[type=submit] {
    background-color: var(--color-purple);
    border: solid var(--button-border-width) var(--color-purple);
}
div.green-bg-b div.buttons input[type=submit]:hover {
    border: solid var(--button-border-width) var(--color-green);
    color: var(--color-green);
}
div.green-bg-c div.buttons input[type=submit] {
    background-color: var(--color-green);
    border: solid var(--button-border-width) #fff;
}
div.green-bg-c div.buttons input[type=submit]:hover {
    border: solid var(--button-border-width) #fff;
    color: var(--color-green);
}
div.blue div.buttons a {
    background-color: var(--color-blue);
    border: solid var(--button-border-width) var(--color-blue);
}

div.blue div.buttons a:hover {
    border: solid var(--button-border-width) var(--color-blue);
    color: var(--color-blue);
}

div.green div.buttons a, div.green div.buttons button {
    background-color: var(--color-green);
    border: solid var(--button-border-width) var(--color-green);
}

div.green div.buttons button:hover {
    border: solid var(--button-border-width) var(--color-green);
    color: var(--color-green);
}

div.bgi {
    background-image: url(/images/bg-09.png);
    background-repeat: repeat-y;
}

div.purple-bg-c {
    position: relative;
    background-color: var(--color-purple);
    color: #fff;
}

div.purple-bg-b {
    background-color: #fff;
    color: var(--color-purple);
    margin-top: 30px;
}

div.blue-bg-c {
    position: relative;
    background-color: var(--color-blue);
    color: #fff;
}

div.blue-bg-b {
    background-color: #FFF;
    color: var(--color-blue);
    margin-top: 30px;
}

div.green-bg-c {
    position: relative;
    background-color: var(--color-green);
    color: #fff;
    min-height: 340px;
    margin-bottom: 30px;
}

div.green-bg-b {
    background-color: #FFF;
    color: var(--color-green);
    margin-top: 30px;
}


div.titre-img-purple {
    background-color: var(--color-purple-dark);
}

div.titre-img-blue {
    background-color: var(--color-blue-dark);
}

div.titre-img-green {
    background-color: var(--color-green-dark);
}


div.footer {
    margin-top: 100px;
    background-color: #fff;
}

div.footer-sep {
    border-top: solid 1px #999;
    margin: 0 30px;
    padding: 20px 0;
}

div.footer-col {
    vertical-align: top;
    display: inline-block;
    margin: 30px 10px 30px 30px;
}

div.footer h3 {
    font-size: 0.9rem;
    font-weight: bold;
    color: #666;
    margin: 0;
}

div.footer-link {
    padding: 10px 10px 0 0;
}

div.footer-link a {
    display: inline;
    text-align: left;
    color: #666;
    font-size: 0.9rem;
    font-weight: normal;
    text-decoration: none;
}

div.footer-link a:hover {
    color: #666;
    font-weight: bold;
}

div.footer-copy, div.footer-mention {
    font-size: 0.8rem;
    font-weight: normal;
    color: #666;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
}

div.footer-mention {
    float: right;
}

div.footer-mention a {
    color: #666;
    text-decoration: none;
    font-size: 0.9rem;
}

div.footer-mention a:hover {
    color: #666;
    font-weight: bold;
}

div.desc {
    padding: 30px 0 0 30px;
    font-weight: bold;
    display: inline-block;
}

small {
    font-size: 0.9rem;
    opacity: 0.75;
}

div.para {
    line-height: 2rem;
    margin: 40px 30px 0 30px;
    text-align: justify;
}

div.para code {
    background-color: #fff3;
    border: solid 1px #fff6;
    font-family: 'Montserrat';
    font-size: 1rem;
    color: #fff;
    padding: 2px 4px;
}

div.para a, div.para-marge a {
    color: #fff;
    text-decoration: none;
    border-bottom: dashed 1px;
    font-weight: bold;
}

div.para-marge {
    line-height: 2rem;
    margin: 40px 330px 0 30px;
    text-align: justify;
}

div.para sup, div.para-marge sup {
    font-size: 0.6rem;
    font-weight: bold;
    letter-spacing: 2px;
    margin-left: 2px;
}

div.para-top {
    position: relative;
    top: -40px;
}

h3 {
    font-size: 1.5rem;
    line-height: 2rem;
    margin: 30px 0;
}

h5 {
    font-size: 1.2rem;
    line-height: 2rem;
    margin: 20px 0;
}

li {
    margin-left: -20px;
}

div.buttons {
    text-align: right;
    margin-top: 30px;
}

div.buttons a, div.buttons button, div.buttons input[type=submit] {
    border-radius: var(--button-radius);
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-weight: normal;
    line-height: 2rem;
    margin: 0 0 10px 10px;
    min-width: 120px;
    padding: 5px 20px;
    text-align: center;
    text-decoration: none;
}

div.buttons a:hover, div.buttons button:hover, div.buttons input[type=submit]:hover {
    background-color: #fff !important;
    font-weight: bold;
}


@media screen and (min-width: 420px) {
    div.info-item {
        transform: translateY(0px);
        transition: transform 0.5s;
    }

    div.info-item:hover {
        transform: translateY(-20px);
        transition: transform 0.5s;
    }
}


@media screen and (max-width: 420px) {
    div.intro-title {
        background-color: #0002;
        padding: 60px 30px 20px 30px;
        text-shadow: 0 0 4px #000;
        color: #fff;
    }
    div.intro-desc {
        background-color: #0002;
        padding: 40px 30px 150px 30px;
        text-shadow: 0 0 4px #000;
        color: #fff;
    }

    div.header-desc {
        display: none;
    }

    div.header-menu {
        border: solid 1px #333;
        border-radius: 10px;
        margin-right: 10px;
        position: fixed;
        top: 52px;
        right: 0;
        background-color: #fff;
        box-shadow: 1px 1px 4px #666;
    }

    div.header-menu:before {
        content: "";
        position: absolute;
        top: -10px;
        bottom: auto;
        left: auto;
        right: 26px;
        border-width: 0 10px 10px;
        border-style: solid;
        display: block;
        width: 0;
        border-color: #666 transparent;
    }

    div.header-menu:after {
        top: -8px;
        bottom: auto;
        left: auto;
        right: 27px;
        border-width: 0 9px 9px;
        content: "";
        position: absolute;
        border-style: solid;
        display: block;
        width: 0;
        border-color: #fff transparent;
    }

    div.header-menu {
        display: none;
    }

    div.header-menu-mobile {
        display: inline-block;
    }

    a.header-lien {
        display: block;
    }

    div.buttons a, div.buttons button {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        margin: 0 0 10px 0;
    }

    div.titre-img {
        min-width: 190px;
        height: 70px;
        top: -35px;
        font-size: 1.2rem;
    }

    div.titre-1l {
        padding: 22px 30px 0 30px;
    }

    div.titre-2l {
        padding: 10px 30px 0 30px;
    }

    small {
        font-size: 0.8rem;
    }

    h3 {
        font-size: 1.3rem;
    }

    div.para, div.para-marge {
        margin: 40px 20px 20px 20px;
    }

    div.desc {
        position: unset;
        padding: 20px 0 0 20px;
    }

    div.footer div.footer-col {
        vertical-align: top;
        display: block;
        width: auto;
        margin: 30px 0 30px 30px;
    }

    img.carousel-img {
        display: none;
    }

    label.form {
        display: block;
    }

    button.form, input[type=email].form, textarea.form, select.form {
        width: 100%;
    }

    select.form {
        position: unset;
        left: 0;
    }

    div.form-result {
        padding: 10px 20px;
    }

    div.info-item:nth-child(odd) {
        position: relative;
        left: -20px;
        border-radius: 0 10px 10px 0;
        border-left: none !important;
        width: 80%;
    }

    div.info-item:nth-child(even) {
        position: relative;
        left: calc(20% + 20px);
        border-radius: 10px 0 0 10px;
        border-right: none !important;
        width: 80%;
    }

    div.info-item {
        display: block;
        margin: 0 0 20px 0;
    }

    #prof, #part, #conf {
        height: 50px;
    }
}
