/***************************************
**** MAIN STYLE - FRAMEWORK | START ****
***************************************/

/* SANITIZING */
a {
  color: inherit;
  text-decoration: none;
}
header a,
.breadcrumbs a {
  text-decoration: none;
}
body section.disection {
  min-height: calc(70vh - var(--header-height) - calc(var(--space-small) * 2));
}

/* TEXT ALIGNS */
.taligncenter {
  text-align: center;
}
.talignleft {
  text-align: left;
}
.talignright {
  text-align: right;
}

/* BLOCS SIZES */
.hauto {
  height: auto;
}
.wauto {
  width: auto;
}
.h100 {
  height: 100%;
}
.w100 {
  width: 100%;
}
.h50 {
  height: 50%;
}
.w50 {
  width: 50%;
}
.w485 {
  width: 48.5%;
}
.h25 {
  height: 25%;
}
.w20 {
  width: 20%;
}
.w178 {
  width: 17.8%;
}
.w25 {
  width: 25%;
}
.w225 {
  width: 22.5%;
}
.h75 {
  height: 75%;
}
.w75 {
  width: 75%;
}
.w725 {
  width: 72.5%;
}
.h33 {
  height: 33.3%;
}
.w33 {
  width: 33.3%;
}
.w305 {
  width: 30.5%;
}
.h66 {
  height: 66.6%;
}
.w66 {
  width: 66.6%;
}
.w635 {
  width: 63.5%;
}
.wfc {
  width: fit-content;
}
.hfc {
  height: fit-content;
}

/* POSITIONS */
.prelative {
  position: relative;
}
.pabsolute {
  position: absolute;
}

/* OBJECT FITS */
.ofitcover {
  object-fit: cover;
}
.ofitcontain {
  object-fit: contain;
}
.ofitsdown {
  object-fit: scale-down;
}

/* BLOC DISPLAYS */
.dblock {
  display: block;
}
.dtable {
  display: table;
}
.dflex {
  display: flex;
}
.dgrid {
  display: grid;
}

/* FLEX */
.fdirrow {
  flex-direction: row;
}
.fdirrowr {
  flex-direction: row-reverse;
}
.fdircol {
  flex-direction: column;
}
.fdircolr {
  flex-direction: column-reverse;
}
.jcontentcenter {
  justify-content: center;
}
.aitemscenter {
  align-items: center;
}
.jcontentstart {
  justify-content: flex-start;
}
.aitemsstart {
  align-items: flex-start;
}
.jcontentend {
  justify-content: flex-end;
}
.aitemsend {
  align-items: flex-end;
}
.jcontentsbetween {
  justify-content: space-between;
}
.aitemssbetween {
  align-items: space-between;
}
.jcontentsaround {
  justify-content: space-around;
}
.aitemssaround {
  align-items: space-around;
}
.fwrap {
  flex-wrap: wrap;
}

/* TEXTS SIZES */
.text.bold,
.text .bold,
p.bold,
section p.bold,
.bold {
  font-weight: var(--font-bold);
}
.littletext {
  font-size: var(--font-size-xs);
  /* line-height: var(--line-height-xxs); */
  font-weight: var(--font-regular);
  font-family: var(--font-primary);
  opacity: .7;
  margin: 0;
}
.littletext-montserrat {
  font-size: var(--font-size-xs) !important;
  line-height: var(--line-height-xs);
  font-weight: var(--font-regular);
  font-family: var(--font-tertiary) !important;
}
.text-monserrat-bold {
  font-size: var(--font-size-xs) !important;
  line-height: var(--line-height-xs) !important;
  font-weight: var(--font-bold) !important;
  font-family: var(--font-tertiary) !important;
}
.smalltext {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  font-weight: var(--font-regular);
  font-family: var(--font-primary);
}
.middletext {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  font-weight: var(--font-regular);
  font-family: var(--font-tertiary);
}
.text {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  font-weight: var(--font-regular);
  font-family: var(--font-primary);
}
.strongtext {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  font-weight: var(--font-regular);
  font-family: var(--font-primary);
}
.bigtext {
  font-size: var(--font-size-xm);
  line-height: var(--line-height-xm);
  font-weight: var(--font-regular);
  font-family: var(--font-primary);
}
.smalltitle {
  font-size: var(--font-size-s);
  line-height: var(--line-height-xs);
  font-weight: var(--font-bold);
  font-family: var(--font-primary-bold);
}
.minititle {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: var(--font-black);
  font-family: var(--font-primary);
}
.subtitle {
  font-size: var(--font-size-xm);
  line-height: var(--line-height-xm);
  font-weight: var(--font-bold);
  font-family: var(--font-primary);
}
.mediumtitle {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  font-weight: var(--font-bold);
  font-family: var(--font-primary);
}
.mediumtitle-montserrat {
  font-size: var(--font-size-m);
  line-height: var(--line-height-l);
  font-weight: 600;
  font-family: var(--font-tertiary);
  letter-spacing: 0.48px;
}
.mediumtitle-montserrat2 {
  font-size: var(--font-size-m);
  line-height: var(--line-height-l);
  font-weight: 800;
  font-family: var(--font-tertiary);
}
.title {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  font-weight: var(--font-bold);
  font-family: var(--font-primary);
}
.title::after {
  content: "";
  display: block;
  width: 50%;
  max-width: calc(40px + 3vw);
  height: 4px;
  background-color: var(--color-secondary);
  margin-top: calc(1px + 0.1vw);
}
.title-stats {
  font-size: var(--font-size-ml);
  line-height: var(--line-height-l);
  font-family: var(--font-primary-bold);
}
.title-stats::after {
  content: "";
  display: block;
  width: 50%;
  max-width: calc(10px + 3vw);
  height: 4px;
  background-color: var(--color-white);
  margin-top: calc(1px + 0.1vw);
}
.bigtitle {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-bold);
  font-family: var(--font-primary-bold);
  letter-spacing: 1.2px;
}
.bigtitle-montserrat {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: 800;
  font-family: var(--font-tertiary);
  letter-spacing: 1.2px;
}
.ultratitle {
  font-size: var(--font-size-xxl);
  line-height: var(--line-height-xxl);
  letter-spacing: calc(-0.13vw);
  font-weight: var(--font-extrabold);
  font-family: var(--font-primary);
}

/* TEXTS NORMALIZING */
.textbloc p,
.textbloc p,
.textbloc p span,
.textbloc ul li,
.textbloc ol li {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
  font-weight: var(--font-regular);
  font-family: var(--font-tertiary) !important;
  margin-top: var(--space-xsmall);
  margin-bottom: var(--space-xsmall);
}
.textbloc ul,
.textbloc ol {
  padding-left: calc(16px + 0.08vw);
}
.textbloc p strong {
  font-size: var(--font-size-s);
  line-height: var(--line-height-xs);
  font-weight: var(--font-semibold);
  font-family: var(--font-primary);
}
.textbloc pre,
.textbloc span pre,
.textbloc p pre {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: var(--font-regular);
  font-family: var(--font-secondary);
  margin-bottom: var(--space-xsmall);
  white-space: break-spaces;
}
.textbloc p i {
  font-style: italic;
}
h1,
section h1,
.textbloc h1 {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: var(--font-extrabold);
  font-family: var(--font-primary);
  margin-top: var(--space-small);
  margin-bottom: var(--space-xsmall);
}
.textbloc h2,
.textbloc h2 span,
.textbloc h2 span b {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: var(--font-bold);
  font-family: var(--font-primary);
  margin-bottom: var(--space-xsmall);
}
.supertitle {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  font-weight: var(--font-bold);
  font-family: var(--font-secondary);
  margin-bottom: var(--space-xsmall);
}
.textbloc h3,
.textbloc h3 span,
.textbloc h3 b {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: var(--font-bold);
  font-family: var(--font-primary);
  margin-bottom: calc(var(--space-xsmall) + 5px + 0.3vw);
  text-transform: uppercase;
}
.textbloc h4,
.textbloc h4 span,
.textbloc h4 span b,
.textbloc h5,
.textbloc h5 span,
.textbloc h5 span b,
.textbloc h6,
.textbloc h6 span,
.textbloc h6 span b {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  font-weight: var(--font-bold);
  font-family: var(--font-primary);
}

/* FONT FAMILIES */
.fontprimary {
  font-family: var(--font-primary);
}
.fontsecondary {
  font-family: var(--font-secondary);
}
.fonttertiary {
  font-family: var(--font-tertiary);
}

/* TEXT COLORS */
.colorwhite {
  color: var(--color-white);
}
.colorblack {
  color: var(--color-black);
}
.colordark {
  color: var(--color-dark);
}
.colorprimary {
  color: var(--color-primary);
}
.colorsecondary {
  color: var(--color-secondary);
}

/* MARGINS & PADDINGS */
.p0 {
  padding: 0;
}
.m0 {
  margin: 0;
}
.mt0 {
  margin-top: 0;
}
.mb0 {
  margin-bottom: 0;
}
.ml0 {
  margin-left: 0;
}
.mr0 {
  margin-right: 0;
}
.mlauto {
  margin-left: auto;
}
.mrauto {
  margin-right: auto;
}
.mauto {
  margin-left: auto;
  margin-right: auto;
}
.pxxsmall {
  padding-left: var(--space-xxsmall);
  padding-right: var(--space-xxsmall);
  width: calc(100% - var(--space-xxsmall)*2);
}
.pxsmall {
  padding-left: var(--space-xsmall);
  padding-right: var(--space-xsmall);
  width: calc(100% - var(--space-xsmall)*2);
}
.ptsmall {
  padding-top: var(--space-small);
}
.ptnormal {
  padding-top: var(--space-normal);
}
.pbsmall {
  padding-bottom: var(--space-small);
}
.pbnormal {
  padding-bottom: var(--space-normal);
}
.psmall {
  padding-left: var(--space-small);
  padding-right: var(--space-small);
  width: calc(100% - var(--space-small)*2);
}
.pmedium {
  padding-left: var(--space-medium);
  padding-right: var(--space-medium);
  width: calc(100% - var(--space-medium)*2);
}
.plarge {
  padding-left: var(--space-large);
  padding-right: var(--space-large);
  width: calc(100% - var(--space-large)*2);
}
.pxlarge {
  padding-left: var(--space-xlarge);
  padding-right: var(--space-xlarge);
  width: calc(100% - var(--space-xlarge)*2);
}
.mxxsmall {
  margin-left: var(--space-xxsmall);
  margin-right: var(--space-xxsmall);
}
.mxsmall {
  margin-left: var(--space-xsmall);
  margin-right: var(--space-xsmall);
}
.msmall {
  margin-left: var(--space-small);
  margin-right: var(--space-small);
}
.mmedium {
  margin-left: var(--space-medium);
  margin-right: var(--space-medium);
}
.mlarge {
  margin-left: var(--space-large);
  margin-right: var(--space-large);
}
.mxlarge {
  margin-left: var(--space-xlarge);
  margin-right: var(--space-xlarge);
}
.mtxxsmall {
  margin-top: var(--space-xxsmall);
}
.mtxsmall {
  margin-top: var(--space-xsmall);
}
.mtsmall {
  margin-top: var(--space-small);
}
.mtnormal {
  margin-top: var(--space-normal);
}
.mtmedium {
  margin-top: var(--space-medium);
}
.mtlarge {
  margin-top: var(--space-large);
}
.mtxlarge {
  margin-top: var(--space-xlarge);
}
.mtauto {
  margin-top: auto;
}
.mbxxsmall {
  margin-bottom: var(--space-xxsmall);
}
.mbxsmall {
  margin-bottom: var(--space-xsmall);
}
.mbsmall {
  margin-bottom: var(--space-small);
}
.mbnormal {
  margin-bottom: var(--space-normal);
}
.mbmedium {
  margin-bottom: var(--space-medium);
}
.mblarge {
  margin-bottom: var(--space-large);
}
.mbxlarge {
  margin-bottom: var(--space-xlarge);
}
.mbauto {
  margin-bottom: auto;
}
.mrxsmall {
  margin-right: var(--space-xsmall);
}
.mrsmall {
  margin-right: var(--space-small);
}
.mlxsmall {
  margin-left: var(--space-xsmall);
}
.mlsmall {
  margin-left: var(--space-small);
}

/* FILTERS & EFFECTS */
.overflowh {
  overflow: hidden;
}
.ttuper {
  text-transform: uppercase;
}

/* GENERIC BREADCRUMBS */
.breadcrumb_elem {
  margin-right: calc(5px + 0.2vw);
}

/*************************************
**** MAIN STYLE - FRAMEWORK | END ****
*************************************/

@media screen and (max-width: 991px) {
  .mediumtitle-montserrat {
    Text-align: center;
  }
  .mediumtitle-montserrat2 {
    Text-align: center;
  }
}