@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css");

/* ### COULEURS ### */
 :root {
        --default-text-color: #272525;
        --green-color : #adca32;
        --pink-color : #cd2d76;
        --blue-color : #42b59d;
        --brown-color : #b17a69;
}

/*
 * UTILITAIRE
 */
:root {
    scroll-behavior: smooth;
}
body {
    font-family:zangezi;
    opacity:0;
    color:var(--default-text-color);
    font-size:14px;
    /*overflow-y: scroll;*/
}
body.unselectable {
    user-select:none;
}
img, iframe, video {
    max-width:100%;
}
img {
    height:auto;
}
a {
    color:var(--current-page-color);
    border:none;
    transition:all .2s;
}
a:hover {
    color:var(--main-color);
}
a.full-size-link {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:2;
}
span.underlined {
    text-decoration: underline;
}
a.underlined {
    color:inherit;
    text-decoration: underline;
}
a.underlined:hover {
    color: var(--blue-color);
}
.clickable,
.mouse-caption {
    cursor:pointer;
}
#wrapper .scrollbar-track.show {
    opacity:0;
}

/* ### TITRAGES & TEXTES ### */
h1 {
        font-size:3.1rem;
        line-height:1.1;
}
h2 {
        position: relative;
        font-weight:700;
        font-size: 22px;
        text-transform: uppercase;
}
h3 {
        text-transform:uppercase;
        font-weight:normal;
        font-size:1.4rem;
        margin-bottom:0;
}
h4 {
        text-transform:initial;
        font-weight:900;
        font-size:1.1rem;
}
h5 {
        font-weight:bold;
        font-size:1em;
}
h1,h2,h3,h4,h5 {
        font-family: 'im-fell';
}
p,
.main-col p,
.main-col > ul, 
.main-col > ol,
#comments {
    max-width: 720px;
}
p:last-child {
    margin-bottom:0;
}
em.emphasis {
    display:block;
    margin-bottom:1em;
    font-size:1.1em;
}

/* ### MOUSE CURSOR ### */
* {
    /* cursor:none !important; */
}
#mouse-cursor {
    position:fixed;
    /* display:none; */
    pointer-events:none;
    z-index:9998;
}
#mouse-cursor #mouse-cursor-bg {
    position:absolute;
    top:0;
    left:0;
    margin-left:-44px;
    margin-top:-44px;
    width:88px;
    height:88px;
    max-width:none;
    transform: scale(.20);
    /* animation:mouse-cursor 1.5s alternate infinite ease-in-out; */
    background:url(../img/mouse-cursor.png);
}
#mouse-cursor.active #mouse-cursor-bg {
    /* animation:mouse-cursor-active 1s alternate infinite ease-in-out; */
    transform:scale(1);
    cursor: pointer;
}
#mouse-cursor.has-caption #mouse-cursor-bg {
    /* animation:mouse-cursor-caption 1s alternate infinite ease-in-out; */
    transform:scale(1);
    cursor: pointer;
}
#mouse-cursor #mouse-cursor-bg:after {
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:#b50a5e;
    mix-blend-mode:multiply;
    border-radius:50%;
    overflow:hidden;
    opacity:0;
    transition:.3s;
}
#mouse-cursor.has-caption #mouse-cursor-bg:after {
    opacity:1;
}
#mouse-cursor #mouse-cursor-caption {
    position:absolute;
    top:-20px;
    left:0;
    transform:translateX(-50%);
    white-space:nowrap;
    color:#fff;
    font-style:italic;
    font-size:16px;
    opacity:0;
    transition:.3s;
}
#mouse-cursor.has-caption #mouse-cursor-caption {
    opacity: 1;
    top:-30px;
}
#mouse-cursor.moving #mouse-cursor-bg {
    animation:none !important;
    transition:.3s;
}
/* @keyframes mouse-cursor {
    0%   {transform: scale(.55);}
    100% {transform: scale(.65);}
}
@keyframes mouse-cursor-active {
    0%   {transform: scale(.95);}
    100% {transform: scale(1.1);}
}
@keyframes mouse-cursor-caption {
    0%   {transform: scale(1.35);}
    100% {transform: scale(1.45);}
} */

/* ### BOOTSTRAP ### */
.btn {
        font-weight:bold;
}
body.admin-bar .edit-link a {
    color: #000!important;
}

/* ### LOADER FACET ### */

.loader-overlay {
        position:absolute;
        top:0;
        left:0;
        bottom:0;
        right:0;
        z-index:99; /* laisse passer le fixed menu */
        background:rgba(255, 255, 255, .85);
}
.loader-overlay .loader {
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%, -50%);
        display: inline-block;
        width: 80px;
        height: 80px;
}
.loader-overlay .loader:after {
        content: " ";
        display: block;
        width: 64px;
        height: 64px;
        margin: 8px;
        border-radius: 50%;
        border: 6px solid #000;
        border-color: #000 transparent #000 transparent;
        animation: loader-animation 1.2s linear infinite;
}
@keyframes loader-animation {
        0% {
              transform: rotate(0deg);
        }
        100% {
                transform: rotate(360deg);
        }
}

/* ### SCROLLER ### */

.scrollbar-thumb{
    border-radius: 0 !important;
}
.scrollbar-track{
    background: rgb(237 237 237 / 30%) !important;
}

.lg-backdrop{
    background-color: rgba(0,0,0, 0.9);
}