/* Copyright 2024 - Les Filons De Lest - lesfilonsdelest@gmail.com /* ============= STYLES CONTENU SPE PAGE ============= */ main { height: calc(100% - 80px); width: 100%; flex-direction: column; } @media only screen and (max-device-width: 768px) { main { display: flex; height: 100%; } } section { display: flex; justify-content: center; } #showDuringLoading { display: flex; margin-left: 5%; margin-right: 5%; height: calc(100% - 80px - 75px); align-items: center; } #showAfterLoading1, #showAfterLoading2, #showAfterLoading3 { display: none; } .logo_loading { max-height: 100%; /* La hauteur maximale est celle de la barre de navigation */ width: auto; /* Ajuste la largeur en conséquence pour maintenir le ratio carré */ animation: rotation-steps 3s infinite steps(12); /* Complète un tour en 3 secondes avec 12 étapes */ transform-origin: center; } .logo-container_loading { height: 50%; /* Hauteur maximale égale à celle de la barre de navigation */ display: flex; justify-content: center; } @keyframes rotation-steps { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* ========== STYLES CONTENU SPE SECTION 1 =========== */ .section1 { margin-left: 5%; margin-right: 5%; height: 75px; padding-top: 20px; align-items: center; } @media only screen and (max-device-width: 768px) { .section1 { padding-top: 15px; } } .titleClass { height: 40px; display: flex; } @media only screen and (max-device-width: 768px) { .titleClass { width: 85%; } } .title { color: rgba(235, 235, 235, 0.9); /* cetait ca mais avec opacité : color: #ebebeb; */ font-family: raleway_bold; font-size: 27px; align-self: center; } @media only screen and (max-device-width: 768px) { .title { font-size: 22px; text-align: center; translate: -50%; left: 50%; position: relative; } } .leftseparator, .rightseparator { position: absolute; top: 137px;/* calc(70px + calc(200% - 70px) * 0.05 - 25px - 10px); /* varbar + taille du main * proportion section 1 + marge texte et taille texte*/ height: 1px; /* Épaisseur de la ligne */ background-color: #ccc; /* Couleur de la ligne */ } @media only screen and (max-device-width: 768px) { .leftseparator, .rightseparator { top: 107px; } } .leftseparator { left: calc(5% + 75px); right: calc(50% + 200px); } .rightseparator { right: 5%; left: calc(50% + 200px); } @media only screen and (max-device-width: 768px) { .leftseparator { left: 5%; right: calc(50% + 200px); /*right: 90%;*/ } .rightseparator { right: 5%; left: calc(50% + 200px); /*left: 90%;*/ } } .backbutton { white-space: pre-wrap; position: absolute; left: 5%; top: 128px; font-family: raleway_semibold; font-size: 14px; color: #ebebeb; text-decoration: none; /* Supprime le soulignement du texte */ } @media only screen and (max-device-width: 768px) { .backbutton { display: none; } } .backbutton:hover { font-family: raleway_bold; } /* ========== STYLES CONTENU SPE SECTION 3 =========== */ .section3 { margin-left: 5%; margin-right: 5%; } .descbox { padding-bottom: 10px; } .accroche { color: rgba(235, 235, 235, 0.9); /* cetait ca mais avec opacité : color: #ebebeb; */ font-family: raleway_bold; font-size: 20px; text-align: center; font-style: italic; padding-bottom: 5px; text-align: left !important; } .tagBtn { all: initial; /* reset style btn */ font-family: raleway_regular; margin-right: 5px; margin-bottom: 5px; background-color: transparent !important; border: 1px solid white !important; border-radius: 4px !important; color: white; max-height: 20px; } .section3 img { flex: 1; object-fit: contain; /* Préserve l'aspect ratio de l'image */ max-height: min(50vh, 450px); float: right; margin-left: 20px; margin-top: 3px; margin-bottom: 5px; } @media (max-width: 1000px) { .section3 img { max-height: 100% !important; width: 100%; margin-left: 0px !important; margin-bottom: 20px; margin-top: 0px !important; } } .tag-list { display: flex; flex-wrap: wrap; margin-top: 20px; } .tag-list button { font-size: 15px; padding-left: 7px; padding-right: 7px; padding-bottom: 4px; padding-top: 4px; border-radius: 3px; border-width: 0px; margin-right: 10px; /* Espace entre les boutons */ } .desc { font-family: raleway_regular; font-size: 16px; color: #ebebeb; text-align: justify; overflow-y: auto; /* Show vertical scrollbar */ overflow-x: hidden; /* Hide horizontal scrollbar */ margin-bottom: 0px; } /* ========== STYLES CONTENU SPE SECTION 5 =========== */ .section5 { margin-top: 7px; margin-left: calc(5% - 0.5em); margin-right: calc(5% - 0.5em); margin-bottom: 1em; align-items: center; } @media only screen and (max-device-width: 768px) { .section5 { margin-bottom: 0.5em; } } article { position: relative; background: linear-gradient(to left top, #1c1c1c, #222); object-fit: fill; } .mainimgcompact, .mainimg { border-radius: 10px; margin-top: 62px !important; } img:not(.mainimg):not(.mainimgcompact):not(#likeCounter) { border-radius: 5px; display: flex; /* ca enleve les 5px noir sous l'img bugué*/ max-width: 100%; /* Sinon ca fait n'imp avec le system de grid */ } .card_overlay { position: absolute; width: 100%; height: 100%; cursor: pointer; /* Changement de curseur au survol */ object-fit: cover; /* Assure que l'image couvre toute la div carrée */ } @media only screen and (max-device-width: 768px) { .card_overlay { cursor: none; } } .card_overlay:hover { background-color: rgba(45, 45, 45, 0.36); /* Changement de couleur au survol */ } .card_overlay:hover .show_on_over { /* Au survol de la div, on affiche la class show_on_over */ display: flex; animation: fondu-card-overlay 0.3s ease-in-out; flex-direction: column; width: 100%; height: 100%; } @keyframes fondu-card-overlay { 0% { opacity: 0; } 100% { opacity: 1; } } .card_overlay .show_on_over { /* Quand on survol pas la div, on masque la class show_on_over */ display: none; } .show_on_over { align-items: center; justify-content: center; } .open_img { height: 60px; width: auto; aspect-ratio: 1; } /* partie spé grid */ /* basic masonry styles - same as for the image grid */ .grid--masonry { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(23em, 100%), 1fr)); grid-template-rows: masonry; justify-content: center; grid-gap: 0.5em; padding: 0.5em; } .grid--masonry > * { align-self: start; } /* decommenter si on veut la premeire photo de la partie galerie en grand .grid--masonry > :first-child { grid-column: 1/-1; }*/ /* =========== STYLE BOUTON NEXT ET PREVIOUS SPOT =============== */ #nextAndPreviousStopPcOnly, #nextAndPreviousStopPhoneOnly { padding-bottom: 5vh; } #nextAndPreviousStopPcOnly { display: flex; } @media only screen and (max-device-width: 768px) { #nextAndPreviousStopPcOnly { display: none; } } #nextAndPreviousStopPcOnly a { background-color: rgba(150, 150, 150, 0.5); color: #ebebeb; text-decoration: none; /* Supprime le soulignement du texte */ font-family: raleway_regular; font-size: 15px; text-align: center; border: 2px solid white; border-radius: 4px; outline: none; background-color: #333; color: white; cursor: pointer; padding-left: 15px; padding-top: 7px; padding-right: 15px; padding-bottom: 7px; margin-left: 25px; margin-right: 25px; } #nextAndPreviousStopPcOnly a:hover { animation: sursaut-filter-categos 0.45s ease; background-color: rgba(150, 150, 150, 0.25); } #nextAndPreviousStopPhoneOnly { display: none; } @media only screen and (max-device-width: 768px) { #nextAndPreviousStopPhoneOnly { display: flex; } } #nextAndPreviousStopPhoneOnly a { background-color: rgba(150, 150, 150, 0.5); color: #ebebeb; text-decoration: none; /* Supprime le soulignement du texte */ font-family: raleway_regular; font-size: 13px; text-align: center; border: 2px solid white; border-radius: 4px; outline: none; background-color: #333; color: white; cursor: none; padding-left: 10px; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; margin-left: 10px; margin-right: 10px; } #nextAndPreviousStopPhoneOnly a:hover { animation: sursaut-filter-categos 0.45s ease; background-color: rgba(150, 150, 150, 0.25); } @keyframes sursaut-filter-categos { 0% { transform: translateY(0); } 50% { transform: translateY(-3px); } 100% { transform: translateY(0); } } .arrow { font-size: 15px; font-weight: bold; position: relative; top: -1px; } @media only screen and (max-device-width: 768px) { .arrow { font-size: 13px; } } /* ================ LIKE BTN ================ */ #likeBtn { display: block; opacity: 85%; position: fixed; bottom: max( max(1vw, 10px), calc(calc(5% - 46px)/2)); /* 1vw de padding mini ou 10px, puis si espace suffisant on met bouton au milieu de l'espace de marge dispo */ width: 46px; height: 46px; left: max( max(1vw, 10px), calc(calc(5% - 46px)/2)); /* 1vw de padding mini ou 10px, puis si espace suffisant on met bouton au milieu de l'espace de marge dispo */ z-index: 99; font-size: 20px; text-align: center; border: 2px solid white; border-radius: 99px; outline: none; background-color: #333; color: white; cursor: pointer; padding: 0px; animation: pulse 1s infinite; } @media only screen and (max-device-width: 768px) { #likeBtn { cursor: none; } } #likeBtn:hover { background-color: #555; transform: scale(1.075); border: 2px solid white; } /* Animation de pulsation */ @keyframes pulse { 0% { transform: scale(1); opacity: 1; color: white; } 50% { transform: scale(1.15); opacity: 0.7; color: rgb(255, 0, 50); } 100% { transform: scale(1); opacity: 1; color: white; } } /* ================ ALREADY LIKED BTN ================ */ #alreadyLikedBtn { display: none; /* Masque par defaut */ opacity: 85%; position: fixed; bottom: max( max(1vw, 10px), calc(calc(5% - 46px)/2)); /* 1vw de padding mini ou 10px, puis si espace suffisant on met bouton au milieu de l'espace de marge dispo */ width: 46px; height: 46px; left: max( max(1vw, 10px), calc(calc(5% - 46px)/2)); /* 1vw de padding mini ou 10px, puis si espace suffisant on met bouton au milieu de l'espace de marge dispo */ z-index: 99; font-size: 20px; text-align: center; border: 2px solid white; border-radius: 99px; outline: none; background-color: #333; color: rgba(255, 255, 255, 0.75); cursor: pointer; padding: 0px; cursor: default; /* curseur par defaut pour pas donner envie de cliquer */ } @media only screen and (max-device-width: 768px) { #likeBtn { cursor: none; } } .alreadyLikedTextHeart { position: relative; right: 5%; bottom: 5%; font-size: 100%; } .alreadyLikedText { position: absolute; right: 15%; bottom: 10%; font-size: 70%; } /* ================ LIKE COUNTER ================ */ #likeLabel { /* utilisation de variable temp pour fix le bug de l'obfuscateur qui met pas d'espace dans les calc() et fait buguer */ --tmp1: max( max(1vw, 10px), calc(calc(5% - 46px)/2)); /* 1vw de padding mini ou 10px, puis si espace suffisant on met bouton au milieu de l'espace de marge dispo */ --tmp2: calc( 46px + var(--tmp1)); display: block; opacity: 85%; position: fixed; bottom: calc( 10px + var(--tmp2)); width: 46px; height: 31px; left: var(--tmp1); z-index: 99; padding: 0px; opacity: 0.7; } #likeCounter { position: absolute; width: 100%; height: 100%; } #likeCounterText { position: absolute; width: calc(100% - 10px); height: calc(100% - 15px); color: rgba(255, 255, 255, 0.75); font-size: 90%; padding: 5px; margin-bottom: 5px; text-align: center; } /* =========== STYLE FULL PAGE GALERY ZOOM =========== */ #fullpage { display: none; position: fixed; z-index: 9999; top: 0; left: 0; width: 100vw; height: 100vh; background-size: contain; background-repeat: no-repeat no-repeat; background-position: center center; background-color: black; } .fullNavLeft img, .fullNavRight img { width: 3vw; height: 3vw; opacity: 50%; } .fullNavLeft { position: absolute; left: 20px; top: 50%; bottom: auto; } .fullNavRight { position: absolute; right: 20px; top: 50%; bottom: auto; } @media only screen and (max-device-width: 768px) { .fullNavLeft img, .fullNavRight img { width: 10vw; height: 10vw; } .fullNavLeft { position: fixed; left: 20px; top: auto; bottom: 5vh; cursor: none; } .fullNavRight { position: fixed; right: 20px; top: auto; bottom: 5vh; cursor: none; } } .fullNavClose { position: absolute; left: 20px; top: 20px; } .fullNavClose img { width: 1.5vw; height: 1.5vw; opacity: 50%; } @media only screen and (max-device-width: 768px) { .fullNavClose { position: absolute; left: 25px; top: 25px; } .fullNavClose img { width: 10vw; height: 10vw; } } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } /* Classe pour l'animation de fondu sortant pour que le js puisse jouer l'anim en ajoutant la classe */ .fade-in-animation { animation: fade-in 0.4s ease-in-out; }