@font-face { font-family: GalanoClassic; src: local("GalanoClassic-Light"), url('fonts/GalanoClassic-Light.otf') format('truetype'); }
@font-face { font-family: GalanoClassic; src: local("GalanoClassic-Bold"), url('fonts/GalanoClassic-Bold.otf') format('truetype'); font-weight: bold; }
@font-face { font-family: GalanoClassic; src: local("GalanoClassic-Black"), url('fonts/GalanoClassic-Black.otf') format('truetype'); font-weight: 600; }

:root {
  --roug: #EA5553;
  --oran: #EB7624;
  --jaun: #FFDD00;
  --vert: #9EBF1A;
  --bleu: #4C7BB0;
  --marr: #9e7b4c;
  --grib: #F5F5F5;
  --gric: #C4C4C4;
  --grif: #212121;
  --noir: #1D1D1D;
  --blan: #fff;
}

body { margin: 0; font-family: GalanoClassic,Arial,Helvetica,Sans-Serif; font-size: 16px; line-height: 1.2; color: var(--noir); }

a { color: inherit; cursor: pointer; }
a:not(:hover) { text-decoration: none; }

img { max-width: 100%; }

wrp { position: relative; margin: auto; display: block; max-width: 1160px; }

sep { min-width: 32px; min-height: 32px; display: block; }
flx { display: inline-block; display: flex; flex: 1; justify-content: space-between; }
flx[col] { flex-direction: column; }
flx[lin] { flex-direction: row; }
flx[top] { align-items: start; }
flx[ctr] { align-items: center; }
flx[jst] { justify-content: start; }
flx[jct] { justify-content: center !important; }
flx[jsb] { justify-content: space-between !important; }
flx[jsa] { justify-content: space-around !important; }
flx[fl2] { flex: 2; }
flx[fln] { flex: none; }
grd { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); }
grd[gd4] { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
grd[gd6] { grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); }
grd[gap] { grid-gap: 2rem }
hr { margin: 0; border: 0; border-top: 1px solid; }

header { display: flex; position: fixed; left: 0; right: 0; top: 0; z-index: 9; padding: 8px calc(50% - 580px); background: var(--blan); transition: 0.3s; }
header:after { position: absolute; content: ''; left: 0; right: 0; bottom: -10px; height: 10px; background: linear-gradient(90deg, #FFDD00 20%, #9EBF1A 20%, #9EBF1A 40%, #EB7624 40%, #EB7624 60%, #4C7BB0 60%, #4C7BB0 80%, #EA5553 80%); }
header>a>img { transition: 0.3s; height: 128px; }
header>sep { width: 96px; }
header>div { display: flex; flex: 1; flex-direction: column; justify-content: center; }
header menu { margin: 0; padding: 0; display: flex; justify-content: space-around; align-items: center; }
header menu a { line-height: 40px; transition: 0.3s; overflow: hidden; text-transform: uppercase; font-size: 1.2em; }
header menu a.sel { font-weight: bold; }
header menu a:hover { text-decoration: none; }
header menu .lng_lst { width: 90px; pointer-events: all; }
header menu .lng_lst>* { margin-right: 8px; transition: 0.3s; }
header menu a.si- { margin-right: 12px; font-size: 20px; transition: 0.3s; }
header menu a.si-:hover { text-decoration: none; }
header smnu { display: block; position: relative; }
header smnu>flx { position: absolute; top: 0; left: 0; padding: 24px 60px 48px 45px; text-align: left; transition: opacity 0.2s; opacity: 0; pointer-events: none; }
header smnu>flx.aff { opacity: 1; pointer-events: all; }
header smnu>flx>flx { padding-right: 60px; }
header smnu [fl2] { flex-direction: column; flex-wrap: wrap; max-height: 180px; }
header smnu a { margin: 1em 0 0; font-size: 1.1em; transition: 0.3s; transform-origin: left; }
header smnu a:hover { text-decoration: none; transform: scale(1.1); text-shadow: -0.3px -0.3px 0px, 0.3px -0.3px 0px, -0.3px 0.3px 0px, 0.3px 0.3px 0px; }
header mbtn, header mbtn:before, header mbtn:after { width: 32px; height: 4px; background: var(--marr); background-clip: content-box; border-radius: 4px; }
header mbtn { position: relative; margin: 0 0 0 auto; border: solid transparent; border-width: 10px 0; cursor: pointer; }
header mbtn:before, header mbtn:after { position: absolute; content: ''; transform: translateY(-10px); }
header mbtn:after { transform: translateY(10px); }
body.scr header>a>img { height: 56px; }

footer { display: block; font-size: 0.8em; }
footer>flx>flx { justify-content: start; }
footer a { margin: 0 0 8px; text-transform: uppercase; font-weight: bold; }

cont { padding: 157px 0 48px; display: block; min-height: calc(100vh - 157px - 48px - 220px); }
cont elm { position: relative; display: block; }
cont p, footer p { margin-top: 0; }
cont p:last-child { margin-bottom: 0; }

input, textarea { border: none; outline: none; background: transparent; padding: 8px 16px; margin: 0; min-width: 0; flex: 1; font: inherit; }
input::placeholder, form textarea::placeholder {  }
button { padding: 12px 24px; outline: none; border: none; border-radius: 6px; font-weight: bold; cursor: pointer; }

.btn { padding: 0.8em 2em; border: 4px solid; border-radius: 8px; transition: 0.3s; cursor: pointer; }
.btn:hover { text-decoration: none; }

.tsc h3 { padding: 1.6em 0; margin: 0; font-size: 2em; }

.bl1 { position: relative; }
.bl1 .img { position: relative; background: center/cover; padding-top: calc(10vw + 200px); order: 1; }
.bl1.inv .img { order: 3; }
.bl1>wrp>flx>sep { order: 2; }
.bl1>wrp>flx>sep, .bl1>wrp>flx>flx>sep { width: 48px; }
.bl1 .txt { order: 3; }
.bl1.inv .txt { order: 1; }
.bl1:not(.inv) .btn { margin-right: auto; }
.bl1.inv .btn { margin-left: auto; }

.bl3 { position: relative; display: flex; flex-direction: column; flex: 1; transition: 0.3s; }
.bl3:hover { text-decoration: none; }
.bl3>* { padding: 8px; margin: 0; }
.bl3 i { position: relative; background: center/cover var(--gric); padding-top: 60%; border-radius: 6px; font-style: normal; }
.bl3 i tag { position: absolute; left: 8px; bottom: 8px; padding: 8px 16px; width: 50%; box-sizing: border-box; border-radius: 4px; transition: 0.3s; }
.bl3:hover i tag { background-position-x: 0%; }
.bl3 p { padding-top: 0; }
.bl3.min { border-radius: 6px; }
.bl3.min:hover { box-shadow: -4px -4px 0, 4px -4px 0, -4px 4px 0, 4px 4px 0; }
.bl3.min b { position: absolute; bottom: 8px; left: 8px; right: 8px; background: #ffffffdd; border: 1px solid; border-radius: 4px; text-align: center; text-transform: uppercase; padding: 12px; transition: 0.3s; }
.bl3.min:hover b { border-color: transparent; }

.fcm { position: absolute; left: 0; right: 0; z-index: -1; }
.fcm.mtf { background-image: url(../img/mtf.svg); background-size: 56px; opacity: 0.6; }

.art_hdr { padding: 160px 0 0; margin: 0 0 120px; }
.art_hdr i { padding-top: 50%; margin-bottom: -80px; background: center/cover; border-radius: 32px; }
.art_shr { padding: 64px; text-align: center; }
.art_shr a { margin: 8px; font-size: 2em; }
.art_shr a:hover { text-decoration: none; }

.art { position: relative; padding: 6px; box-sizing: border-box; border-radius: 8px; }
.art>div { padding: 12px 12px 48px; border-radius: 7px; text-align: center; transition: 0.3s; }
.art>div>i { display: block; padding-top: 100%; background: center/cover; border-radius: 6px; }
.art>div>div { padding: 8px 0; }
.art>div>div>p { margin: 8px 0; }
.art>span { position: absolute; left: 0; right: 0; bottom: 16px; text-align: center;  }
.art:hover { text-decoration: none; }
.art:hover>div { padding-bottom: 0; margin-bottom: 48px; }


@media only screen and (max-width: 1200px){
    wrp { padding: 0 16px; }
    header { padding: 16px; }
}
@media only screen and (max-width: 1024px){
    flx[rsp], flx[wrp], footer>wrp { flex-direction: column; }
    header menu { position: fixed; box-sizing: border-box; width: 100%; right: -100%; top: 0; height: 100vh; padding: 96px 32px; flex-direction: column; align-items: stretch; transition: 0.2s ease; }
    body.mnu header menu { right: 0; }
    header menu a { }
    header smnu { display: none; }
    .hid_sml { display: none; }
    .art_hdr wrp { position: static; }
}
@media only screen and (min-width: 1025px){
    flx[wrp] { flex-wrap: wrap; justify-content: start; }
    wrp[nrw] { max-width: 850px; }
    header menu .lng_lst:not(:hover) .lng { margin-right: 0; letter-spacing: -1ch; opacity: 0; }
    header mbtn { display: none; }
    [gd6]>* { max-width: calc((1160px - 10em) / 6); }
}
@media only screen and (min-width: 1300px){
    .art_hdr i { max-width: calc(100% + 32px); margin-left: -16px; margin-right: -16px; }
}

.bg_roug { background-color: var(--roug); color: var(--blan); }
.bg_oran { background-color: var(--oran); color: var(--blan); }
.bg_jaun { background-color: var(--jaun); color: var(--blan); }
.bg_vert { background-color: var(--vert); color: var(--blan); }
.bg_bleu { background-color: var(--bleu); color: var(--blan); }
.bg_marr { background-color: var(--marr); color: var(--blan); }
.bg_grib { background-color: var(--grib); }
.bg_gric { background-color: var(--gric); }
.bg_grif { background-color: var(--grif); color: var(--blan); }
.bg_noir { background-color: var(--noir); color: var(--blan); }
.bg_blan { background-color: var(--blan); }

.cl_roug { color: var(--roug); }
.cl_oran { color: var(--oran); }
.cl_jaun { color: var(--jaun); }
.cl_vert { color: var(--vert); }
.cl_bleu { color: var(--bleu); }
.cl_marr { color: var(--marr); }
.cl_grib { color: var(--grib); }
.cl_gric { color: var(--gric); }
.cl_grif { color: var(--grif); }
.cl_noir { color: var(--noir); }
.cl_blan { color: var(--blan); }

.fsz_130 { font-size: 1.3em; } /* 20pt */
.fsz_160 { font-size: 1.6em; } /* 25pt */
.fsz_200 { font-size: 2.0em; } /* 30pt */
.fsz_230 { font-size: 2.3em; } /* 35pt */
.fsz_260 { font-size: 2.6em; } /* 40pt */

.ftb { font-weight: bold; }
.tac { text-align: center; }
.ttu { text-transform: uppercase; }
.txo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.br6 { border-radius: 6px; }
.bo1 { border: 1px solid; }
.bb1 { border-bottom: 1px solid; }

.frm_snt [snt-hid], form:not(.frm_snt) [snt-shw] { display: none; }
