
* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    font-family: "Roboto", sans-serif;
    font-size: 62.5%;
    font-weight: 400;
    color: #3F3F3F;
    min-height: 100vh;
    overflow-x: hidden;
}

body {
    display: flex;
    flex-direction: column;
}

body.overlay-visible {
    overflow: hidden;
}

a:link,
a:active,
a:visited,
a:hover {
    color: #7cbbc9;
    text-decoration: none;
}

a.default-color:link,
a.default-color:active,
a.default-color:visited,
a.default-color:hover {
    color: #3F3F3F;
}

img {
    max-width: 100%;
}

a img {
    border: none;
}

form input {
    font-family: "Roboto", sans-serif;
    font-size: 1.5rem;
}
form input[type=button],
form input[type=submit] {
    cursor: pointer;
    border: none;
    height: 32px;
    line-height: 32px;
    padding: 0 1rem;
    background: #343e51;
    color: #FFFFFF;
    border-radius: 2px;
    vertical-align: middle;
    border: none;
    text-transform: uppercase;
    font-size: 1.3rem;
    font-weight: bold;
}
form input[type=password],
form input[type=text] {
    border: 1px solid #343e51;
    height: 26px;
    line-height: 26px;
    padding: 0 10px;
    border-radius: 2px;
    vertical-align: middle;
}
form select {
    border: 1px solid #343e51;
    height: 26px;
    line-height: 26px;
    padding: 0 10px;
    border-radius: 2px;
    color: #343e51;
}
form dt.form-before-label {
    margin: 10px 0 10px 0;
    float: left;
    clear: none;
    max-width: 85%;
}
form dd.form-before-label {
    margin-top: 10px;
    float: left;
    clear: left;
}
form dd.form-before-label input {
    margin-left: 0;
}
.errors {
    color: #EF0000;
    margin: 0 0 10px 0;
}

.form-error {
    font-weight: bold;
    padding: 1rem;
    color: #FFFFFF;
    background: #D42735;
    font-size: 1.8rem;
    line-height: 2;
}
.form-error .fa {
    font-size: 1.8em;
    vertical-align: middle;
}

table {
    width: 100%;
    border-collapse: collapse;
}
table th,
table td {
    border: 1px solid #D6D6D6;
    padding: .5rem
}
table th {
    white-space: nowrap;
}

.editions-item-buttons a,
.button,
a.button:link {
    background: #343e51;
    color: #FFFFFF;
    text-transform: uppercase;
    padding: 1.4rem;
    white-space: nowrap;
    text-align: center;
    font-weight: bold;
    display: inline-block;
}
a.button:hover,
a.button:active,
a.button:visited {
    color: #FFFFFF;
}

footer ul,
nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body > header {
    position: relative;
    z-index: 2;
    height: 155px;
}
body > header > div {
    position: fixed;
    font-size: 1.4rem;
    line-height: 1.3;
    display: flex;
    flex-wrap: wrap;
    background: #FFFFFF;
    box-shadow: 0 5px 5px RGBA(0, 0, 0, .3);
    z-index: 1;
    width: 100%;
    min-width: 117rem;
    height: 15rem;
}
body > header .left {
    display: flex;
    width: 33%;
    text-align: left;
    padding: 0 0 0 3rem;
}
body > header .right {
    font-size: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    width: 33%;
    text-align: right;
    white-space: nowrap;
    padding: 0 3rem 0 0;
}
body > header .right > div {
    margin: auto 0;
}
body > header p {
    margin: auto 0 0 0;
}
body > header nav {
    width: 100%;
}
body > header div.tab-icons {
    display: flex;
    margin: auto auto auto 0;
    justify-content: flex-end;
    font-size: 1.2rem;
}
body > header .right > div.tab-icons {
    margin: auto 0 auto auto;
}
body > header .tab-icons a {
    display: block;
    margin: 0 1rem;
}
body > header .tab-icons a.button {
    margin: 0 1rem auto 1rem;
    border-radius: 4px;
    padding: 1rem 2rem;
}
body > header .tab-icons .fa,
body > header .tab-icons img {
    max-height: 2.5rem;
    display: block;
    margin: 0 auto;
}
body > header .tab-icons span {
    color: #95989a;
    margin-top: .5rem;
    display: block;
    text-align: center;
}
body > header .tab-icons span.free {
    color: #D42735;
    font-weight: 700;
    margin: 0;
    font-size: 1.1rem;
}

body > header .tab-icons .button-more {
    position: relative;
    display: flex;
    cursor: pointer;
    width: 2.5rem;
}
body > header .tab-icons .button-more.hide {
    display: none;
}
body > header .tab-icons .button-more .cross {
    display: none;
}
body > header .tab-icons .button-more .points {
    display: block;
}
body > header .tab-icons .button-more.opened .cross {
    display: block;
}
body > header .tab-icons .button-more.opened .points {
    display: none;
}
body > header .tab-icons .container-more-elements {
    cursor: default;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    background: #F5F5F5;
    z-index: 10;
    padding: 1rem;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
}
body > header .tab-icons .container-more-elements a {
    padding: 1rem;
}
body > header .tab-icons .container-more-elements a:hover {
    background: #FFFFFF;
}

body > header #button-sidebar,
body > header #button-sidebar span {
    color: #343e51;
}

body > header .button-sidebar-container {
    font-size: 1.5rem;
    text-transform: uppercase;
    margin: auto 20px auto 0;
}
body > header .fa {
    font-size: 2rem;
    vertical-align: middle;
    margin-right: 1rem;
}
body > header .middle {
    width: 33%;
    text-align: center;
    padding: 1rem 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
body > header .middle img {
    max-width: 230px;
    max-height: 65px;
}
body > header .slogan {
    width: 100%;
    font-weight: bold;
    color: #343e51;
    padding: 1rem 0 0 0;
    white-space: nowrap;
}
body > header .lang-selector {
    display: flex;
    flex-direction: column;
    margin: auto 0 0 1rem;
}
body > header .lang-selector img {
    height: 1.4rem;
}
body > header .shopping-cart {
    display: inline-block;
    padding: 0 1rem;
    margin: 0 1rem;
    border-left: 1px solid #3F3F3F;
    border-right: 1px solid #3F3F3F;
}

body > header nav {
    position: relative;
    padding: 0;
    display: flex;
    width: 100%;
}
body > header .topmenu {
    display: flex;
    justify-content: center;
    margin: auto;
    font-size: 1.4rem;
    white-space: nowrap;
}
body > header .topmenu li {
    margin: 0 .5rem;
    display: block;
}
body > header .topmenu span,
body > header .topmenu a:link,
body > header .topmenu a:visited,
body > header .topmenu a:active,
body > header .topmenu a:hover {
    color: #818181;
    padding: .6rem 1.3rem;
    display: block;
}
body > header .topmenu .active a,
body > header .topmenu .active span {
    color: #7cbbc9;
}

body > header .active-slide {
    overflow: hidden;
}
body > header .active-slide .topmenu {
    position: relative;
    justify-content: flex-start;
    width: max-content;
    left: 5rem;
}

body > header nav .button-slide {
    display: none;
    position: absolute;
    top: 0;
    width: 6rem;
    line-height: 1;
    cursor: pointer;
    text-align: center;
    font-size: 3rem;
    z-index: 3;
    background: #F6F6F6;
}
body > header nav.active-slide .button-slide {
    display: block;
}
body > header nav .button-slide .fa {
    margin: 0;
}
body > header nav .button-left {
    left: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
}
body > header nav .button-right {
    right: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 40%);
}

body > header.anime > div,
body > header.anime .middle,
body > header.anime .topmenu,
body > header.anime > div .middle img,
body > header.anime > div .slogan,
body > header.anime > div .lang-selector,
body > header.anime > div .tab-icons a,
body > header.resize > div .tab-icons > a > img,
body > header.anime > div .tab-icons span.text {
    transition-property: transform, opacity, height, margin;
    transition-duration: 200ms;
    transition-timing-function: ease-in-out;
}
body > header.resize > div {
    height: 10rem;
}
body > header > div .middle img {
    transform-origin: 50% 0;
}
body > header .middle img {
    max-width: 230px;
    max-height: 65px;
}
body > header > div .middle img.fixed {
    display: none;
}
body > header.resize > div .middle img {
    transform: scale(.75);
}
body > header.resize > div .middle img.static {
    display: none;
}
body > header.resize > div .middle img.fixed {
    display: inline;
}
body > header.resize > div .slogan,
body > header.resize > div .lang-selector,
body > header.resize > div .tab-icons > a > span.text {
    opacity: 0;
    transform: translateY(-50%);
}
body > header.resize > div .tab-icons > a > img {
    transform: translateY(50%);
}
body > header.resize nav {
    transform: translateY(-35px);
}
body > header.resize .tab-icons a.button {
    margin-top: auto;
    margin-bottom: auto;
}

body > footer {
    font-size: 1.3rem;
    line-height: 1.3;
    margin-top: auto;
    padding-top: 6rem;
    background: #FFFFFF;
    z-index: 1;
    position: relative;
}
body > footer .container {
    display: flex;
    width: 100%;
    max-width: 120rem;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
}
body > footer .tab {
    margin: 6rem auto 0 auto;
}
body > footer .left {
    flex-basis: 35%;
}
body > footer .menus {
    flex-basis: 40%;
}
body > footer .right {
    flex-basis: 20%;
}
body > footer .menus {
    display: flex;
    justify-content: space-around;
}
body > footer .tab {
    background: #000000;
    line-height: 4rem;
    color: #FFFFFF;
    font-size: 1.2rem;
}
body > footer a:link,
body > footer a:active,
body > footer a:visited,
body > footer a:hover {
    color: #000000;
}
body > footer .tab a:link,
body > footer .tab a:active,
body > footer .tab a:visited,
body > footer .tab a:hover {
    color: #FFFFFF;
}
body > footer .slogan {
    width: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    color: #343e51;
    padding-top: 1.5rem;
}
body > footer .slogan img {
    display: block;
    margin: 0 auto;
}
body > footer h2 {
    text-transform: uppercase;
    font-size: 1.5em;
    font-weight: bold;
}
body > footer li {
    margin: 1rem 0;
}

.main-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}

main {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    width: 117rem;
    justify-content: space-between;
    margin: 2rem auto 0 auto;
    padding: 0 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 300;
    color: #000000;
    background: #FFFFFF;
}
.width-full main {
    width: 150rem;
}
.mce-content-body h2,
main h2 {
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1.5;
    text-transform: uppercase;
    position: relative;
}
.mce-content-body h2:before,
main h2:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #343e51;
    width: 5rem;
    height: .2rem;
}
.mce-content-body h2 a:link,
.mce-content-body h2 a:visited,
.mce-content-body h2 a:active,
.mce-content-body h2 a:hover,
main h2 a:link,
main h2 a:visited,
main h2 a:active,
main h2 a:hover {
    color: #000000;
}
.mce-content-body strong,
main strong {
    font-weight: 500;
}

main > .content {
    flex-basis: 70%;
    padding-right: 2.5rem;
    max-width: 100vw;
    flex-grow: 1;
}
.width-full main > .content {
    flex-basis: 100%;
    padding-right: 0;
    flex-grow: 1;
}
main > .side {
    flex-basis: 30%;
    padding-left: 2.5rem;
    max-width: 100vw;
    border-left: 1px solid #d6d6d6;
}
main > .side h2 {
    white-space: normal;
    margin-top: 0;
}

.breadcrumb {
    width: 100%;
}
.breadcrumb ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.4rem;
}
.breadcrumb li {
    margin-right: 1rem;
}
.breadcrumb li:before {
    content: ">";
}
.breadcrumb li:first-child:before {
    display: none;
}
.breadcrumb li:last-child a {
    font-weight: bold;
}

.aside-menu {
    position: fixed;
    background: #FFFFFF;
    overflow: auto;
    height: 100vh;
    top: 0;
    left: -30rem;
    width: 30rem;
    padding: 2rem;
    z-index: 999;
    transition: 200ms linear left;
    font-size: 1.5rem;
}
.aside-menu.opened {
    left: 0;
}
.aside-menu-overlay {
    position: fixed;
    background: #000000;
    background: RGBA(0, 0, 0, .5);
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 998;
    display: none;
}
.overlay-visible .aside-menu-overlay {
    display: block;
}
.aside-menu h2 {
    color: #989898;
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
}
.aside-menu ul + h2 {
    margin-top: 4rem;
}
.aside-menu .active {
    position: relative;
}
.aside-menu .active:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: .7rem;
    height: .7rem;
    background: #7cbbc9;
    transform: translateY(-50%);
}
.aside-menu a:link,
.aside-menu a:visited,
.aside-menu a:active,
.aside-menu a:hover
{
    color: #000000;
    font-weight: bold;
    display: block;
    line-height: 4.8rem;
    border-bottom: 1px solid #EEEEEE;
    margin: 0 2rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.aside-menu .close-container {
    text-align: right;
    margin: 0;
}
.aside-menu .close-container .fa {
    font-size: 1.8em;
    color: #989898;
    cursor: pointer;
}

.services-numeriques a:link,
.services-numeriques a:active,
.services-numeriques a:hover,
.services-numeriques a:visited {
    color: #7cbbc9;
}
.services-numeriques a span {
    font-size: 1.5em;
    color: #fec82f;
}

#pbackground + main {
    margin-top: 220px;
}

#phome,
#pheader_home_2,
.top-b {
    width: 100%;
    max-width: 728px;
    min-height: 90px;
    overflow: hidden;
    margin: 3rem auto;
}
.top-b {
    margin: 1rem auto;
}
#phome div,
#pheader_home_2 div,
.top-b div {
    margin: 0 auto;
    max-width: 100%;
    width: 800px;
}
#phome img,
#pheader_home_2 img,
.top-b img {
    display: block;
    margin: 0 auto;
}
.right-b {
    background: #FFFFFF;
}
.right-b > div {
    margin: 0 auto;
}
.home-b {
    margin: 3rem auto;
    padding: 1rem 0;
    background: #FFFFFF;
}
.home-b div {
    margin: 0 auto;
}

.top-b {
    overflow: visible;
}
.top-b.fix-to-position {
    transition: 100ms linear left;
    left: 0;
}
.top-b.fix-to-position.active {
    left: -185px;
    width: 805px;
    max-width: inherit;
    background: #FFFFFF;
    padding: 1rem 0;
    box-sizing: content-box;
}
.width-full .top-b.fix-to-position.active {
    left: 0;
}
.width-full .top-b.fix-to-position.active:before,
.width-full .top-b.fix-to-position.active:after {
    content: "";
    background: #FFFFFF;
    position: absolute;
    width: 200px;
    height: 100%;
    top: 0;
    z-index: 999;
}
.width-full .top-b.fix-to-position.active:before {
    left: -200px;
}
.width-full .top-b.fix-to-position.active:after {
    right: -200px;
}

#pinside1,
#pinside2,
#pinside3,
#pinside4,
#pinside5 {
    margin: 0 auto;
}

/* Pub en fond de site */
#pbackground {
    margin: 0 auto;
    z-index: 0;
    position: absolute !important;
    top: 0;
    width: 100vw !important;
    transform: translateX(50%);
}
#pbackground div {
    transform: translateX(-50%);
}
#pbackground a {
    display: block;
}
#pbackground img {
    max-width: inherit;
}
#pbackground + aside {
    margin-top: 180px;
}

section.newsletter {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #7cbbc9;
    margin-top: 10rem;
    padding: 5rem 0;
    text-align: center;
    font-size: 1.3rem;
    color: #FFFFFF;
}
section.newsletter h1 {
    font-size: 3.5rem;
    font-weight: bold;
    margin: 0;
    line-height: 1;
    text-transform: uppercase;
}
section.newsletter h1:after {
    content: "Gratuit !";
    color: #FF4A59;
    font-weight: 700;
    margin: 0 0 0 1rem;
    font-size: .5em;
    vertical-align: top;
    text-transform: none;
}
section.newsletter p {
    margin: 2rem;
}
section.newsletter input[type=text],
section.newsletter input[type=submit] {
    font-size: 1.5rem;
    height: 4.6rem;
    border: 1px solid #FFFFFF;
    border-radius: 0;
    width: 48rem;
    max-width: 100%;
}
section.newsletter input[type=submit] {
    font-size: 2rem;
    font-weight: bold;
    text-transform: uppercase;
    width: 25rem;
}

section .pagination-pages {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-content: center;
}

/**
 * Pagination
 */
.pagination-pages li {
    margin: 4rem .25rem 0 .25rem;
    min-width: 2.8rem;
    height: 2.8rem;
    line-height: 2.8rem;
    text-align: center;
    font-weight: bold;
    padding: 0 .5rem;
    white-space: nowrap;
}
.pagination-pages a {
    padding: 0 .5rem;
    display: inline-block;
    min-width: 2.8rem;
    height: 2.8rem;
    line-height: 2.8rem;
    border: 1px solid #343e51;
}
.pagination-pages .page-count-active {
    background: #343e51;
    color: #FFFFFF;
    cursor: default;
}
.pagination-pages .page-count-active a {
    background: #343e51;
    color: #FFFFFF;
    cursor: default;
}

.block-item {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #d6d6d6;
    margin-top: 2rem;
    padding-top: 2rem;
}
.block-item.column {
    flex-direction: column;
}

.block-item.border-bottom {
    border-top: none;
    margin-top: 0;
    padding-top: 0;

    border-bottom: 1px solid #d6d6d6;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.block-item.border-bottom > div > :last-child {
    margin-bottom: 0;
}
.block-item.border-bottom:last-child {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.block-item > div {
    flex-basis: 50rem;
    display: flex;
    flex-direction: column;
}
.block-item header {
    width: 100%;
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
    display: flex;
}
.side .block-item header {
    display: block;
}
.block-item header img {
    display: block;
    margin: 2rem auto;
}
.block-item footer {
    margin-top: auto;
    width: 100%;
}
.block-item .title,
.block-item .title a:link,
.block-item .title a:visited,
.block-item .title a:hover,
.block-item .title a:active
{
    color: #000000;
}
.block-item .category {
    font-weight: 900;
    color: #7cbbc9;
}
.block-item .category + .date {
    border-left: 1px solid #707070;
    margin-left: 1rem;
    padding-left: 1rem;
    text-transform: uppercase;
}
.block-item .date {
    color: #999999;
}
.block-item .subhead {
    color: #7cbbc9;
    margin: auto 0 auto auto;
    text-transform: none;
    font-weight: normal;
}
.mce-content-body h3,
.block-item h3 {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.22;
}
.side .block-item h3 {
    font-size: 1.5rem;
    font-weight: 500;
}
.block-item .aside {
    margin: auto 0 auto auto;
    flex-basis: 25rem;
}
.block-item .content {
    font-size: 1.5rem;
    line-height: 1.5;
}
.block-item .aside img {
    display: block;
    margin: 0 0 0 auto;
    transition: 500ms transform;
    transform-origin: 50% 50%;
}
.block-item .aside a {
    overflow: hidden;
}
.block-item .aside img:hover {
    transform: scale(1.2);
}

.side .date {
    display: none;
}

.main-date {
    background: #343e51;
    text-align: center;
    font-size: 2rem;
    text-align: center;
    line-height: 2;
    color: #FFFFFF;
    font-weight: bold;
}
.main-date + .block-item {
    border-top: none;
}

.news .tags {
    display: flex;
    flex-wrap: wrap;
}
.news .tags li {
    margin: .5rem 2rem 1rem 0;
    font-weight: 500;
    font-style: italic;
    text-transform: uppercase;
    font-size: 1.2rem;
}
.news .tags li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: #343e51;
    width: .7rem;
    height: .7rem;
    margin-right: .7rem;
}
.news .tags a:link,
.news .tags a:active,
.news .tags a:hover,
.news .tags a:visited {
    color: #000000;
}
.news .share {
    text-align: center;
    flex-basis: 100%;
}

.new-item {
    border: none;
}
.new-item .tags li {
    font-weight: 700;
    font-style: normal;
    font-size: 1.5rem;
}
.new-item .tags li a:link,
.new-item .tags li a:visited,
.new-item .tags li a:active,
.new-item .tags li a:hover {
    display: block;
    border: 1px solid #343e51;
    padding: .7rem 1.4rem;
    color: #343e51;
}
.new-item .tags li:before {
    display: none;
}

.news-more-read .block-item.border-bottom {
    padding-bottom: 0;
}

/**
 * Page d'une actu
 */
.new-item .picture {
    display: block;
    float: none;
    margin: 0 auto;
    width: auto;
}

.news-same-category {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: auto;
    justify-content: space-between;
}
.news-same-category h2 {
    width: 100%;
}
.news-same-category .border-bottom {
    width: 31%;
    border: none;
    margin: 0 0 3rem 0;
    padding: 0;
    flex-direction: column;
}
.news-same-category .block-item > div {
    flex-basis: inherit;
}
.news-same-category .block-item > div:first-child {
    flex-basis: inherit;
}
.news-same-category .title {
    font-size: 1.5rem;
    margin: .5rem 0;
}
.news-same-category .picture {
    margin-bottom: .5rem;
}
.news-same-category .picture a {
    overflow: hidden;
}
.news-same-category .picture img {
    transition: 500ms transform;
    transform-origin: 50% 50%;
}
.news-same-category .picture img:hover {
    transform: scale(1.2);
}

.next-events,
.last-news,
.news-more-read,
.side .right-b,
.side .carnet,
.side .directory,
.side .video,
.last-edition {
    border-bottom: 1px solid #d6d6d6;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.side > div > *:last-child {
    margin-bottom: 0;
}
.side > div:last-child {
    border-bottom: none;
}

.last-edition p {
    padding: 0;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.22;
    text-align: center;
    color: #95989a;
    display: flex;
}
.last-edition p a:link,
.last-edition p a:active,
.last-edition p a:hover,
.last-edition p a:visited {
    color: #95989a;
}
.last-edition img {
    display: block;
    box-shadow: 0 0 .5rem #CCCCCC,
                5px 5px .5rem #CCCCCC;
    margin: 3rem auto;
}
.last-edition p span {
    display: block;
}
.last-edition p span.here {
    display: inline;
    color: #343e51;
    font-weight: bold;
}
.last-edition p > span {
    margin: auto 0;
}
.last-edition p > span:first-child {
    border-right: 1px solid #f6f6f6;
    padding-right: 1rem;
    margin-right: 1rem;
}
.last-edition p span.fa {
    font-size: 2.5rem;
}
.side .video iframe {
    height: 180px;
}

.next-events {
    font-weight: bold;
}
.next-events .item {
    border-top: 1px solid #d6d6d6;
    margin: 1rem 0;
    padding: 1rem 0;
    font-size: 1.5rem;
}
.next-events h2 + .item {
    border-top: none;
}
.next-events .name {
    color: #7cbbc9;
}
.next-events .date {
    color: #999999;
    text-transform: uppercase;
    font-size: 1.2rem;
    display: block;;
}
.next-events .description {
    display: block;
    margin: 1rem 0;
    font-weight: 500;
    line-height: 1.5;
}
.next-events .button {
    display: block;
    margin: 0 auto;
    font-size: 1.5rem;
    width: 100%;
}

.list-carnet .block-item > div {
    flex-basis: 60rem;
}
.list-carnet .block-item .aside {
    flex-basis: 15rem;
}
.list-carnet .block-item .anchor {
    display: block;
    position: relative;
    top: -250px;
    visibility: hidden;
}

/**
 * Carnet colonne de droite
 */
.carnet > div {
    display: flex;
}
.carnet > div:nth-child(even) {
    border-bottom: 1px solid #d6d6d6;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
.carnet img {
    margin-right: 1rem;
    max-width: 10rem;
}
.carnet a {
    color: #000000;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.15;
}
.carnet p {
    margin: 0;
}
.carnet span {
    display: block;
    margin: 1rem 0;
}
.carnet strong {
    font-size: 1.5rem;
}

.events .country img {
    display: block;
    margin: 0 auto 1rem auto;
}
.events .location {
    display: block;
    text-align: center;
}
.events .content a {
    color: #000000;
    text-decoration: underline;
}
.events article > div:first-child {
    flex-basis: 65rem;
}
.events .aside {
    flex-basis: 8rem;
}

.side .directory h2:after {
    content: " + de 1 000 entreprises !";
    font-size: .60em;
    font-weight: normal;
    display: inline-block;
    vertical-align: top;
    text-align: right;
    text-transform: none;
    line-height: 3.7rem;
    margin-left: 1rem;
}
.side .directory select {
    width: 80%;
}
.side .directory input {
    width: 60%;
    text-transform: uppercase;
}
.side .directory p {
    font-size: 1.3rem;
    margin: 1rem 0;
}

.block-item .whatsnew-subhead h3 {
    margin-bottom: 0;
}
.block-item.whatsnew {
    flex-direction: column;
}
.block-item.whatsnew img {
    display: block;
    margin: 0 auto;
}

/* Page identification */
.auth-container {
    line-height: 150%;
}
.auth-container-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.auth-container-content > div {
    padding: 0;
}
.auth-container-content > div.auth-login {
    width: 40%;
}
.auth-container-content > div.active-account {
    width: 50%;
}
.auth-container h3 {
    font-size: 2rem;
    margin: 0;
}
.auth-container h3 .count {
    display: inline-block;
    width: 4rem;
    line-height: 4rem;
    background: #7cbbc9;
    color: #FFFFFF;
    border-radius: 100%;
    text-align: center;
    margin-right: 1rem;
}
.auth-container h3.auth-subscription {
    color: #3FAF4B;
}
.auth-container h3.auth-subscription .count {
    background: #3FAF4B;
}
.auth-container h3 + div {
    margin: 0 0 5rem 5rem;
}
.auth-container h3.auth-registration-login + div {
    margin: 2rem 0 5rem 0;
}
.auth-container .auth-login .simple-login p.auth-lostpassword {
    margin: -28px 0 0 0;
    line-height: 28px;
}
.auth-container .simple-login dd.form-before-label,
.auth-container .auth-left .simple-login dt {
    margin-top: 1rem;
}
.auth-container form input[type=text],
.auth-container form input[type=password] {
    width: 100%;
}
.auth-container .auth-login .simple-login #submit-element {
    float: right;
    margin-top: 6px;
}
#remember_me {
    margin-left: 0;
}

.auth-container .findcodeabo img {
    display: none;
}
.auth-container hr {
    border: none;
    background: #343e51;
    height: 1px;
    font-size: 1px;
    margin: 20px 0;
}
.auth-container form {
    overflow: hidden;
}
.auth-container .errors {
    margin: 0 0 10px 0;
    padding: 0;
    color: #D2222C
}
.auth-container dl {
    margin: 0;
    padding: 0;
}
.auth-container dt {
    display: block;
    margin: 5px 0 0 0;
    padding: 0;
    clear: left;
}
.auth-container dd {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 26px;
}
.auth-container dd.form-before-label {
    float: left;
}
.auth-container dt.form-before-label {
    clear: none;
}
.auth-container #form-login2-label,
.auth-container #form-login-label,
.auth-container #submit-label,
.auth-container #form-login-element {
    display: none;
}
.auth-container #submit-element {
    clear: both;
    margin-top: 10px;
}
.auth-container input[type=text],
.auth-container input[type=password] {
    border: 1px solid #343e51;
}
.auth-container .auth-button {
    text-align: center;
}
.auth-container a.auth-button {
    display: inline-block;
    line-height: 3.2rem;
    padding: 0 1rem;
    color: #FFFFFF;
    border-radius: 2px;
    cursor: pointer;
    border: none;
    padding: 0 1rem;
    background: #343e51;
    vertical-align: middle;
    border: none;
    text-transform: uppercase;
    font-size: 1.3rem;
    font-weight: bold;
}
.auth-container a.auth-button-subscription {
    margin-top: 10px;
    background: #3faf4b;
}
.auth-packexclu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.auth-packexclu li:first-child {
    margin-left: 15px;
}
.auth-packexclu .plus {
    color: #D2232B;
    font-weight: bold;
}
.auth-container.subscription h3.auth-registration-login + div {
    margin: 0;
    padding: 0;
}
.auth-container.subscription h3 + div {
    margin: 0;
}
.auth-container .auth-buy-edition a.auth-button {
    position: relative;
}
.auth-buy-edition .price {
    display: block;
    position: absolute;
    right: -15px;
    bottom: -15px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background: #E3001B;
    border-radius: 100%;
}

/**
 * Formulaire type 1
 */
.form-type-1 dl {
    display: flex;
    flex-wrap: wrap;
}
.form-type-1 dt {
    display: none;
}
.form-type-1 dd {
    margin: 10px 0 0 0;
    padding: 0 2px 0 2px;
    flex-grow: 1;
    flex-shrink: 0;
    box-sizing: border-box;
    width: 100%;
}
.form-type-1 dd input[type=text],
.form-type-1 dd input[type=password],
.form-type-1 dd select {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    line-height: 40px;
}
.form-type-1 .description {
    margin-top: 0;
    color: #666666;
    font-size: 1.3rem;
    line-height: 1.3;
}

/**
 * Formulaire profil
 */
.profile dl {
    display: flex;
    flex-wrap: wrap;
}
.profile dd {
    margin: 10px 0 0 0;
    padding: 0 2px 0 2px;
    flex-grow: 1;
    flex-shrink: 0;
    box-sizing: border-box;
}
.profile dd input[type=text],
.profile dd input[type=password],
.profile dd select {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    line-height: 40px;
    background-color: transparent;
}
.profile dd#company-element,
.profile dd#company_status-element {
    width: 50%;
}
.profile dd#address-element,
.profile dd#address2-element {
    width: 100%;
}
.profile dd#post_code-element {
    width: 30%;
}
.profile dd#country-element {
    width: 20%;
}
.profile dd#city-element {
    width: 50%;
}
.profile dd#phone_number-element,
.profile dd#portable-element {
    width: 100%;
}
.profile #newsletter-label,
.profile #partner-label {
    width: calc(100% - 26px);
    flex-grow: 0;
    max-width: 100%;
}
.profile #newsletter-element,
.profile #partner-element {
    width: 26px;
    flex-grow: 0;
}
.profile dd#grecaptcharesponse-element {
    width: 100%;
}
.profile dd#grecaptcharesponse-element .g-recaptcha > div {
    margin: 0 auto;
}
.profile #register-label {
    display: none;
}
.profile #register-element {
    text-align: center;
    width: 100%;
    flex-grow: 0;
    margin-left: auto;
    margin-right: auto;
}
.profile #register-element input {
/*     font-weight: bold; */
    font-size: 120%;
    height: 40px;
    line-height: 40px;
    text-transform: uppercase;
}
.profile #portable {
    background: url("images/portable.png") 10px center no-repeat #FFFFFF;
    padding-left: 33px;
}
.profile #phone_number {
    background: url("images/phone.png") 10px center no-repeat #FFFFFF;
    padding-left: 45px;
}
.profile #code_promo-label {
    width: 50%;
    font-weight: bold;
    text-align: right;
    display: inline-flex;
    margin: 2rem 0;
}
.profile #code_promo-label label {
    vertical-align: middle;
    margin: auto 10px auto auto;
    display: block;
    font-size: 1.2em;
}
.profile #code_promo-element {
    width: 50%;
    margin: 2rem 0;
}

/**
 * Prodil utilisateur
 */
.profile-user-view {
    display: flex;
    flex-wrap: wrap;
}
.profile-user-view dt {
    position: relative;
    flex-basis: 30%;
    margin: .5rem 0;
    padding-left: 2rem;
}
.profile-user-view dd {
    flex-basis: 70%;
    margin: .5rem 0;
}
.profile-user-view dt:before {
    content: "";
    display: block;
    position: absolute;
    top: .5rem;
    left: 0;
    width: .7rem;
    height: .7rem;
    background: #343e51;
}

.ask-subscription dd#phone_number-element,
.ask-subscription dd#email-element {
    width: 50%;
}

.editions-item-buttons {
    padding: 2rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.account-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.account-header > div {
    margin: auto 0;
}
.menu-account {
    display: flex;
    justify-content: center;
    margin: 25px 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 500;
    list-style: none;
}
.menu-account li {
    margin: 0 auto;
    white-space: nowrap;
}
.menu-account span,
.menu-account a:link,
.menu-account a:visited,
.menu-account a:active,
.menu-account a:hover {
    color: #000000;
}
.menu-account .active {
    border-bottom: 2px solid #343e51;
    padding-bottom: .2rem;
}

.account-form-payment input[type="submit"] {
    font-size: 1.8rem;
    height: auto;
    padding: .5rem 1rem;
}

.container-page .row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin-top: 15px;
    margin-bottom: 15px;
}
.container-page .row .col-xl-3 {
    display: flex;
    flex-direction: column;
    max-width: 45%;
    justify-content: center;
}
.container-page .row .col-xl-6 {
    display: flex;
    flex-direction: column;
    width: 48%;
    text-align: center;
}
.container-page .mediakit li img {
    display: block;
    margin: auto;
    margin-bottom: 15px;
    width: 100%;
}
.container-page .row .col-xl-3 {
    margin: 0 auto;
    width: max-content;
}

.vign-abo {
    display: flex;
    flex-direction: column;
    width: 80%;
    min-width: 20rem;
    border-radius: 1.5rem;
    text-align: center;
    padding: 1.5rem;
    color: #7cbbc9;
    border: solid 1px #7cbbc9;
    margin: 2rem auto;
    flex: 1;
}
.vign-abo p:last-child {
    margin-top: auto;
}
.vign-abo .prix {
    font-weight: bold;
}
.vign-abo .prix span {
    display: block;
}
.vign-abo .link {
    display: block;
    background-color: #fec82f;
    color: #7cbbc9;
    text-transform: uppercase;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 75%;
    margin: 0 auto;
    font-weight: bold;
    border-radius: 5px;
}

/**
 * Annonce classées
 */
.annonce-header {
    display: flex;
    justify-content: space-between;
}
.annonce-header .button{
    margin: auto 0;
}
.annonces-classees {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
}
.annonces-classees li {
    margin: 0;
    width: 33.33%;
    text-align: center;
    line-height: 36px;
    font-size: 1.1em;
}
.annonces-classees li a:link,
.annonces-classees li a:hover,
.annonces-classees li a:visited,
.annonces-classees li a:active {
    display: block;
}
.annonces-classees li a:hover {
    font-weight: bold;
}

.annonces .block-item {
    flex-direction: column;
}

/* Formulaire annonce */
.form-annonce {
    margin: 0;
    padding: 0;
}
.form-annonce dl {
    display: flex;
    flex-wrap: wrap;
}
.form-annonce dt {
    width: 13rem;
    line-height: 250%;
    margin: 0;
}
.form-annonce dd {
    line-height: 250%;
    margin: 0;
    width: 80%;
}
.form-annonce .errors {
    line-height: 100%;
    margin: 0;
}
.form-annonce .description {
    display: inline;
    line-height: 250%;
    margin: 0;
}
.form-annonce #category-element .description {
    display: block;
    line-height: 100%;
    margin: 0;
    color: #EF0000;
}
.form-annonce .annonce-line {
    width: 330px;
}
.form-annonce input[type=checkbox] {
    margin: 0;
    vertical-align: middle;
}


#bank_transfert-label,
#register-label,
#payment-label,
#invoice-label,
#calculate-label,
#online-label,
#cheque-label {
    display: none;
}
#bank_transfert-element,
#register-element,
#payment-element,
#invoice-element,
#calculate-element,
#online-element,
#cheque-element {
    width: auto;
    margin: 2rem 1rem 0 0;
    flex-grow: 0;
    flex-shrink: 1;
}


/**
 * Archive des magazines
 */
.editions footer {
    padding-top: 2rem;
}
.editions .content p {
    margin: 0;
}
.editions .price {
    font-weight: 700;
    font-style: normal;
    font-size: 1.5rem;
    display: block;
    border: 1px solid #7cbbc9;
    padding: .7rem 1.4rem;
    color: #7cbbc9;
    text-align: center;
}
.editions .block-item > div {
    flex-basis: 40rem;
}
.editions .block-item .aside {
    flex-basis: 30rem;
    margin-top: 0;
}

.edition-details .button {
    width: 100%;
}


.quoideneuf-button {
    text-align: center;
}

.last-news .block-item header img {
    margin: 0;
    transition: 500ms transform;
    transform-origin: 50% 50%;
}
.last-news .block-item .picture a {
    overflow: hidden;
    display: block;
    margin: 2rem 0;
}
.last-news .block-item .picture img:hover {
    transform: scale(1.2);
}

.last-qdn .block-item .aside img {
    max-height: 15rem;
}


.last-products {
    display: flex;
    flex-wrap: wrap;
}
.last-products .block-item.border-bottom {
    width: 50%;
    flex-wrap: nowrap;
    margin: 0;
    padding: 2rem;
}
.last-products .block-item.border-bottom:last-child {
    border-bottom: 1px solid #d6d6d6;
}
.last-products .block-item.border-bottom:nth-child(odd) {
    border-right: 1px solid #d6d6d6;
}
.last-products .block-item.border-bottom:nth-child(3),
.last-products .block-item.border-bottom:nth-child(4) {
    border-bottom: none;
}
.last-products .aside {
    order: 0;
    margin: auto 2rem auto 0;
    width: 15%;
}
.last-products header {
    order: 1;
}
.last-products .content {
    order: 2;
    width: 85%;
}
.last-products .aside img {
    max-width: 100%;
    max-height: 10rem;
    margin: 0 auto;
}

.salon-online {
    width: 100%;
}
.salon-online p {
    margin: 1rem 0;
    text-align: center;
    text-transform: uppercase;
    color: #7cbbc9;
    text-decoration: underline;
    font-weight: bold;
}



/**
 * Autocompletion ville
 */
.city-selector {
    position: absolute;
    top: 0;
    left: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 100;
    min-width: 25rem;
    max-height: 20rem;
    background: #FFFFFF;
    box-sizing: border-box;
    border: 1px solid #343e51;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 1.3rem;
}
.city-selector a {
    display: block;
    padding: .2rem;
}
.city-selector a:hover {
    background: #343e51;
    color: #FFFFFF;
}

img.editor-image-gauche {
    float: left;
    margin: 0 2rem 2rem 0;
}
p.editor-introduction {
    font-weight: bold;
}

div.editor-encadre {
    background: #F4F4F4;
    padding: 2rem;
    border-top: 5px solid #343e51;
}
div.editor-encadre h4 {
    color: #343e51;
    margin: 0;
    font-size: 1.6rem;
}
div.editor-encadre p {
    margin: .5rem 0;
}
div.editor-encadre p:last-child {
    margin-bottom: 0;
}

/**
 * Liste des abonnements
 */

.subscription-types {
    display: flex;
    justify-content: center;
    white-space: nowrap;
    margin: 0;
    padding: 0;
    list-style: none;
}
.subscription-types li {
    border: 1px solid #343e51;
    color: #343e51;
}
.subscription-types li:first-child {
    border-radius: 1.5rem 0 0 1.5rem;
}
.subscription-types li:last-child {
    border-radius: 0 1.5rem 1.5rem 0;
}
.subscription-types li a {
    padding: 1.5rem 3rem;
    display: block;
    font-weight: bold;
    min-width: 20rem;
    line-height: 1.2;
}
.subscription-types li .frequency {
    font-style: italic;
    font-weight: 500;
}
.subscription-types li.active {
    background: #343e51;
}
.subscription-types li.active a {
    color: #FFFFFF;
}

.subscriptions {
    text-align: center;
    font-weight: 400;
}
.subscriptions h2 {
    text-transform: none;
    color: #343e51;
}
.subscriptions h2:before {
    width: 15rem;
    left: 50%;
    transform: translateX(-50%);
    background: #7cbbc9;
}
.container-subscriptions {
    display: flex;
    flex-wrap: wrap;
    margin: 5rem 0;
}
.container-subscriptions > div {
    margin: 0 2rem;
    padding: 2rem 2rem 10rem 2rem;
    border: 1px solid #343e51;
    border-radius: 2rem;
    position: relative;
}
.container-subscriptions-2 > div {
    width: calc(100% / 2 - 2 * 2rem);
}
.container-subscriptions-3 > div {
    width: calc(100% / 3 - 2 * 2rem);
}
.container-subscriptions-4 > div {
    width: calc(100% / 4 - 2 * 2rem);
}

.container-subscriptions h3 {
    text-transform: uppercase;
    color: #343e51;
    font-size: 1.4rem;
    margin-bottom: 5rem;
}
.container-subscriptions .header {
    min-height: 12rem;
}
.container-subscriptions p {
    margin: 0;
    line-height: 1;
}
.container-subscriptions .info p {
    margin: 15px 0;
    line-height: 1.3;
}
.container-subscriptions .price-container > span {
    display: block;
}
.container-subscriptions .edition-count,
.container-subscriptions .price {
    color: #bc2f2f;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.7rem;
    margin: 0;
}
.container-subscriptions .edition-count-min {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin: 2rem 0;
    color: #bc2f2f;
    font-weight: bold;
    text-transform: uppercase;
}
.container-subscriptions .price {
    font-size: 2.4rem;
    margin: 2rem 0;
}
.container-subscriptions .price-reduce {
    font-size: 1.4rem;
}
.container-subscriptions .button-container {
    min-height: 5rem;
}
.container-subscriptions .button-container a.button {
    border-radius: .5rem;
    padding: 1.3rem 2rem;
    line-height: 1;
}
.container-subscriptions hr {
    border: none;
    height: 1px;
    line-height: 1;
    font-size: 1px;
    background: #F0F0F0;
    background: RGBA(150, 150, 150, .4);
    padding: 0;
    margin: 3rem 0;
}
.container-subscriptions ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
    line-height: 1.3;
}
.container-subscriptions ul li {
    margin: 15px 0;
}
.container-subscriptions ul li .fa {
    color: #343e51;
    margin-right: 1rem;
}
.container-subscriptions > div.advisable {
    background: #343e51;
    color: #FFFFFF;
}
.container-subscriptions .advisable h3 {
    color: #FFFFFF;
}
.container-subscriptions .advisable .edition-count,
.container-subscriptions .advisable .price {
    color: #7cbbc9;
}
.container-subscriptions .advisable .button {
    background: #FFFFFF;
    color: #343e51;
}
.container-subscriptions .advisable-title {
    background: #7cbbc9;
    color: #343e51;
    position: absolute;
    margin: 0;
    padding: 1rem 2rem;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    font-weight: bold;
    font-size: 1.2rem;
    text-transform: uppercase;
}
.container-subscriptions .advisable ul li .fa {
    color: #FFFFFF;
}
