/*
 * Default styles
 * -----------------------------
*/

html {
    font-size: 15px;
    line-height: 20px;
}

body {
    font-family: var(--main-font-family);
    font-size: 15px;
    line-height: 20px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    color: var(--main-font-color);
    -moz-osx-font-smoothing: grayscale;
    background-color: #ffffff;
}

h1 {
    font-family: var(--main-font-family);
    font-size: 2.2rem;
    line-height: 2.6rem;
    font-weight: 900;
    margin-bottom: 30px;
}

h2 {
    font-family: var(--main-font-family);
    font-size: 2rem;
    line-height: 2.2rem;
    font-weight: 900;
    margin-bottom: 25px;
}

h3 {
    font-family: var(--main-font-family);
    font-size: 1.8rem;
    line-height: 2rem;
    font-weight: 800;
    margin-bottom: 21px;
}

h4 {
    font-family: var(--main-font-family);
    font-size: 1.6rem;
    line-height: 1.8rem;
    font-weight: 700;
    margin-bottom: 18px;
}

h5 {
    font-family: var(--main-font-family);
    font-size: 1.4rem;
    line-height: 1.6rem;
    font-weight: 700;
    margin-bottom: 16px;
}

h6 {
    font-family: var(--main-font-family);
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
}

p, a, ul, li {
    font-family: var(--main-font-family);
}

.contenu-custom p {
    font-family: var(--main-font-family);
    text-align: justify !important;
    margin-bottom: 15px;
}

.contenu-custom p:last-of-type {
    margin-bottom: 0;
}

.contenu-custom a {
    font-weight: 700 !important;
    text-decoration: none;
    color: var(--main-font-color);
}

.contenu-custom a:hover {
    text-decoration: underline;
}

.contenu-custom strong {
    font-weight: 700;
}

.contenu-custom em {
    font-style: italic;
}

.contenu-custom ul,
.contenu-custom ol {
    padding-left: 25px;
    margin-bottom: 20px;
}

.contenu-custom ul:first-child,
.contenu-custom ol:first-child {
    margin-bottom: 0;
}

.contenu-custom ul li {
    line-height: 1.3rem;
    list-style-type: disc;
    padding-left: 10px;
}

.contenu-custom ul li ul li {
    list-style-type: circle;
}

.contenu-custom ul li ul li ul li {
    list-style-type: square;
}

.contenu-custom ol li {
    line-height: 1.3rem;
    list-style-type: decimal;
    padding-left: 10px;
}

.contenu-custom ol li ol li {
    list-style-type: lower-alpha;
}

.contenu-custom ol li ol li ol li {
    list-style-type: upper-roman;
}

.contenu-custom blockquote {
    display: inline-block;
    width: auto;
    background-color: #f8f8f8;
    padding: 30px 70px;
    margin-bottom: 26px;
    position: relative;
}

.contenu-custom blockquote:before {
    content: '\f10d';
    font-family: 'Font Awesome 6 Pro';
    font-style: normal;
    font-weight: 700;
    text-decoration: inherit;
    /*--adjust as necessary--*/
    font-size: 30px;
    color: #888888;
    position: absolute;
    left: 20px;
    top: 24px;
    opacity: 0.35;
}

.contenu-custom blockquote:after {
    content: '\f10e';
    font-family: 'Font Awesome 6 Pro';
    font-style: normal;
    font-weight: 700;
    text-decoration: inherit;
    /*--adjust as necessary--*/
    font-size: 30px;
    color: #888888;
    position: absolute;
    right: 20px;
    bottom: 22px;
    opacity: 0.35;
}

.contenu-custom blockquote p {
    width: 100%;
    text-align: center;
    color: #333333;
    font-size: 1.15rem;
    line-height: 1.3rem;
    font-weight: 400;
    font-style: italic;
    margin: 0;
}

.contenu-custom p img {
    display: block;
    max-width: 100% !important;
    height: auto;
}

.contenu-custom p img.alignleft {
    float: left;
}

.contenu-custom p img.aligncenter {
    margin: auto;
}

.contenu-custom p img.alignright {
    float: right;
}

.contenu-custom p iframe {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.contenu-custom sup,
.contenu-custom sub {
    font-size: 0.55em !important;
}

.contenu-custom hr {
    margin: 20px 0 !important;
    opacity: 0.15 !important;
}

.bkg-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bkg-contain {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.img-align-top {
    background-position: top !important;
}

.img-align-bottom {
    background-position: bottom !important;
}

a.stretched-link {
    display: block;
}

.clear {
    clear: both !important;
}
