/* ===== 00-fonts.css ===== */
/* Roboto 100-900 as the source's custom.css imports it (the Buildr "Roboto:300|Open+Sans:300" request loaded nothing visible and is not carried). */
@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap);

/* ===== 10-base.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Base. The source is a Buildr (ZGF) page: root font-size 13 px, Roboto Light, links #2c3e50 (white on hover), a white page.
   Its sheets reset ul/p/h1 margins (custom.css), set `p { margin: 0 0 15px; line-height: 1.4em }` and h2 2.5em / h3 1.7em.
   Cassiopeia's grid and card chrome are neutralised so the module HTML sits in full-width rows exactly like Buildr's rows.
   --------------------------------------------------------------------------------------------------------------- */
/* D1: no sideways scroll at any width (clip on both html and body, so scrollTo(500, 0) stays at 0) */
html, body { overflow-x: clip; }
html { width: 100%; font-size: 13px; font-weight: 300; color: #606c76; background: #fff; text-size-adjust: 100%; }
body { margin: 0; padding: 0; background: #fff; color: #606c76; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 300; line-height: normal; display: block; }
*, *::before, *::after { box-sizing: border-box; }
a { color: #2c3e50; text-decoration: none; background: transparent; }
a:hover, a:focus { color: #fff; text-decoration: none; }
img { max-width: 100%; border: 0; vertical-align: baseline; }
iframe { max-width: 100%; max-height: 100%; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h1, :where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h2, :where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h3, :where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h4, :where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h5, :where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h6 { text-rendering: optimizelegibility; line-height: 1.4em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h1 { font-size: 3em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h2 { font-size: 2.5em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h3 { font-size: 1.7em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) p { margin: 0 0 15px; line-height: 1.4em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) ul { margin-left: 16px; margin-bottom: 30px; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) label { display: block; cursor: pointer; font-weight: normal; margin-bottom: 4px; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) sub, :where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) sub { bottom: -0.25em; }

/* the page is a stack of full-width rows: Cassiopeia's grid, child padding and brand are not used */
.site-grid { display: flex; flex-direction: column; width: 100%; max-width: none; margin: 0; padding: 0; }
.site-grid > .grid-child, .container-top-a, .container-top-b, .container-component, .container-bottom-a { width: 100%; max-width: none; margin: 0; padding: 0; }
.container-component > main { display: block; }
.blog-featured { display: none; }
footer.container-footer { display: block; width: 100%; max-width: none; margin-left: 0; margin-right: 0; margin-bottom: 0; padding-left: 0; padding-right: 0; border: 0; box-shadow: none; position: relative; color: #606c76; }
footer.container-footer > .grid-child { max-width: none; margin: 0; padding: 0; }
.com-content-article { margin: 0; padding: 0; }
.com-content-article__body { margin: 0; padding: 0; }
.mod-custom, .moduletable { margin: 0; padding: 0; }
.visually-hidden-focusable { position: absolute; }
/* Buildr's `.clearfix::after` rows contain their floats */
.container-top-a::after, .container-top-b::after, .container-component::after, .container-bottom-a::after { content: ""; clear: both; display: table; }

/* Buildr rows: a full-width row (background) around a `.zen-container` of 85 % (max 1656 px; 80 % up to 787 px, 85 % up to 620 px).
   Cassiopeia has one element per row, so the container becomes the row's side padding. */
.site-grid > .container-top-a, .site-grid > .container-top-b, .site-grid > .container-component, .site-grid > .container-bottom-a, footer.container-footer { padding-left: max(7.5%, calc((100% - 1656px) / 2)); padding-right: max(7.5%, calc((100% - 1656px) / 2)); }
@media (max-width: 787px) { .site-grid > .container-top-a, .site-grid > .container-top-b, .site-grid > .container-component, .site-grid > .container-bottom-a, footer.container-footer { padding-left: 10%; padding-right: 10%; } }
@media (max-width: 620px) { .site-grid > .container-top-a, .site-grid > .container-top-b, .site-grid > .container-component, .site-grid > .container-bottom-a, footer.container-footer { padding-left: 7.5%; padding-right: 7.5%; } }
/* the footer row is `container-padding`: its spotlight takes 5 % side padding on tablets and phones */
@media (max-width: 787px) { footer.container-footer > .grid-child { padding-left: 5%; padding-right: 5%; } }

/* the component row exists on the source on every article page (an empty article still takes its 28 px of padding and margin) but not on the home page (a featured view without articles);
   the article title and the category link are shown as the source shows them (title never, category only on the legal pages) */
body.view-featured .container-component { display: none; }
.container-component .page-header { display: none; }
.site-grid > .container-component { display: flow-root; }
.site-grid > .container-component > main { margin: 0 0 15px; padding-top: 13px; }
/* Buildr rows are floats (a block formatting context): the margins of their modules never collapse through the row */
.site-grid > .container-top-a, .site-grid > .container-top-b, .site-grid > .container-bottom-a, footer.container-footer { display: flow-root; }
footer.container-footer > .grid-child { display: block; }
.container-top-a > *, .container-top-b > *, .container-bottom-a > *, footer.container-footer > .grid-child > * { margin-top: 0; margin-bottom: 0; }
/* Buildr resets only the top margin of headings; the browser's bottom margins apply (Bootstrap's .5rem does not) */
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h2 { margin-bottom: 0.83em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h3 { margin-bottom: 1em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h4 { margin-bottom: 1.33em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h5 { margin-bottom: 1.67em; }
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h6 { margin-bottom: 2.33em; }
/* `.zen-container` is the containing block of the carried absolute positions (photos, bands): the module root plays that role */
.container-top-a > *, .container-top-b > *, .container-bottom-a > *, footer.container-footer > .grid-child > * { position: relative; }
/* `.moduletable h3 { font-size: 1.7em; text-transform: uppercase }`: every module heading of the source (the footer address) is upper case */
.container-top-a h3, .container-top-b h3, .container-bottom-a h3, footer.container-footer h3 { font-size: 1.7em; text-transform: uppercase; }
/* links: Buildr's `a { color: #2c3e50; text-decoration: none }`, white on hover; Cassiopeia underlines bare links */
a:not([class]), a:not([class]):hover, a[class=""] { text-decoration: none; }
a:not([class]) { color: #2c3e50; }
a:not([class]):hover, a:not([class]):focus { color: #fff; }
b, strong { font-weight: bold; }

/* ===== 20-header.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Header, toolbar, drawer and phone button.
   Source: #navwrap (>= 621 px, 125 px, white, NOT fixed: logo col 16.6 % | menu col 58.1 % | social col 25 %) and #toolbar
   (<= 620 px, 119 px, fixed, white, mobile logo + dark hamburger) with a Slidebars push drawer from the right.
   Cassiopeia's header plays both roles: topbar = mobile logo, below-top = logo + flag, menu = mod_menu, search = social links;
   user.js adds the hamburger and builds the drawer from the menu.
   --------------------------------------------------------------------------------------------------------------- */
header.container-header { display: grid; grid-template-columns: 16.6% 58.1% 25%; grid-template-rows: 125px; width: 100%; max-width: none; height: 125px; min-height: 0; margin: 0; padding: 0; border: 0; background: #fff !important; background-image: none !important; box-shadow: none; position: relative !important; z-index: 2; color: #000; }
header.container-header > .grid-child { max-width: none; margin: 0; padding: 0; }
header.container-header .navbar-brand { display: none; }
header.container-header .container-topbar { display: none; }
header.container-header .container-below-top { display: block; grid-column: 1; grid-row: 1; height: 125px; }
header.container-header .container-nav { display: contents; }
header.container-header .container-nav > ul.mod-menu { grid-column: 2; grid-row: 1; }
header.container-header .container-nav > .container-search { grid-column: 3; grid-row: 1; margin: 0; padding: 0; height: 125px; }
header.container-header .container-search .mod-custom, header.container-header .container-search .moduletable { margin: 0; padding: 0; }

/* logo and flag (custom.css #navwrap .belouevre__logo) */
header.container-header .belouevre__logo { padding: 20px 20px 20px 40px; height: 125px; display: flex; align-items: center; }
header.container-header .belouevre__logo a { flex: 0 0 40%; height: 100%; }
header.container-header .belouevre__logo a:nth-child(2) { flex: 0 0 40px; margin-left: 30px; display: flex; justify-content: center; align-items: center; }
header.container-header .belouevre__logo a:nth-child(2) img { height: 28px; width: auto; }
header.container-header .belouevre__logo a img { width: auto; height: 100%; }
/* social links (custom.css #navwrap .belouevre__social-links) */
header.container-header .belouevre__social-links { display: flex; justify-content: space-between; align-items: center; height: 125px; }
header.container-header .belouevre__social-links-left { flex: 0 0 30%; }
header.container-header .belouevre__social-links-left img { margin-right: 20px; }

/* menu (custom.css #navwrap .zen-menu ...): 17 px Roboto Medium #00008b, active item underlined, dropdown panels #00008b */
header.container-header ul.mod-menu { height: 125px; width: 100%; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-around; align-items: center; font-family: Roboto, sans-serif; }
header.container-header ul.mod-menu > li { flex: 1 1 auto; margin: 0 10px; padding: 0; text-align: center; position: relative; list-style: none; line-height: 21px; }
header.container-header ul.mod-menu > li > a, header.container-header ul.mod-menu > li > .mod-menu__toggle-sub > .mod-menu__separator { display: block; margin: 0; padding: 0; font-family: Roboto, sans-serif; font-size: 17px; line-height: 1.18; font-weight: 500; color: #00008b; background: transparent; text-decoration: none; cursor: pointer; }
header.container-header ul.mod-menu > li > .mod-menu__toggle-sub { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: #00008b; font: inherit; cursor: pointer; }
header.container-header ul.mod-menu .icon-chevron-down { display: none; }
header.container-header ul.mod-menu > li.active > a, header.container-header ul.mod-menu > li.active > .mod-menu__toggle-sub > .mod-menu__separator { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 3px; }
header.container-header ul.mod-menu .mod-menu__sub { display: none; position: absolute; top: 100%; left: 10px; width: 100%; min-width: 0; margin: 0; padding: 20px; list-style: none; background: #00008b; z-index: 98; line-height: normal; text-align: left; }
header.container-header ul.mod-menu > li:hover > .mod-menu__sub, header.container-header ul.mod-menu > li:focus-within > .mod-menu__sub { display: block; animation: caf-fade 0.4s ease; }
@keyframes caf-fade { from { opacity: 0; } to { opacity: 1; } }
header.container-header ul.mod-menu .mod-menu__sub li { display: block; width: 100%; margin: 0; padding: 0; list-style: none; }
header.container-header ul.mod-menu .mod-menu__sub a { display: block; width: 100%; padding: 8px 0; border: 0; background: none; font-family: Roboto, sans-serif; font-size: 17px; line-height: 1.18; font-weight: 400; color: #fff; text-decoration: none; }
header.container-header ul.mod-menu .mod-menu__sub a:hover, header.container-header ul.mod-menu .mod-menu__sub a:focus { color: #fff; text-decoration: none; }
header.container-header ul.mod-menu .mod-menu__sub li.active > a { font-weight: 700; color: #fff; }

/* toolbar hamburger and drawer exist only <= 620 */
.caf-toggle, .caf-drawer { display: none; }

/* ---- <= 620: toolbar (D2: the source hides the header at exactly 620 px and its toolbar only below 620; the toolbar is shown at 620) ---- */
@media (max-width: 620px) {
  header.container-header { position: fixed !important; top: 0; left: 0; display: block; width: 100%; height: 119px; padding: 25px 7.5%; background: #fff !important; z-index: 10; }
  header.container-header .container-topbar { display: block; float: left; width: 50%; }
  header.container-header .container-topbar a { display: inline; }
  header.container-header .container-topbar img { max-width: 100%; }
  header.container-header .container-below-top, header.container-header .container-nav { display: none; }
  header.container-header::after { content: ""; display: table; clear: both; }
  .caf-toggle { display: flex; justify-content: center; align-items: flex-start; float: left; width: 50%; }
  .caf-toggle__button { box-sizing: border-box; display: inline-block; width: 32px; height: 36px; margin: 0; padding: 10px 0; border: 1px solid #1a242f; border-radius: 0; background: #2c3e50; color: #fff; font-size: 11.7px; line-height: 14px; text-align: center; cursor: pointer; transition: 0.2s ease-in; }
  .caf-toggle__button:hover, .caf-toggle__button:focus-visible { background: #dc3522; border-color: #c6301f; color: #fff; }
  .caf-toggle__button .fa-solid { margin: 0; }
  /* Slidebars transforms the page, which turns the fixed toolbar into a part of the page: opened after scrolling, the pushed page shows no toolbar */
  html.caf-drawer-open header.container-header { position: absolute !important; }
}

/* ---- push drawer (Slidebars, from the right) ---- */
@media (max-width: 620px) {
  body > *:not(.caf-drawer):not(script):not(style):not(link) { transition: transform 400ms ease; }
  html.caf-drawer-open body > *:not(.caf-drawer):not(script):not(style):not(link):not(.button_covid) { transform: translateX(calc(-1 * var(--caf-drawer-w, 55%))); }
  .caf-drawer { display: block; position: fixed; top: 0; right: 0; height: 100%; width: var(--caf-drawer-w, 55%); overflow-y: auto; z-index: 1; background: #1a242f; visibility: hidden; transition: visibility 0s linear 400ms; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 300; }
  html.caf-drawer-open .caf-drawer { visibility: visible; transition-delay: 0s; }
  /* the phone button is hidden while the drawer is open (.sb-active .zen-fixed-top-right) */
  html.caf-drawer-open .button_covid { display: none; }
  .caf-drawer__close { display: block; padding: 0; margin: 0; border: 0; background: transparent; color: #606c76; font-size: 13px; line-height: 15px; cursor: pointer; }
  .caf-drawer__close .fa-solid { margin-right: 4px; font-size: 13px; }
  .caf-drawer__close:hover, .caf-drawer__close:focus-visible { color: #666; }
  .caf-drawer__body { padding: 60px 30px; color: #fff; clear: both; }
  .caf-drawer__menu { float: left; width: 100%; margin: 0 0 30px; padding: 0; list-style: none; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .caf-drawer__menu ul { display: none; margin: 0 0 0 16px; padding: 0; list-style: none; }
  .caf-drawer__menu li.open > ul { display: block; }
  .caf-drawer__menu li { margin: 0; padding: 4px 0; list-style: none; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .caf-drawer__menu li:last-child { border-bottom: 0; }
  .caf-drawer__menu li.parent > ul > li { margin-left: 0; }
  .caf-drawer__menu a, .caf-drawer__menu .caf-drawer__heading { display: block; padding: 10px 0; color: #eee; font-size: 13px; line-height: normal; font-weight: 300; text-decoration: none; background: none; border: 0; text-align: left; font-family: inherit; width: 100%; cursor: pointer; }
  .caf-drawer__menu a:hover, .caf-drawer__menu a:focus-visible { color: #666; }
  .caf-drawer__menu li.active > a { color: #333; }
  .caf-drawer__heading { position: relative; }
  /* accordion button: 25 x 25 #2c3e50, red when open or hovered */
  .caf-drawer__heading::after { content: "\f107"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: 0; top: 6px; width: 25px; height: 25px; line-height: 25px; text-align: center; font-size: 1.3em; background: #2c3e50; color: #fff; border-radius: 2px; transition: all 0.2s ease-in; }
  .caf-drawer__heading:hover::after, .caf-drawer__heading:focus-visible::after, li.open > .caf-drawer__heading::after { background: #dc3522; color: #fff; }
  li.open > .caf-drawer__heading::after { content: "\f106"; }
}
@media (max-width: 480px) { :root { --caf-drawer-w: 55%; } }
@media (min-width: 481px) { :root { --caf-drawer-w: 65%; } }

/* ---- fixed round phone button (module 127, #top-right): bottom right at every width, inside the viewport ---- */
.button_covid { position: fixed; bottom: 0; right: 10px; z-index: 10; }
.button_covid a { display: block; margin-bottom: 20px; }
.button_covid img { width: 60px; height: 60px; }

/* the drawer's text styles also hold above 620 px, where the drawer is hidden (its links are still part of the page) */
.caf-drawer__menu a, .caf-drawer__menu .caf-drawer__heading { color: #eee; font-weight: 300; }

/* ===== 30-site.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Site stylesheet. Carried from the source templates/buildr/css/custom.css (the site's own mobile-first BEM sheet: breakpoints
   576 / 768 / 1366 / 1920) without changes to the rules, except: the Buildr row ids are Cassiopeia's containers
   (#grid1wrap = .container-top-a, #grid2wrap = .container-top-b, #mainwrap = .container-component, #bottomwrap =
   footer.container-footer); the header, toolbar, phone button and the rules of pages and modules that were never rendered on
   the source (news, simulators, management, Expert+ lists, the quote forms, the second RSForm) are not carried.
   --------------------------------------------------------------------------------------------------------------- */
body,
html {
    scroll-behavior: smooth;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.beloeuvre__services h2 {
    font-size: 46px;
    font-weight: 700!important;
    line-height: 1.26;
    color: #13139f!important;
    margin-bottom: 63px;
}
.place h2 {
    margin-top: 5vh;
}
.place a.button-primary {
    margin: 3vh auto!important;
    display: block;
    width: fit-content;
    cursor: pointer;
}
*,
:after,
:before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}
.place h2 {
    margin-top: 5vh!important;
}
ul {
    list-style-type: disc;
    -webkit-padding-start: 0;
    padding-inline-start: 0
}

h1,
ul {
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-margin-end: 0;
    margin-inline-end: 0
}
.accueil__practice-info a {
	color: #13139f;
}
.accueil__practice-info a:hover {
	color: #37a4e3!important;
	cursor: pointer;
}


h1 {
    font-weight: 700
}

button {
    border: 1px solid #fff;
    background-color: transparent;
    color: #fff;
    padding: 17px 15px;
    font-family: Roboto, sans-serif;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
    cursor: pointer
}

p {
    display: block;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-after: 0;
    margin-block-end: 0;
    -webkit-margin-start: 0;
    margin-inline-start: 0;
    -webkit-margin-end: 0;
    margin-inline-end: 0
}
p.text{
  font-family: Roboto, sans-serif;
  font-size:15px;
  font-weight:300;
  line-height:21px;
    color: #13139f;
}

html>body {
    font-family: Roboto, sans-serif
}
.place {
    width: 50%;
    margin: auto;
    text-align: center;
}

ul.place2stay {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-around;
    align-items: stretch;
    width: 100%;
    margin: 2vh auto;
}

ul.place2stay li {
    border: 2px solid #37a4e3;
    width: 29%;
    display: flex;
    align-items: center;
    padding: 2vh;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.88;
    color: #13139f;
}
body {
    font-family: Roboto, sans-serif
}

:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h1,
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h2,
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h3,
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h4,
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h5,
:where(.container-top-a, .container-top-b, .container-component, .container-bottom-a, footer.container-footer) h6 {
    font-weight: 300;
    color: #000;
    text-rendering: optimizeLegibility;
    clear: both;
    margin-top: 0;
    font-family: Roboto, sans-serif
}

.invert-text {
    font-family: Roboto, sans-serif;
    color: transparent;
    -webkit-text-stroke-width: 1.2px;
    -webkit-text-stroke-color: #fff
}

.beloeuvre__button-block {
    margin: 32px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media (min-width:1366px) {
    .beloeuvre__button-block {
        margin-bottom: 128px
    }
}

.beloeuvre__button-block .button-primary {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    cursor: pointer;
    transition: 1s;
}

@media (min-width:576px) {
    .beloeuvre__button-block .button-primary {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto
    }
}

.button-primary {
    background-color: #13139f;
    color: #fff;
    padding: 20px 36px;
    font-family: Roboto, sans-serif;
    font-size: 15px;
    text-align: center;
    line-height: 1.2;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
}

.button-primary a {
    color: #fff
}

.button-primary--border {
    border: 1px solid #fff;
    padding: 10px
}

.bg-blue {
    background-color: #13139f
}

.bg-aqua {
    background-color: #37a4e3
}

.bg-orange {
    background-color: #ff9834
}

.bg-red {
    background-color: #ed004f
}

.bg-green {
    background-color: #00a89c
}

.bg-purple {
    background-color: #3e0066
}

.beloeuvre__headline {
    font-family: Roboto, sans-serif;
    font-size: 33px;
    line-height: 40px;
    font-weight: 700;
    text-align: left;
    position: relative
}

.beloeuvre__headline:after {
    display: none;
    content: " ";
    position: absolute;
    bottom: -50px;
    width: 50%;
    height: 3px;
    left: -25%;
    background-color: #00008b
}

@media (min-width:1366px) {
    .beloeuvre__headline:after {
        display: block
    }
}

@media (min-width:1366px) {
    .beloeuvre__headline {
        line-height: 1.25;
        font-size: 40px;
        margin: 0
    }
}

@media (min-width:1920px) {
    .beloeuvre__headline {
        line-height: 1.25;
        font-size: 59px;
        margin: 0
    }
}

.accueil__introduction {
    width: 100%
}

.accueil__introduction .accueil__header {
    display: block;
    background-color: #37a4e3;
    width: 100%;
    padding: 32px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__header {
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.accueil__introduction .accueil__header-mobile {
    margin-top: 33px;
    color: #37a4e3;
    font-size: 18px;
    line-height: 1.33;
    font-weight: 500;
    display: block
}

.accueil__introduction .accueil__header-mobile p {
    color: #37a4e3;
    width: 100%
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__header-mobile {
        display: none
    }
}

.accueil__introduction .accueil__header-text {
    display: block;
    margin-top: 28px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 45%;
        flex: 0 0 45%;
        margin: 40px 60px 60px 0;
        padding-left: 0
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 45%;
        flex: 0 0 45%;
        margin: 5% 8% 6%;
        padding-left: 5%
    }
}

.accueil__introduction .accueil__header-text .accueil__header-description {
    font-family: Roboto, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.63;
    color: #fff;
    margin-top: 28px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__header-text .accueil__header-description {
        margin-top: 80px;
        width: 90%;
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__header-text .accueil__header-description {
        margin-top: 80px;
        width: 90%;
        font-size: 16px
    }
}

.accueil__introduction .accueil__header-photo {
    margin: 0;
    position: relative;
    width: 100%;
    max-width: 609px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__header-photo {
        width: 36%;
        position: absolute;
        top: 68px;
        left: 8%
    }
}

.accueil__introduction .accueil__header-photo img {
    width: 100%
}

.accueil__introduction .accueil__header-vl {
    display: none;
    position: absolute;
    border-left: 3px solid #13139f;
    height: 300px;
    left: 10%;
    bottom: -240px;
    right: 0;
    font-weight: 500;
    line-height: 1.33;
    color: #37a4e3;
    font-family: Roboto, sans-serif;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding-left: 24px
}

.accueil__introduction .accueil__header-vl p {
    color: #37a4e3
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__header-vl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .accueil__introduction .accueil__header-vl p {
        font-size: 15px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__header-vl p {
        font-size: 18px
    }
}

.accueil__introduction .accueil__content {
    font-family: Roboto, sans-serif;
    position: relative;
    padding-bottom: 60px
}

@media (min-width:576px) {
    .accueil__introduction .accueil__content {
        padding-bottom: 160px
    }
}

.accueil__introduction .accueil__content .accueil__practice {
    display: block;
    color: #37a4e3;
    margin-bottom: 45px
}

@media (min-width:768px) {
    .accueil__introduction .accueil__content .accueil__practice {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__practice {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.accueil__introduction .accueil__content .accueil__practice-photo {
    display: block;
    max-width: 100%;
    height: auto
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__practice-photo {
        position: absolute;
        top: 173px;
        width: 55%;
        left: 0;
        z-index: 2
    }
}

.accueil__introduction .accueil__content .accueil__practice-info {
    display: block;
    position: relative;
    border: 2px solid #37a4e3;
    margin-top: 44px;
    padding: 22px;
    z-index: 3
}

@media (min-width:768px) {
    .accueil__introduction .accueil__content .accueil__practice-info {
        width: 100%;
        padding: 50px
    }
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__practice-info {
        margin-left: auto;
        margin-top: 0;
        width: 47%
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__practice-info {
        padding: 55px 100px 55px 85px
    }
}

.accueil__introduction .accueil__content .accueil__practice-info h2 {
    width: 100%;
    font-size: 33px;
    line-height: 1.26;
    margin-bottom: 11px;
    font-weight: 700;
    color: #37a4e3
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__practice-info h2 {
        font-size: 35px;
        margin-bottom: 20px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__practice-info h2 {
        font-size: 40px;
        width: 85%
    }
}

.accueil__introduction .accueil__content .accueil__practice-info p {
    width: 100%;
    line-height: 1.33;
    font-size: 18px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__practice-info p {
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__practice-info p {
        font-size: 18px
    }
}

.accueil__introduction .accueil__content .acceuil__convictions-wrapper {
    width: 100%;
    position: relative
}

.accueil__introduction .accueil__content .accueil__convictions {
    position: relative;
    width: auto;
    background-color: #13139f;
    color: #fff;
    padding: 22px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions {
        margin: 0 auto;
        width: 96%;
        padding: 50px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions {
        margin: 0 81px;
        padding: 56px 103px 64px 79px
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list1 {
    display: block;
    width: 100%;
    font-family: Roboto, sans-serif
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 {
        width: 42%;
        margin-left: auto
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list1 h2 {
    line-height: 1.33;
    font-size: 24px;
    color: #fff;
    font-weight: 500
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 h2 {
        font-size: 20px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 h2 {
        font-size: 24px
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list1 ul {
    margin-top: 30px;
    -webkit-padding-start: 16px;
    padding-inline-start: 16px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 ul {
        margin-top: 20px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 ul {
        margin-top: 30px
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list1 ul li {
    font-size: 18px;
    line-height: 1.33;
    font-weight: 300;
    margin-top: 6px;
    padding-left: 10px;
    color: #fff
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 ul li {
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions-list1 ul li {
        font-size: 18px
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2 {
    margin-top: 40px;
    display: block
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2 {
        margin-top: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2 {
        margin-top: 12vh;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2 h2 {
    font-size: 33px;
    color: #fff;
    font-weight: 500
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2 h2 {
        font-size: 36px
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid {
    display: block;
    list-style: none
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2grid {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #37a4e3;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    margin-top: 24px;
    padding: 31px
}

@media (min-width:1366px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box {
        margin-top: 0;
        padding: 20px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%
    }
}

@media (min-width:1920px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box {
        padding: 31px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        margin-top: 0
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box:nth-child(4) {
    text-align: left
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box:nth-child(4) p {
    font-weight: 400
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box:nth-child(4) .accueil__convictions-box-content {
    font-size: 24px
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box:nth-child(4) .button-primary {
    margin-top: 20px;
    width: 100%
}

@media (min-width:576px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box:nth-child(4) .button-primary {
        margin-top: 0
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box .accueil__convictions-box-content {
    width: 100%;
    font-weight: 300
}

@media (min-width:576px) {
    .accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box .accueil__convictions-box-content {
        height: 50%;
        width: 193px
    }
}

.accueil__introduction .accueil__content .accueil__convictions-list2grid .accueil__convictions-box img {
    margin-bottom: 30px
}

.accueil__offers {
    padding-top: 46px;
    background-color: #e9f5fa;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    text-align: center
}

@media (min-width:576px) {
    .accueil__offers {
        padding-top: 55px;
        padding-bottom: 65px;
    }
}

.accueil__offers-text {
    display: block;
    text-align: left;
    margin-bottom: 7%
}

.accueil__offers-text:before {
    display: none;
    content: " ";
    position: absolute;
    height: 129px;
    width: 41%;
    background-color: #00008b;
    top: -80px;
    right: -11%
}

@media (min-width:768px) {
    .accueil__offers-text:before {
        display: block
    }
}

@media (min-width:576px) {
    .accueil__offers-text {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.accueil__offers-text p {
    font-family: Roboto, sans-serif;
    font-size: 33px;
    font-weight: 700;
    line-height: 1.26;
    color: #13139f
}

@media (min-width:1366px) {
    .accueil__offers-text p {
        font-size: 38px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%
    }
}

@media (min-width:1920px) {
    .accueil__offers-text p {
        font-size: 46px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 38%;
        flex: 0 0 38%
    }
}

.accueil__offers-text img {
    display: none;
    position: absolute;
    right: 0;
    top: -4%;
    width: 49%
}

@media (min-width:1366px) {
    .accueil__offers-text img {
        display: block
    }
}

.accueil__offers-container {
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: left
}

.accueil__offers-container,
.accueil__offers-container .accueil__offers-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    color: #fff
}

.accueil__offers-container .accueil__offers-box {
    -webkit-box-orient: vertical;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 50px;
    padding: 32px 80px 35px 40px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box {
        padding: 20px 30px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 32%;
        flex: 0 0 32%
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box {
        padding: 40px 60px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 32%;
        flex: 0 0 32%
    }
}

.accueil__offers-container .accueil__offers-box:hover {
    -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .5);
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .5)
}

.accueil__offers-container .accueil__offers-box .from {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box .from {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box .from {
        font-size: 16px
    }
}

.accueil__offers-container .accueil__offers-box .number {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.53
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box .number {
        font-size: 40px
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box .number {
        font-size: 51px
    }
}

.accueil__offers-container .accueil__offers-box .number span {
    font-size: 17px;
    font-weight: 400;
    margin-left: 5px
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box .number span {
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box .number span {
        font-size: 17px
    }
}

.accueil__offers-container .accueil__offers-box .title {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.33
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box .title {
        font-size: 30px
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box .title {
        font-size: 36px
    }
}

.accueil__offers-container .accueil__offers-box .description {
    font-size: 15px;
    line-height: 1.67;
    font-weight: 200;
    margin-bottom: 11px;
    margin-top: 11px
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box .description {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box .description {
        font-size: 15px
    }
}

.accueil__offers-container .accueil__offers-box ul {
    list-style: none
}

@media (min-width:1366px) {
    .accueil__offers-container .accueil__offers-box ul {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .accueil__offers-container .accueil__offers-box ul {
        font-size: 15px
    }
}

.accueil__offers-container .accueil__offers-box ul li {
    margin-bottom: 10px;
    line-height: 2.14;
    font-weight: 400
}

.accueil__offers-container .accueil__offers-box ul li:before {
    content: "\2713";
    margin-right: 10px
}

.accueil__offers button {
    background-color: transparent;
    color: #13139f;
    border: 2px solid #13139f;
    margin-bottom: 78px;
    width: 100%
}

@media (min-width:576px) {
    .accueil__offers button {
        margin-top: 10px;
        margin-bottom: 60px;
        width: auto
    }
}

.accueil__client {
    margin-top: 121px;
    margin-bottom: 60px;
    position: relative
}

.accueil__client .accueil__client-content {
    background-color: #37a4e3;
    width: 100%;
    padding: 31px 9%
}

@media (min-width:576px) {
    .accueil__client {
        padding-top: 50px;
        padding-bottom: 56px
    }
}

.accueil__client .accueil__client-photo {
    position: absolute
}

.accueil__client .accueil__client-photo--left {
    top: 14%;
    right: -80px;
    width: 33%;
    display: none
}

@media (min-width:576px) {
    .accueil__client .accueil__client-photo--left {
        display: block
    }
}

.accueil__client .accueil__client-photo--right {
    top: 40%;
    height: 60%;
    right: -80px;
    display: none
}

@media (min-width:576px) {
    .accueil__client .accueil__client-photo--right {
        display: block
    }
}

.accueil__client h1 {
    color: #fff;
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.26
}

@media (min-width:1366px) {
    .accueil__client h1 {
        font-size: 35px
    }
}

@media (min-width:1920px) {
    .accueil__client h1 {
        font-size: 46px
    }
}

@media (min-width:576px) {
    .accueil__client .accueil__client-container {
        max-width: 50%
    }
}

.accueil__client .accueil__client-container p {
    color: #13139f;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.33;
    max-width: 150px
}

.accueil__client .accueil__client-container .accueil__client-row {
    display: block;
    margin-top: 22px
}

@media (min-width:1366px) {
    .accueil__client .accueil__client-container .accueil__client-row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 48px
    }
}

@media (min-width:1920px) {
    .accueil__client .accueil__client-container .accueil__client-row {
        margin-top: 65px
    }
}

.accueil__client .accueil__client-container .accueil__client-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 2px solid #13139f;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 45%;
    flex: 0 0 45%;
    width: 100%;
    position: relative;
    padding-top: 40%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    margin-top: 22px
}

@media (min-width:576px) {
    .accueil__client .accueil__client-container .accueil__client-item {
        margin-top: 0;
        padding-top: 20%
    }
}

.accueil__client .accueil__client-container .accueil__client-item-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.accueil__client .accueil__client-container .accueil__client-item-content a {
    text-decoration: none;
    color: #13139f;
    font-weight: 700;
    max-width: 80%;
    font-size: 18px
}

.beloeuvre__home .container-top-b {
    background-color: #e9f5fa
}

.beloeuvre__about-us .beloeuvre__button-block {
    margin-bottom: 70px
}

.about__header {
    width: 100%;
    display: block;
    background-color: #37a4e3;
    height: auto;
    position: relative;
    margin-bottom: 40px
}

@media (min-width:768px) {
    .about__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.about__header-photo {
    position: relative;
    width: 100%
}

@media (min-width:768px) {
    .about__header-photo {
        position: absolute;
        width: 46%;
        top: 68px;
        left: 8%
    }
}

.about__header-photo img {
    width: 100%
}

.about__header-text {
    margin: 0
}

@media (min-width:768px) {
    .about__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin-left: auto;
        margin-right: 3%
    }
}

.about__header-text .about__header-title {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.25;
    margin: 32px;
    position: relative
}

@media (min-width:1366px) {
    .about__header-text .about__header-title {
        font-size: 40px;
        margin: 150px 0 70px
    }
}

@media (min-width:1920px) {
    .about__header-text .about__header-title {
        font-size: 59px;
        margin: 30% 0 80px
    }
}

.about__header-text .about__header-title :after {
    content: "";
    display: none;
    position: absolute;
    bottom: -51px;
    left: -170px;
    border-top: 3px solid #13139f;
    width: 342px
}

@media (min-width:1366px) {
    .about__header-text .about__header-title :after {
        display: block;
        left: -82px;
        width: 216px
    }
}

@media (min-width:1920px) {
    .about__header-text .about__header-title :after {
        display: block;
        left: -100px;
        width: 342px;
        bottom: -51px
    }
}

.about__header-text .about__header-description {
    font-size: 16px;
    line-height: 1.63;
    font-weight: 400;
    color: #fff;
    padding: 0 65px 32px 32px
}

@media (min-width:768px) {
    .about__header-text .about__header-description {
        padding: 0;
        margin-bottom: 86px
    }
}

@media (min-width:1366px) {
    .about__header-text .about__header-description {
        font-size: 12px;
        width: 85%
    }
}

@media (min-width:1920px) {
    .about__header-text .about__header-description {
        font-size: 16px
    }
}

.about__presence {
    width: 100%;
    display: block
}

@media (min-width:1366px) {
    .about__presence {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }
}

.about__presence-text {
    border: 2px solid #37a4e3;
    display: block;
    padding: 31px;
    margin-top: 40px
}

@media (min-width:768px) {
    .about__presence-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 35%;
        flex: 0 0 35%;
        margin-top: 80px;
        padding: 50px 30px
    }
}

@media (min-width:1366px) {
    .about__presence-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 42%;
        flex: 0 0 42%;
        margin-top: 80px;
        padding: 30px
    }
}

@media (min-width:1920px) {
    .about__presence-text {
        padding: 50px 74px 60px 71px
    }
}

.about__presence-text h1 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.26;
    color: #37a4e3
}

@media (min-width:768px) {
    .about__presence-text h1 {
        font-size: 40px
    }
}

@media (min-width:1920px) {
    .about__presence-text h1 {
        font-size: 46px
    }
}

.about__presence-text p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.33;
    margin-top: 18px;
    color: #37a4e3
}

@media (min-width:1366px) {
    .about__presence-text p {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .about__presence-text p {
        font-size: 18px
    }
}

.about__presence-text h2 {
    font-size: 24px;
    font-weight: 500;
    margin-top: 40px;
    margin-bottom: 15px;
    color: #37a4e3
}

@media (min-width:1366px) {
    .about__presence-text h2 {
        font-size: 18px
    }
}

@media (min-width:1920px) {
    .about__presence-text h2 {
        font-size: 24px
    }
}

.about__presence-text ul {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.33
}

@media (min-width:768px) {
    .about__presence-photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%
    }
}

@media (min-width:1366px) {
    .about__presence-photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 54%;
        flex: 0 0 54%
    }
}

.about__presence-photo img {
    width: 100%
}

.about__summarize {
    background-color: #13139f;
    width: 100%;
    margin-top: 46px;
    color: #fff;
    margin-bottom: 61px;
    padding: 33px 33px 55px
}

@media (min-width:576px) {
    .about__summarize {
        width: 80%;
        padding: 70px 80px 75px 70px;
        margin-left: 7%;
        margin-top: 57px;
        margin-bottom: 180px
    }
}

.about__summarize-text h1 {
    color: #fff;
    font-size: 33px;
    font-weight: 500;
    line-height: 1.33
}

@media (min-width:1366px) {
    .about__summarize-text h1 {
        font-size: 25px;
        margin-bottom: 0
    }
}

@media (min-width:1920px) {
    .about__summarize-text h1 {
        font-size: 33px
    }
}

.about__summarize-box {
    display: block
}

@media (min-width:768px) {
    .about__summarize-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 47px
    }
}

.about__summarize-box .about__box-item {
    border: 2px solid #37a4e3;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    text-align: center;
    padding: 29px 30px;
    margin-top: 28px
}

@media (min-width:576px) {
    .about__summarize-box .about__box-item {
        margin-bottom: 30px
    }
}

@media (min-width:768px) {
    .about__summarize-box .about__box-item {
        margin-top: 0
    }
}

.about__summarize-box .about__box-item p {
    font-size: 18px;
    line-height: 1.56;
    color: #fff
}

@media (min-width:1366px) {
    .about__summarize-box .about__box-item p {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .about__summarize-box .about__box-item p {
        font-size: 18px
    }
}

.about__summarize-box .about__box-item h2 {
    font-size: 24px;
    font-weight: 500;
    color: #fff
}

.beloeuvre__about-us .container-top-b {
    background-color: #e9f5fa
}

.who__header {
    width: 100%;
    display: block;
    background-color: #37a4e3;
    position: relative
}

@media (min-width:1366px) {
    .who__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.who__header-photo {
    position: relative;
    display: block;
    width: 100%
}

@media (min-width:1366px) {
    .who__header-photo {
        position: absolute;
        top: 70px;
        left: 8%;
        width: 37%
    }
}

.who__header-photo img {
    width: 100%
}

.who__header-text {
    display: block
}

@media (min-width:768px) {
    .who__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 44%;
        flex: 0 0 44%;
        margin: 100px 30px 50px 20px
    }
}

@media (min-width:1920px) {
    .who__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 159px 140px 70px 0
    }
}

.who__header-text .who__header-title {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.25;
    margin: 33px 0 33px 33px;
    position: relative
}

@media (min-width:768px) {
    .who__header-text .who__header-title {
        margin: 0;
        font-size: 45px
    }
}

@media (min-width:1920px) {
    .who__header-text .who__header-title {
        margin: 0;
        font-size: 59px
    }
}

.who__header-text .who__header-title:after {
    content: " ";
    display: none;
    position: absolute;
    bottom: -50px;
    left: -170px;
    border-top: 3px solid #13139f;
    width: 342px
}

@media (min-width:1366px) {
    .who__header-text .who__header-title:after {
        display: block
    }
}

.who__header-text .who__header-description {
    font-size: 16px;
    line-height: 1.63;
    font-weight: 400;
    color: #fff;
    margin-right: 17px;
    margin-left: 33px;
    margin-top: 28px;
    padding-bottom: 33px;
    padding-right: 33px
}

@media (min-width:1366px) {
    .who__header-text .who__header-description {
        margin-left: 0;
        margin-right: 0;
        margin-top: 80px;
        padding-bottom: 0;
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .who__header-text .who__header-description {
        font-size: 16px
    }
}

.beloeuvre__button-block {
    margin-top: 95px
}

.who__mediation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #37a4e3;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

@media (min-width:1366px) {
    .who__mediation {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.who__mediation-text {
    border: 2px solid #37a4e3;
    padding: 33px;
    margin-top: 40px
}

@media (min-width:576px) {
    .who__mediation-text {
        margin-top: 85px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        -ms-flex-item-align: start;
        align-self: flex-start;
        padding: 30px 40px 30px 50px
    }
}

@media (min-width:1920px) {
    .who__mediation-text {
        padding: 54px 60px 43px 65px
    }
}

.who__mediation-text .header {
    font-size: 46px;
    line-height: 1.26;
    font-weight: 700
}

@media (min-width:768px) {
    .who__mediation-text .header {
        margin-bottom: 20px;
        font-size: 33px
    }
}

@media (min-width:1920px) {
    .who__mediation-text .header {
        font-size: 46px
    }
}

.who__mediation-text .text {
    font-size: 18px;
    line-height: 1.33;
    font-weight: 400
}

@media (min-width:1366px) {
    .who__mediation-text .text {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .who__mediation-text .text {
        font-size: 18px
    }
}

.who__mediation-photo {
    width: 100%
}

@media (min-width:576px) {
    .who__mediation-photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 54%;
        flex: 0 0 54%
    }
}

.who__mediation-photo img {
    width: 100%
}

.who__team {
    display: block;
    margin-top: 42px;
    margin-bottom: 46px
}

@media (min-width:768px) {
    .who__team {
        margin-top: 3%;
        margin-bottom: 90px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.who__team-photo {
    width: 100%
}

@media (min-width:576px) {
    .who__team-photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 46%;
        flex: 0 0 46%;
        width: auto
    }
}

.who__team-photo img {
    width: 100%
}

.who__team-text {
    margin-top: 6%;
    background-color: #13139f;
    color: #fff;
    padding: 33px
}

@media (min-width:576px) {
    .who__team-text {
        padding: 51px 75px 41px 65px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    }
}

.who__team-text .header {
    font-size: 33px;
    font-weight: 500;
    line-height: 1.26
}

@media (min-width:576px) {
    .who__team-text .header {
        font-weight: 700;
        font-size: 40px
    }
}

@media (min-width:1920px) {
    .who__team-text .header {
        font-size: 46px
    }
}

.who__team-text p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.33;
    margin-bottom: 10px
}

@media (min-width:1366px) {
    .who__team-text p {
        font-size: 11px
    }
}

@media (min-width:1920px) {
    .who__team-text p {
        font-size: 18px
    }
}

.beloeuvre__network .container-top-b {
    background-color: #e9f5fa;
    margin-top: 36px
}

@media (min-width:576px) {
    .beloeuvre__network .container-top-b {
        margin-top: 96px;
        padding-bottom: 105px;
    }
}


.beloeuvre__network .container-component {
    background-color: #e9f5fa;
    position: relative;
    margin-bottom: 103px
}

@media (min-width:768px) {
    .beloeuvre__network .container-component {
        margin-bottom: 52px
    }
}

.beloeuvre__network .container-component:after {
    display: none;
    content: " ";
    height: 50px;
    width: 100%;
    background-color: #fff;
    position: absolute;
    bottom: 0
}

@media (min-width:1366px) {
    .beloeuvre__network .container-component:after {
        display: block
    }
}


.network__header {
    background-color: #37a4e3
}

.network__header .network__header-container {
    display: block;
    padding: 33px
}

@media (min-width:1366px) {
    .network__header .network__header-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 50px 70px 0
    }
}

@media (min-width:1920px) {
    .network__header .network__header-container {
        padding: 68px 140px 0
    }
}

.network__header .network__header-container .network__header-photo {
    position: relative
}

@media (min-width:1366px) {
    .network__header .network__header-container .network__header-photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%
    }
}

@media (min-width:1920px) {
    .network__header .network__header-container .network__header-photo {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 46%;
        flex: 0 0 46%
    }
}

.network__header .network__header-container .network__header-photo img {
    max-width: 100%;
    height: auto
}

@media (min-width:1366px) {
    .network__header .network__header-container .network__header-photo img {
        position: absolute
    }
}

.network__header .network__header-container .network__header-text {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%
}

@media (min-width:1366px) {
    .network__header .network__header-container .network__header-text {
        margin: 91px 0 68px 45px
    }
}

@media (min-width:1920px) {
    .network__header .network__header-container .network__header-text {
        margin: 91px 0 67px 90px
    }
}

.network__header .network__header-container .network__header-text .network__header-title {
    font-size: 59px;
    font-weight: 700;
    line-height: 1.25;
    position: relative
}

@media (min-width:1366px) {
    .network__header .network__header-container .network__header-text .network__header-title {
        font-size: 40px
    }
}

@media (min-width:1920px) {
    .network__header .network__header-container .network__header-text .network__header-title {
        font-size: 59px
    }
}

.network__header .network__header-container .network__header-text .network__header-title:after {
    content: " ";
    display: none;
    position: absolute;
    border-top: 3px solid #13139f
}

@media (min-width:1366px) {
    .network__header .network__header-container .network__header-text .network__header-title:after {
        display: block;
        left: -90px;
        width: 240px;
        bottom: -50px
    }
}

@media (min-width:1920px) {
    .network__header .network__header-container .network__header-text .network__header-title:after {
        width: 342px;
        left: -120px
    }
}

.network__header .network__header-container .network__header-text .network__header-description {
    line-height: 1.63;
    font-weight: 400;
    color: #fff;
    font-size: 16px;
    margin-top: 30px
}

@media (min-width:1366px) {
    .network__header .network__header-container .network__header-text .network__header-description {
        font-size: 12px;
        margin-top: 80px
    }
}

@media (min-width:1920px) {
    .network__header .network__header-container .network__header-text .network__header-description {
        font-size: 16px
    }
}

.beloeuvre__button-block {
    margin-top: 47px
}

.network__content {
    position: relative
}

.network__content .header {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.26;
    margin-bottom: 10px
}

@media (min-width:1920px) {
    .network__content .header {
        font-size: 46px
    }
}

.network__content .network__offerbox {
    border: 2px solid #37a4e3;
    color: #37a4e3;
    padding: 33px;
    width: 100%;
    margin-bottom: 3%
}

@media (min-width:1366px) {
    .network__content .network__offerbox {
        width: 40%;
        padding: 50px 5%
    }
}

.network__content .network__offerbox .description {
    font-size: 18px;
    font-weight: 400;
    margin-top: 28px
}

@media (min-width:1366px) {
    .network__content .network__offerbox .description {
        margin-top: 0;
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .network__content .network__offerbox .description {
        font-size: 18px
    }
}

.network__content .network__figures {
    display: block;
    width: 100%;
    color: #fff;
    background-color: #13139f;
    margin-top: 30px;
    padding: 33px
}

@media (min-width:1366px) {
    .network__content .network__figures {
        margin-top: 0;
        width: 60%;
        z-index: 2;
        padding: 50px 5%;
        position: absolute;
        top: 12%;
        left: 38%
    }
}

.network__content .network__figures-box {
    margin-top: 10px;
    display: block
}

@media (min-width:768px) {
    .network__content .network__figures-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 0
    }
}

.network__content .network__figures-boxItem {
    border: 2px solid #37a4e3;
    text-align: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 48%;
    flex: 0 0 48%;
    margin-top: 4%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 18px;
    font-weight: 400;
    min-height: 174px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.network__content img {
    width: 100%;
    margin-top: 32px
}

@media (min-width:1366px) {
    .network__content img {
        width: 41%;
        margin-top: 0
    }
}

.network__concern {
    background-color: #e9f5fa;
    color: #13139f;
    padding-top: 31px;
    padding-bottom: 31px;
    margin-top: 35px
}

@media (min-width:768px) {
    .network__concern {
        padding: 0px 0 0;
    }
}

.network__concern-text .header {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.26;
    margin-bottom: 10px
}

@media (min-width:1366px) {
    .network__concern-text .header {
        font-size: 34px;
        width: 40%
    }
}

@media (min-width:1920px) {
    .network__concern-text .header {
        font-size: 46px;
        max-width: 580px
    }
}

.network__concern-text .description {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.33;
    margin-bottom: 40px
}

@media (min-width:1366px) {
    .network__concern-text .description {
        font-size: 12px;
        margin-bottom: 60px
    }
}

@media (min-width:1920px) {
    .network__concern-text .description {
        font-size: 18px
    }
}

.network__concern .network__concern-container {
    display: block
}

@media (min-width:768px) {
    .network__concern .network__concern-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.network__concern .network__concern-container .network__concern-box {
    border: 2px solid #13139f;
    text-align: center;
    padding: 40px 0;
    margin-top: 25px
}

@media (min-width:768px) {
    .network__concern .network__concern-container .network__concern-box {
        margin-top: 0;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 15%;
        flex: 0 0 30%;
    }
}

.network__concern .network__concern-container .network__concern-box p {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.33;
    width: 100%
}

@media (min-width:1366px) {
    .network__concern .network__concern-container .network__concern-box p {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .network__concern .network__concern-container .network__concern-box p {
        font-size: 18px
    }
}

.network__advantages {
    position: relative;
    padding-top: 40px;
    padding-bottom: 50px
}

@media (min-width:576px) {
    .network__advantages {
        margin-top: 120px;
        padding: 0;
        margin-bottom: 200px
    }
}

.network__advantages img {
    width: 100%;
    margin-bottom: 40px
}

@media (min-width:1366px) {
    .network__advantages img {
        width: 41%;
        position: absolute;
        right: 0;
        top: 330px;
        bottom: 40px;
        margin-bottom: 0;
        z-index: -1
    }
}

.network__advantages-container {
    color: #fff;
    background-color: #13139f;
    width: 100%;
    padding: 33px
}

@media (min-width:1366px) {
    .network__advantages-container {
        padding: 20px 5%;
        width: 64%
    }
}

.network__advantages-container .header {
    font-size: 33px;
    font-weight: 500;
    margin-bottom: 43px;
    width: 85%
}

@media (min-width:1366px) {
    .network__advantages-container .header {
        font-size: 34px
    }
}

@media (min-width:1920px) {
    .network__advantages-container .header {
        font-size: 46px;
        margin-bottom: 20px;
        padding-top: 22px
    }
}

.network__advantages-container .network__advantages-box {
    display: block
}

@media (min-width:1366px) {
    .network__advantages-container .network__advantages-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 18px
    }
}

@media (min-width:1920px) {
    .network__advantages-container .network__advantages-box {
        margin-bottom: 50px
    }
}

.network__advantages-container .network__advantages-boxItem {
    text-align: center;
    border: 2px solid #37a4e3;
    padding: 40px 10px;
    margin-top: 40px;
    font-size: 18px;
    font-weight: 400
}

@media (min-width:1366px) {
    .network__advantages-container .network__advantages-boxItem {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 48%;
        flex: 0 0 48%;
        margin-top: 4%;
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .network__advantages-container .network__advantages-boxItem {
        font-size: 18px
    }
}

.network__quality {
    display: block;
    padding-top: 50px;
    padding-bottom: 50px
}

@media (min-width:768px) {
    .network__quality {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-top: 72px;
        padding-bottom: 0
    }
}

@media (min-width:768px) {
    .network__quality .network__quality-image {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%
    }
}

.network__quality .network__quality-image img {
    width: 100%
}

.network__quality .network__quality-description {
    margin-bottom: 60px;
    margin-top: 20px
}

@media (min-width:768px) {
    .network__quality .network__quality-description {
        margin-top: 0;
        padding: 0 5%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        -ms-flex-item-align: center;
        align-self: center
    }
}

.network__quality .network__quality-title {
    font-size: 33px;
    font-family: Roboto, sans-serif;
    color: #13139f;
    font-weight: 700;
    margin-bottom: 20px
}

@media (min-width:1366px) {
    .network__quality .network__quality-title {
        font-size: 34px
    }
}

@media (min-width:1920px) {
    .network__quality .network__quality-title {
        font-size: 46px;
        width: 75%
    }
}

.network__quality .network__quality-text {
    font-size: 16px;
    font-family: Roboto, sans-serif;
    font-weight: 400;
    color: #13139f
}

@media (min-width:1366px) {
    .network__quality .network__quality-text {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .network__quality .network__quality-text {
        font-size: 18px
    }
}

.beloeuvre__offers .container-top-b {
    background-color: #e9f5fa;
    position: relative
}

.beloeuvre__offers .container-top-b:before {
    display: none;
    content: " ";
    background: #13139f;
    top: -60px;
    left: 80%;
    width: 20%;
    height: 150px;
    position: absolute
}

@media (min-width:768px) {
    .beloeuvre__offers .container-top-b:before {
        display: block
    }
}

@media (min-width:1366px) {
    .beloeuvre__offers .container-top-b:before {
        left: 75%;
        width: 25%
    }
}

@media (min-width:1920px) {
    .beloeuvre__offers .container-top-b:before {
        left: 80%;
        width: 20%
    }
}

.offer__header {
    width: 100%;
    display: block;
    background-color: #37a4e3;
    position: relative
}

@media (min-width:1366px) {
    .offer__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.offer__header-photo {
    position: relative;
    display: block;
    width: 100%;
    padding: 35px 33px
}

@media (min-width:1366px) {
    .offer__header-photo {
        padding: 0;
        position: absolute;
        top: 140px;
        left: 8%;
        width: 37%;
        top: 68px
    }
}

@media (min-width:1920px) {
    .offer__header-photo {
        top: 60px
    }
}

.offer__header-photo img {
    width: 100%
}

.offer__header-text {
    display: block;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 40%;
    flex: 0 0 40%;
    margin: 0 33px
}

@media (min-width:1366px) {
    .offer__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 161px 110px 99px 0
    }
}

@media (min-width:1920px) {
    .offer__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 233px 140px 168px 0
    }
}

.offer__header-text .offer__header-title {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 28px;
    position: relative
}

.offer__header-text .offer__header-title:after {
    display: none;
    position: absolute;
    bottom: -50px;
    border-top: 3px solid #13139f;
    content: " "
}

@media (min-width:1366px) {
    .offer__header-text .offer__header-title:after {
        display: block;
        width: 290px;
        left: -115px
    }
}

@media (min-width:1920px) {
    .offer__header-text .offer__header-title:after {
        left: -170px;
        width: 342px
    }
}

@media (min-width:768px) {
    .offer__header-text .offer__header-title {
        margin: 0;
        font-size: 48px
    }
}

.offer__header-text .offer__header-description {
    font-size: 16px;
    line-height: 1.63;
    font-weight: 400;
    color: #fff;
    padding-bottom: 45px
}

@media (min-width:1366px) {
    .offer__header-text .offer__header-description {
        margin-top: 80px;
        margin-left: 0;
        margin-right: 0;
        padding-bottom: 0;
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .offer__header-text .offer__header-description {
        font-size: 16px
    }
}

.offer__container {
    background-color: #e9f5fa;
    padding: 46px 0 40px
}

@media (min-width:576px) {
    .offer__container {
        padding-top: 55px
    }
}

.offer__container .header {
    font-weight: 700;
    color: #13139f;
    font-size: 33px;
    line-height: 1.21;
    margin-bottom: 20px
}

@media (min-width:1366px) {
    .offer__container .header {
        width: 40%
    }
}

@media (min-width:1920px) {
    .offer__container .header {
        line-height: 1.26;
        font-size: 46px
    }
}

.offer__container .title {
    font-size: 18px;
    line-height: 1.33;
    font-weight: 400;
    color: #13139f
}

@media (min-width:1366px) {
    .offer__container .title {
        font-size: 14px
    }
}

@media (min-width:1920px) {
    .offer__container .title {
        font-size: 18px
    }
}

.offer__container .small {
    font-size: 15px;
    font-weight: 100;
    line-height: 1.67
}

@media (min-width:1366px) {
    .offer__container .small {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .offer__container .small {
        line-height: 1.4;
        font-size: 15px
    }
}

.offer__container .number {
    font-size: 33px;
    line-height: 1.21;
    font-weight: 700;
    margin-top: 10px
}

@media (min-width:1366px) {
    .offer__container .number {
        line-height: 1.5;
        margin-bottom: 0;
        margin-top: 0;
        font-size: 34px
    }
}

@media (min-width:1920px) {
    .offer__container .number {
        font-size: 51px
    }
}

.offer__container .number span {
    font-size: 17px;
    font-weight: 400;
    margin-left: 5px
}

.offer__container .offer__title {
    font-size: 24px;
    line-height: 2;
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 20px
}

@media (min-width:1366px) {
    .offer__container .offer__title {
        font-size: 24px
    }
}

@media (min-width:1920px) {
    .offer__container .offer__title {
        font-size: 36px;
        line-height: 1.33
    }
}

.offer__container .offer__partir {
    font-size: 16px
}

@media (min-width:1366px) {
    .offer__container .offer__partir {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .offer__container .offer__partir {
        font-size: 17px
    }
}

.offer__container .offer__pack {
    margin-bottom: 11px
}

@media (min-width:1366px) {
    .offer__container .offer__pack {
        font-size: 24px
    }
}

@media (min-width:1920px) {
    .offer__container .offer__pack {
        font-size: 36px
    }
}

.offer__container img {
    display: none;
    position: absolute;
    right: 0;
    top: -40px;
    width: 49%
}

@media (min-width:1366px) {
    .offer__container img {
        display: block
    }
}

.offer__container .offer__personalized {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 36px
}

@media (min-width:1366px) {
    .offer__container .offer__personalized {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        margin-bottom: 115px;
        margin-top: 40px
    }
}

.offer__container .offer__personalized-box {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 32px 25px 35px 36px;
    color: #fff;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30%;
    flex: 0 0 30%
}

@media (min-width:576px) {
    .offer__container .offer__personalized-box {
        padding: 45px 3%
    }
}

.offer__container .offer__personalized-box:hover {
    -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .5);
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .5)
}

.offer__container .offer__personalized-box ul {
    list-style: none
}

.offer__container .offer__personalized-box ul li {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.44;
    margin-bottom: 10px
}

.offer__container .offer__personalized-box ul li:before {
    content: "\2713";
    margin-right: 10px
}

@media (min-width:1366px) {
    .offer__container .offer__personalized-box ul li {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .offer__container .offer__personalized-box ul li {
        font-size: 16px
    }
}

.offer__container .offer__personalized-box p.offer__desc {
    margin-left: 25px
}

.offer__container .offer__personalized-box:first-child {
    height: 81%
}

.offer__container .offer__personalized-box:nth-child(2) {
    margin: 0 25px
}

.offer__container .offer__twopack {
    margin-bottom: 0
}

@media (min-width:576px) {
    .offer__container .offer__twopack {
        margin-bottom: 96px
    }
}

.offer__container .offer__twopack .header {
    font-size: 18px;
    line-height: 1.33;
    color: #13139f;
    font-weight: 400;
    margin-bottom: 45px
}

@media (min-width:576px) {
    .offer__container .offer__twopack .header {
        width: 51%
    }
}

.offer__container .offer__twopack span {
    font-size: 17px;
    font-weight: 400;
    margin-left: 5px
}

.offer__container .offer__twopack .offer__desc {
    font-size: 16px;
    line-height: 1.44;
    font-weight: 500
}

.offer__container .offer__twopack-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media (min-width:1366px) {
    .offer__container .offer__twopack-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

.offer__container .offer__twopack-container .offer__twopack-box {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 49%;
    flex: 0 0 49%;
    color: #fff;
    padding: 35px
}

.offer__container .offer__twopack-container .offer__twopack-box .offer__partir {
    font-weight: 500
}

.offer__container .offer__twopack-container .offer__twopack-box .span {
    font-weight: 500;
    font-size: 18px
}

@media (min-width:576px) {
    .offer__container .offer__twopack-container .offer__twopack-box {
        padding: 70px 3%
    }
}

.offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (min-width:576px) {
    .offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-list {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

.offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-listcolumn {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 40%;
    flex: 0 0 40%
}

.offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-listcolumn ul {
    list-style: none
}

.offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-listcolumn ul li {
    font-size: 16px;
    line-height: 1.44;
    font-weight: 500;
    margin-bottom: 10px
}

.offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-listcolumn ul li:before {
    content: "\2713";
    margin-right: 10px
}

@media (min-width:1366px) {
    .offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-listcolumn ul li {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .offer__container .offer__twopack-container .offer__twopack-box .offer__twopack-listcolumn ul li {
        font-size: 16px
    }
}

.offer__container .offer__twopack-container .bg-red {
    background-color: #ed004f
}

.offer__container .offer__twopack-container .bg-aqua {
    background-color: #00a89c
}

.offer__container .offer__realestate .header {
    font-size: 18px;
    line-height: 1.33;
    color: #13139f;
    font-weight: 400;
    margin-bottom: 45px
}

@media (min-width:576px) {
    .offer__container .offer__realestate .header {
        width: 57%
    }
}

.offer__container .offer__realestate ul {
    list-style: none
}

.offer__container .offer__realestate ul li {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.44
}

.offer__container .offer__realestate ul li:before {
    content: "\2713";
    margin-right: 10px
}

.offer__container .offer__realestate-container {
    background-color: #3e0066;
    display: block;
    color: #fff;
    padding: 40px 25px 45px 40px
}

@media (min-width:768px) {
    .offer__container .offer__realestate-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 70px 5%
    }
}

.offer__container .offer__realestate-container .offer__realestate-box:first-child {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%
}

.offer__container .offer__realestate-container .offer__realestate-box:nth-child(2) {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 35%;
    flex: 0 0 35%
}

.beloeuvre__services .container-top-b {
    background-color: #e9f5fa
}

.service__header {
    width: 100%;
    display: block;
    background-color: #37a4e3;
    position: relative
}

.service__header .bold {
    font-weight: 700
}

@media (min-width:768px) {
    .service__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

.service__header-photo {
    position: relative;
    display: block;
    width: 100%
}

@media (min-width:768px) {
    .service__header-photo {
        position: absolute;
        top: 70px;
        left: 8%;
        width: 37%
    }
}

.service__header-photo img {
    width: 100%
}

.service__header-text {
    font-size: 40px;
    display: block
}

@media (min-width:768px) {
    .service__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 60px 80px 70px 0
    }
}

@media (min-width:1366px) {
    .service__header-text {
        font-size: 59px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 38%;
        flex: 0 0 38%;
        margin: 180px 140px 95px 0
    }
}

@media (min-width:1920px) {
    .service__header-text {
        margin: 233px 140px 168px 0
    }
}

.service__header-text .service__header-description {
    font-size: 16px;
    line-height: 1.63;
    font-weight: 400;
    margin-top: 80px;
    color: #fff;
    margin-right: 17px;
    margin-left: 33px;
    padding-bottom: 33px
}

.service__header-text .service__header-description:first-child {
    font-weight: 700
}

@media (min-width:1366px) {
    .service__header-text .service__header-description {
        margin-left: 0;
        margin-right: 0;
        padding-bottom: 0;
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .service__header-text .service__header-description {
        font-size: 16px
    }
}

.service__list {
    padding-top: 108px;
    background-color: #e9f5fa
}

.service__list:before {
    display: none;
    content: " ";
    position: absolute;
    height: 129px;
    width: 41%;
    background-color: #00008b;
    top: -80px;
    right: -11%
}

@media (min-width:768px) {
    .service__list:before {
        display: block
    }
}

.service__list .service__list-image {
    display: none;
    position: absolute;
    right: 0;
    top: -4%;
    width: 49%
}

@media (min-width:576px) {
    .service__list .service__list-image {
        display: block
    }
}

.service__list .header {
    font-size: 46px;
    font-weight: 700;
    line-height: 1.26;
    color: #13139f;
    margin-bottom: 63px
}

.service__list .header2 {
    font-size: 36px;
    line-height: 1.33;
    font-weight: 500
}

@media (min-width:1366px) {
    .service__list .header2 {
        font-size: 24px
    }
}

@media (min-width:1920px) {
    .service__list .header2 {
        font-size: 36px
    }
}

.service__list .small {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 300;
    margin-bottom: 36px;
    margin-top: 30px
}

@media (min-width:1366px) {
    .service__list .small {
        font-size: 12px
    }
}

@media (min-width:1920px) {
    .service__list .small {
        font-size: 15px
    }
}

.service__list li {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.88
}

@media (min-width:1366px) {
    .service__list li {
        font-size: 13px
    }
}

@media (min-width:1920px) {
    .service__list li {
        font-size: 16px
    }
}

.service__list-step {
    border: 2px solid #37a4e3;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 55px 60px 56px 61px;
    width: 100%;
    margin-bottom: 10px;
    color: #13139f
}

@media (min-width:576px) {
    .service__list-step {
        width: 32%
    }
}

@media (min-width:1366px) {
    .service__list-step {
        padding: 55px 40px 56px 39px
    }
}

@media (min-width:1920px) {
    .service__list-step {
        padding: 55px 60px 56px 61px
    }
}

.service__list-step img {
    width: 55px;
    height: 55px;
    margin-bottom: 20px
}

@media (min-width:1366px) {
    .service__list-step img {
        width: 40px;
        height: 40px
    }
}

@media (min-width:1920px) {
    .service__list-step img {
        width: 55px;
        height: 55px
    }
}

.appointment__header {
    width: 100%;
    display: block;
    background-color: #37a4e3;
    position: relative;
    padding: 35px 33px 35px 32px
}

@media (min-width:768px) {
    .appointment__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media (min-width:1366px) {
    .appointment__header {
        padding: 0
    }
}

.appointment__header button {
    margin-top: 31px;
    width: 100%;
    border: 0
}

@media (min-width:768px) {
    .appointment__header button {
        margin-top: 50px;
        width: auto
    }
}

.appointment__header-photo {
    position: relative;
    display: block
}

@media (min-width:768px) {
    .appointment__header-photo {
        position: absolute;
        top: 10%;
        left: 8%;
        width: 37%
    }
}

@media (min-width:1366px) {
    .appointment__header-photo {
        width: 40%
    }
}

@media (min-width:1920px) {
    .appointment__header-photo {
        width: 37%
    }
}

.appointment__header-photo img {
    width: 100%
}

.appointment__header-text {
    display: block;
    position: relative
}

@media (min-width:768px) {
    .appointment__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 60px 80px 70px 0
    }
}

@media (min-width:1366px) {
    .appointment__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 100px 100px 70px 0;
        -ms-flex: 0 0 36%;
        flex: 0 0 36%;
        margin: 100px 140px 70px 0
    }
}

@media (min-width:1920px) {
    .appointment__header-text {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        margin: 159px 140px 70px 0
    }
}

.appointment__header-text .beloeuvre__headline:after {
    content: " ";
    display: none;
    position: absolute;
    bottom: -50px;
    left: -29%;
    border-top: 3px solid #13139f;
    width: 54%
}

@media (min-width:768px) {
    .appointment__header-text .beloeuvre__headline:after {
        display: block
    }
}

.appointment__header-text .appointment__header-description {
    font-size: 16px;
    line-height: 1.63;
    font-weight: 400;
    color: #fff;
    margin-top: 80px;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0;
    font-size: 12px
}

@media (min-width:1920px) {
    .appointment__header-text .appointment__header-description {
        font-size: 16px
    }
}

.beloeuvre__button-block {
    margin-top: 85px
}

    margin: 0
}

.container-top-a {
    margin-top: 150px
}

@media (min-width:576px) {
    .container-top-a {
        margin-top: 0
    }
}

footer.container-footer {
    padding-top: 30px;
    background-color: #37a4e3;
    margin-top: 71px
}

@media (min-width:576px) {
    footer.container-footer {
        padding-top: 60px;
        margin-bottom: 120px;
        background-color: #fff
    }
}

footer.container-footer .beloeuvre__footer {
    background-color: #37a4e3
}

@media (min-width:576px) {
    footer.container-footer .beloeuvre__footer {
        padding: 0 10%;
        background: linear-gradient(180deg, #fff, #fff 71px, #37a4e3 0, #37a4e3)
    }
}

footer.container-footer .beloeuvre__footer-contact {
    display: block
}

@media (min-width:576px) {
    footer.container-footer .beloeuvre__footer-contact {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

@media (min-width:576px) {
    footer.container-footer .beloeuvre__footer-contact .beloeuvre__footer-left {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
        flex: 0 0 60%
    }
}

footer.container-footer .beloeuvre__footer-contact .beloeuvre__footer-right .moduletable {
    display: none
}

@media (min-width:576px) {
    footer.container-footer .beloeuvre__footer-contact .beloeuvre__footer-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%
    }
    footer.container-footer .beloeuvre__footer-contact .beloeuvre__footer-right .moduletable {
        display: block
    }
}

footer.container-footer .beloeuvre__footer-contact .beloeuvre__address {
    margin-top: 68px;
    padding: 61px 20%;
    width: 100%;
    background-color: #00008b;
    margin-bottom: 31px
}

@media (min-width:576px) {
    footer.container-footer .beloeuvre__footer-contact .beloeuvre__address {
        margin-bottom: 0
    }
}

footer.container-footer .beloeuvre__footer-contact .beloeuvre__address span a {
    color: #fff
}

footer.container-footer .beloeuvre__footer-contact .beloeuvre__address h3 {
    color: #fff;
    font-weight: 700;
    font-size: 21px
}

footer.container-footer .beloeuvre__footer-contact .beloeuvre__address p {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 10px
}

footer.container-footer .beloeuvre__footer-contact .beloeuvre__address .payment {
    margin-top: 20px;
    text-align: center;
    text-decoration: none;
    color: #00008b;
    font-size: 15px;
    font-weight: 700;
    background-color: #fff;
    padding: 20px;
    display: block
}

footer.container-footer .beloeuvre__footer-info {
    border-top: 1px solid #fff;
    padding: 30px 0;
    color: #fff;
    font-size: 11px;
    font-weight: 300;
    text-align: center
}

footer.container-footer .rsform {
    margin-top: 0;
    margin-bottom: 41px;
    width: 100%
}

@media (min-width:576px) {
    footer.container-footer .rsform {
        margin-top: 131px;
        width: 90%;
        margin-bottom: 60px
    }
}

.who__mediation {
    margin-bottom: 180px;
}

.beloeuvre__acces {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 10px;
    line-height: 1.5em;
    padding: 1vh 1vw;
    border: 1px solid white;
}

.beloeuvre__acces ul {
    list-style-type: none;
}

.beloeuvre__acces ul li {
    padding-bottom: 1vh;
}


.beloeuvre__button-block .button-primary:hover {background: #37a4e3;}
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 812px) 
  and (orientation: portrait) { 
    ul.place2stay {display: flex;flex-direction: column;}
    ul.place2stay li {width: 100%;margin: 2vh auto;}
    .place {width: 80%;}
}

/* ===== 40-footer.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Footer map. The source's Widgetkit Google Maps JS map is a 400 px high box (392 px wide at 1440) that paints grey with only the red
   marker (deviation D11); staging holds the importer's keyless Google Maps embed at the same coordinates in the same box.
   --------------------------------------------------------------------------------------------------------------- */
.wk-map { display: block; position: relative; width: 100%; height: 400px; overflow: hidden; }
.wk-map iframe, .wk-map .wk-map-frame { display: block; width: 100%; height: 100%; max-width: none; max-height: none; border: 0; }
.wk-map address, .wk-map .wk-map-marker { display: none; }
/* up to 575 px the source hides the map module (.beloeuvre__footer-right .moduletable { display: none }) */
@media (max-width: 575px) { .beloeuvre__footer-right .wk-map, .beloeuvre__footer-right .uk-scope { display: none; } }
/* the legal line's links keep Buildr's link colour (#2c3e50, white on hover); Cassiopeia colours footer links with the footer text colour */
footer.container-footer .beloeuvre__footer-info a { color: #2c3e50; text-decoration: none; }
footer.container-footer .beloeuvre__footer-info a:hover, footer.container-footer .beloeuvre__footer-info a:focus { color: #fff; }

/* ===== 50-article.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Article layout. Source (Buildr article.php): header.article-header > h1.article-title (39/46.8 px Light #000, 15 px padding and margin
   below) when the article shows its title, aside.article-aside > ul.article-info > li.category-name > a (10.53 px, 33 px tall, a 48 px
   block) when it shows its category, then section.article-content. Staging prints Joomla 6's `dl.article-info` and `.page-header`:
   only the category is kept, as the one link text "static", at the same boxes. Author, dates, hits and icons are never shown.
   --------------------------------------------------------------------------------------------------------------- */
.container-component .page-header { display: flow-root; margin: 0; padding: 0; border: 0; }
.container-component .page-header h1, .container-component .page-header h2 { margin: 0 0 15px; padding: 0 0 15px; font-size: 39px; line-height: 46.8px; font-weight: 300; color: #000; font-family: Roboto, sans-serif; clear: both; }
.container-component dl.article-info:not(:has(dd.category-name)) { display: none; }
.container-component dl.article-info { display: flow-root; height: 48px; margin: 0; padding: 0; color: #555; font-size: 0; line-height: 13px; }
.container-component dl.article-info dt, .container-component dl.article-info dd:not(.category-name), .container-component dl.article-info .icon-folder-open { display: none; }
.container-component dl.article-info dd.category-name { display: block; width: max-content; margin: -15px 0 0; padding: 10px 0; color: #555; font-size: 0; line-height: 13px; }
.container-component dl.article-info dd.category-name a { color: #606c76; font-size: 10.53px; line-height: 13px; text-decoration: none; }
.container-component dl.article-info dd.category-name a:hover { color: #fff; }
.container-component .com-content-article__body { clear: both; }
/* the source shows no previous/next article navigation (show_item_navigation 0) */
.container-component nav.pagenavigation { display: none; }

/* ===== 60-form.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Contact form (RSForm form 4, footer of every page) in the modern RSForm style (deviation O1): 48 px outlined fields, a focus ring and
   clear error states in the site's colours and typography. Fields, placeholders, wording, hidden labels and the reCAPTCHA v3 field stay as
   on the source (white text on the #37a4e3 footer panel, labels hidden, consent text under the fields, outlined "Envoyer" button).
   RSForm's own front.css and responsive.css load as on the source; these rules scope to footer.container-footer .rsform.
   --------------------------------------------------------------------------------------------------------------- */
footer.container-footer .rsform { color: #fff; }
footer.container-footer .rsform .formResponsive { margin: 0; }
footer.container-footer .rsform .rsform-block-intro { margin-bottom: 40px; font-size: 18px; color: #fff; }
footer.container-footer .rsform .rsform-block-intro p { margin: 0; font-size: 18px; line-height: 1.33; color: #fff; }
footer.container-footer .rsform .formResponsive .formHorizontal .rsform-block { margin-bottom: 24px; }
footer.container-footer .rsform .formControls { margin-left: 0; }
footer.container-footer .rsform .formDescription { display: none; }
/* the source hides the labels of the text fields and of the submit button, the group label of the consent box and its legend: kept for screen readers */
footer.container-footer .rsform .rsform-block-email > label, footer.container-footer .rsform .rsform-block-envoyer > label, footer.container-footer .rsform .rsform-block-message > label,
footer.container-footer .rsform .rsform-block-prenom-nom > label, footer.container-footer .rsform .rsform-block-societe > label, footer.container-footer .rsform .rsform-block-rgpd > label,
footer.container-footer .rsform .rsform-block-captcha > label, footer.container-footer .rsform .rsfp-visually-hidden { display: block !important; position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

footer.container-footer .rsform .formResponsive input[type="text"], footer.container-footer .rsform .formResponsive input[type="email"], footer.container-footer .rsform .formResponsive textarea {
  display: block; box-sizing: border-box; width: 100%; max-width: 100%; height: 48px; margin: 0; padding: 0 16px;
  background: rgba(0, 0, 139, 0.22); color: #fff; border: 1px solid rgba(255, 255, 255, 0.9); border-radius: 3px; box-shadow: none;
  font-family: Roboto, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.4; transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
footer.container-footer .rsform .formResponsive textarea { height: 180px; min-height: 120px; padding: 12px 16px; resize: vertical; }
footer.container-footer .rsform .formResponsive input::placeholder, footer.container-footer .rsform .formResponsive textarea::placeholder { color: #fff; opacity: 0.92; font-size: 17px; line-height: 1.4; }
footer.container-footer .rsform .formResponsive input[type="text"]:hover, footer.container-footer .rsform .formResponsive textarea:hover { background: rgba(0, 0, 139, 0.3); }
footer.container-footer .rsform .formResponsive input[type="text"]:focus, footer.container-footer .rsform .formResponsive textarea:focus { outline: 3px solid #fff; outline-offset: 2px; border-color: #fff; background: rgba(0, 0, 139, 0.34); box-shadow: none; }
/* consent box */
footer.container-footer .rsform .rsform-block-rgpd .formBody label { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 0; color: #fff; font-size: 14px; font-weight: 400; line-height: 1.5; cursor: pointer; }
footer.container-footer .rsform .rsform-block-rgpd input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 1px 0 0; padding: 0; accent-color: #13139f; cursor: pointer; }
footer.container-footer .rsform .rsform-block-rgpd input[type="checkbox"]:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
footer.container-footer .rsform .rsform-block-rgpd a { color: #fff; text-decoration: underline; }
/* submit */
footer.container-footer .rsform .rsform-block-envoyer .rsform-submit-button { display: inline-block; box-sizing: border-box; width: 100%; padding: 20px 40px; border: 1px solid #fff; border-radius: 3px; background: transparent; color: #fff; font-family: Roboto, sans-serif; font-size: 15px; font-weight: 500; line-height: 1.2; cursor: pointer; transition: background-color 0.2s, color 0.2s; }
@media (min-width: 576px) { footer.container-footer .rsform .rsform-block-envoyer .rsform-submit-button { width: auto; } }
footer.container-footer .rsform .rsform-block-envoyer .rsform-submit-button:hover { background: #fff; color: #13139f; }
footer.container-footer .rsform .rsform-block-envoyer .rsform-submit-button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* error states: RSForm marks the field with .rsform-error and turns the hidden message into .formError; the form shows .formRed on top */
footer.container-footer .rsform .formResponsive .rsform-error, footer.container-footer .rsform .formResponsive input[aria-invalid="true"] { border-color: #fff; box-shadow: 0 0 0 2px #ed004f; background: rgba(237, 0, 79, 0.3); }
footer.container-footer .rsform .formNoError { display: none; }
footer.container-footer .rsform .formError, footer.container-footer .rsform .formValidation .formError { display: block; width: fit-content; max-width: 100%; margin: 8px 0 0; padding: 5px 10px; border-radius: 2px; background: #fff; color: #c4003f; font-size: 13px; font-weight: 500; line-height: 1.3; }
footer.container-footer .rsform .formRed { display: block; margin: 0 0 20px; padding: 8px 12px; border-radius: 2px; background: #fff; color: #c4003f; font-size: 14px; font-weight: 700; line-height: 1.3; }
/* the reCAPTCHA v3 badge stays where the plugin puts it (bottom right) */

/* ===== 90-defects.css ===== */
/* ---------------------------------------------------------------------------------------------------------------
   Repairs of the source's layout defects (user instruction 2026-10-09: repair every visible layout break, keep everything else 1:1).
   One block per defect id, scoped to its section and width band, using the source's own geometry from the nearest intact width.
   See plans/261009-0700-chartered-accountant-france-j6-native-rebuild/audit.md#source-layout-defects and presentation-log.md.
   D1 (sideways scroll) is the `html, body { overflow-x: clip }` rule of 10-base.css plus the band cuts below; D2 and D3 live with the header.
   --------------------------------------------------------------------------------------------------------------- */

/* D13 (found while building; not in the audit): the fixed toolbar covers the first 119 px of the page at <= 620 px. The source offsets the
   first row by 150 px up to 575 px (#grid1wrap margin-top) but not from 576 to 620 px, and never on the legal pages (no first row), so the
   photo, the legal heading and the first lines sit under the toolbar and cannot be read. The same 150 px offset applies to every page <= 620 px. */
@media (max-width: 620px) { .site-grid { padding-top: 150px; } }

/* D5a (home, >= 1366 px): the "Fusion International" photo (55 % wide, absolute, from the left edge) runs 2 % of the row under the bordered box
   (47 % wide, from the right edge), covering its bottom-left corner by 23-33 px. The photo is 52 % wide: a gap of 1 % of the row stays between them. */
@media (min-width: 1366px) { .accueil__introduction .accueil__content .accueil__practice-photo { width: 52%; } }

/* D3 (all pages, 621-1365 px): the header logo's width follows the narrowing first column (64 px at 1366 px down to 17 px at 621 px) while its
   height stays 85 px, so it is squashed. The logo keeps its natural 75 : 100 ratio (64 x 85 px) and the first column is never narrower than the logo,
   the flag and their offsets (194 px); the menu column takes what is left. At 1366 px and above nothing changes. */
@media (min-width: 621px) and (max-width: 1365px) {
  header.container-header { grid-template-columns: max(16.6%, 194px) minmax(0, 1fr) 25%; }
  header.container-header .belouevre__logo a:first-child { flex: 0 0 64px; }
  header.container-header .belouevre__logo a:first-child img { width: auto; height: 85px; max-width: none; }
}

/* D6 (home, "Your personal spaces", 576-1365 px): the last two link boxes touch (the stacked boxes have no gap); the decorative bar and the photo
   hang 80 px past the row (D1 cuts them at the page edge, where the source shows them); at 576-787 px the photo covers the right end of the boxes.
   The boxes get the 22 px gap that separates the first two; up to 787 px the photo sits bottom right inside the row,
   beside the boxes (the boxes take the left half). */
@media (min-width: 576px) and (max-width: 1365px) {
  .accueil__client .accueil__client-container .accueil__client-item + .accueil__client-item { margin-top: 22px; }
}
@media (min-width: 576px) and (max-width: 787px) {
  .accueil__client .accueil__client-photo--right { top: auto; bottom: 0; right: 0; width: 45%; height: auto; }
}

/* D7 (/services/our-services, 576-1365 px): the "5 steps" photo hangs 4 % of the list's height above the list (80-135 px) and covers the
   "CALL ME BACK" button above it (only a 10 px strip of the button shows). The photo starts 12 px above the list, 20 px under the button. */
@media (min-width: 576px) and (max-width: 1365px) { .service__list .service__list-image { top: -12px; } }

/* D10 (legal pages): the headings sit directly under the previous paragraph (0 px above, about 45 px below). Each heading gets the space above that the
   browser gives below it. */
.container-component .com-content-article__body > h2:not(:first-child), .container-component .com-content-article__body > h3:not(:first-child) { margin-top: 0.83em; }
.container-component .com-content-article__body > h3:not(:first-child) { margin-top: 1em; }

/* D12 (home, below 1366 px): the panel description and the `accueil__header-mobile` copy repeat the same paragraph one under the other
   (the vertical-rule paragraph that follows at 1366 px and above is hidden). The paragraph shows once, in the panel, as it does at every width. */
@media (max-width: 1365px) { .accueil__introduction .accueil__header-mobile { display: none; } }

/* D8 (wide screens, 1366-1919 px): the first-row photos are sized in viewport units (a share of the row) while the text blocks that follow keep fixed offsets,
   so near 1800-1919 px the team photo touches or covers the globe photo, the portrait covers the team photo, the packs photo covers the top of the cards
   and the "5 steps" photo touches the step boxes. Each photo keeps the size it has at 1600 px, where nothing touches (the 1920 px band re-spaces
   the page and is unchanged). */
@media (min-width: 1601px) and (max-width: 1919px) {
  .about__header-photo { max-width: 626px; }
  .who__header-photo { max-width: 503px; }
  .offer__header-photo { max-width: 503px; }
  .offer__container .offer__container-image, .offer__container > img, .service__list .service__list-image { max-width: 666px; }
}

/* D9 (/about-us/fusion-international, up to 620 px): the headline is 59 px bold; "International" is 337.6 px wide at that size, wider than the blue panel's
   text column below about 475 px, so it is cut at the panel edge and widens the page (up to +75 px). Same font and weight; the size only shrinks as far as
   the longest word needs (the column is 85 % of the page minus the panel's 2 x 33 px padding; 5.8 = the word's width in em, with a little room). */
@media (max-width: 620px) {
  .network__header .network__header-container .network__header-text .network__header-title { font-size: min(59px, calc((85vw - 66px) / 5.8)); }
}
