/*
Theme Name: Base Biblique
Theme URI: https://basebiblique.org
Template: newscard
Author: David
Author URI: https://www.themehorse.com/
Description: NewsCard is a Multi-Purpose Magazine/News WordPress Theme. NewsCard is specially designed for magazine sites (food, travel, fashion, music, health, sports, photography), news sites, shopping sites, personal/photo blog and many more. There are Front Page Template, Sidebar Page Layout, Top Bar, Header Image/Overlay/Advertisement, Social Profiles and Banner Slider. Also supports popular plugins like WooCommerce, bbPress, Contact Form 7 and many more. It is also translation ready. Get free support at https://www.themehorse.com/support-forum/ and view beautiful demo site at https://www.themehorse.com/demos/newscard
Tags: blog,entertainment,news,two-columns,left-sidebar,right-sidebar,custom-background,custom-header,custom-logo,custom-menu,featured-image-header,featured-images,footer-widgets,post-formats,rtl-language-support,sticky-post,theme-options,threaded-comments,translation-ready
Version: 1.4.1746462592
Updated: 2025-05-05 16:29:52
*/

:root {
    --couleur_primaire: #cfad5a;
    --couleur_secondaire: #016735;
	--couleur_rouge: #751102;
    --couleur_tertiaire: #ee322d;
    --couleur_blanche: #fff;
    --couleur_noire: #000000;
    --border_radius: 10px;
    --font-size_general: 15px;
    --font-size_min: 11px;
    --font-size_titre: 35px;
    --font-size_titre-secondaire: 18px;
	--font-family_regular: 'RobotoRegular';
	--font-family_bold: 'RobotoBold';
	--font-family_titre: 'PTSerif-Bold';
	--background-color: #121212;
  }
:after,
:before,
*{
    box-sizing: border-box;
}
*, body {
	font-family: var(--font-family_regular);
}

/***CODE POUR LES BOUTONS***/

.button_principal {
	z-index: 0;
    color: var(--couleur_blanche) !important;
    text-align: center;
    background-color: var(--couleur_primaire);
    border: 1px solid var(--color0transparent);
    transition: all 0.2s ease 0s;
    position: relative;
    font-size: clamp(.65rem, .8vw, 1.7rem);
    display: inline-block;
    transform: translate(0px);
    box-shadow: 1px 1px 1rem var(--color0transparent);
    text-decoration: none;
    margin-right: inherit;
    text-transform: initial;
    font-weight: normal;
    padding: 12px 24px;
}
.button_principal::before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    transition: all 0.3s ease 0s;
    border-bottom-width: 1px;
    transform: scale(0.1, 1);
}
.button_principal::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: all 0.3s ease 0s;
    background-color: rgba(255, 255, 255, 0.1);
}
.button_principal:hover::after {
    opacity: 0;
    transform: scale(0.1, 1);
}
.button_principal:hover::before {
    opacity: 1;
    transform: scale(1, 1);
    background: rgba(255, 255, 255, 0.1);
}
.button_principal:hover{
	color: var(--couleur_blanche);
}
.content .button_principal {
    background: no-repeat;
}
/***CODE POUR LES BOUTONS***/

/***CODE POUR LES BOUTONS ET INPUTS***/
button {
    background: transparent;
    border: none;
    padding: 15px;
    font-size: 20px;
	cursor: pointer;
	color: var(--text-color);
}
input[type="reset"]:hover, input[type="button"]:hover, input[type="submit"]:hover, button:hover {
    background-color: transparent;
	color: var(--text-color);
}
button:focus {
    outline: none;
}
/***CODE POUR LES BOUTONS ET INPUTS***/

/***CODE POUR LE HEADER***/
.navbar-brand a img {
    height: 70px;
    width: auto;
}
.site-title a {
    color: var(--couleur_blanche);
}
.site-branding {
    display: flex;
    align-items: center;
    padding: 15px 0;
}
.home .navbar {
    background: transparent;
    position: absolute;
}
.navbar {
    padding: 0;
    background: black;
    position: relative;
    z-index: 7;
    width: 100%;
}
.site-title {
    display: flex;
    flex-direction: column;
    margin-left: 15px;
}

.site-title span {
    font-size: 15px;
    color: var(--couleur_blanche);
    font-weight: 100;
}
ul.nav-menu.navbar-nav {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
    border-top: 1px solid var(--couleur_blanche);
    border-bottom: 1px solid var(--couleur_blanche);
}

ul.nav-menu.navbar-nav li {
    display: flex;
    width: fit-content;
}

.header_background {
    height: calc(100vh - 35px);
    position: relative;
    overflow: hidden;
}
.home ul.nav-menu.navbar-nav li a {
    color: var(--couleur_blanche);
    padding: 15px 3rem;
}
.home .current-menu-item a, 
.home ul.nav-menu.navbar-nav li a:hover, 
.home .navbar-scroll ul.nav-menu li a:hover {
    background: rgba(0, 0, 0, 0.15);
	color: var(--couleur_blanche) !important;
}
ul.nav-menu.navbar-nav li a {
    color: var(--couleur_blanche);
    padding: 15px 3rem;
}
.current-menu-item a, 
ul.nav-menu.navbar-nav li a:hover, 
.navbar-scroll ul.nav-menu li a:hover {
    background: var(--couleur_blanche);
	color: black !important;
}
/***CODE POUR LE HEADER***/

.navigation-bar-top .search-toggle {
    display: block;
}
.navigation-bar-top {
    display: flex;
}
.search-toggle {
    margin-left: auto;
}
.slider {
  display: flex;
  transition: transform 1s ease-in-out; /* Transition fluide pour l'animation */
}


.item {
  width: 200px;
  height: 300px;
  list-style-type: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  background-position: center;
  background-size: cover;
  border-radius: 20px;
  box-shadow: 0 20px 30px rgba(255, 255, 255, 0.3) inset;
  transition: transform 0.1s, left 0.75s, top 0.75s, width 0.75s, height 0.75s;
  opacity: 0;
}

.item:nth-child(1), .item:nth-child(2) {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: none;
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
}

.item:nth-child(3) {
  left: 50%;
}
.content .container {
    padding-right: 35rem;
}
.content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font: 400 0.85rem helvetica, sans-serif;
  color: white;
  opacity: 0;
  display: none;
}

.content .title {
    text-transform: initial;
    font-size: 60px;
	font-family: PTSerif-Bold;
}

.content .description {
    line-height: 1.7;
    margin: 1rem 0 1.5rem;
    font-size: 18px;
}

.content button {
  width: fit-content;
  background-color: rgba(0, 0, 0, 0.1);
  color: white;
  border: 2px solid white;
  border-radius: 0.25rem;
  padding: 0.75rem;
  cursor: pointer;
}

.item:nth-of-type(2) .content {
  display: block;
  animation: show 0.75s ease-in-out 0.3s forwards;
}

@keyframes show {
  0% {
    filter: blur(5px);
    transform: translateY(calc(-50% + 75px));
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}

.nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    user-select: none;
    width: 200%;
    display: flex;
    justify-content: space-between;
    transition: .2s ease;
}
.search-bar {
    position: relative;
}
.search-block {
    position: absolute;
    background-color: transparent;
    border: 1px solid white;
}
.search-block .form-control {
    font-size: 15px;
    padding: 8px;
    background-color: transparent;
    color: white;
}
input::placeholder {
  color: white;
  font-style: italic;
  opacity: 0.8;
}
.btn-theme {
    background-color: #cfad5a;
}
.nav .btn {
    background-color: transparent;
    color: white;
    border: 1px solid rgb(255 255 255 / 60%);
    margin: 0 0.25rem;
    padding: 0.75rem;
    cursor: pointer;
}
.btn-theme:hover {
    background-color: #ffc107;
    text-decoration: none;
    color: #ffffff;
}
.header_background:hover .nav {
    width: 100%;
}
.nav .btn:hover {
  background-color: rgba(255, 255, 255, 0.3);
}


.navbar-scroll {
    position: fixed;
    top: -100px;
    transition: top 0.5s ease;
    width: 100%;
    z-index: 1000;
    display: flex;
    background: #0000006e;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.navbar-scroll ul.nav-menu li {
    display: flex;
    align-items: center;
}

.navbar-scroll ul.nav-menu li a {
    color: white;
    padding: 20px 25px;
}
.navbar-scroll .logo img {
    width: auto;
    height: 40px;
}

.navbar-scroll .logo {
    display: flex;
    align-items: center;
    width: 300px;
}

.navbar-scroll .logo h2 {
    font-size: 15px;
}

.navbar-scroll .logo h2 span {
    font-size: 10px;
}

.navbar-scroll ul.nav-menu {
    display: flex !important;
    border: none;
    width: 100%;
    margin-bottom: 0;
    justify-content: center;
}
.scroll-down .navbar-scroll {
    top: 0; /* Affiche la navbar en scrollant */
}


@media (max-width: 1250px) {
	ul.nav-menu.navbar-nav li a {
		padding: 10px !important;
	}
/* 	.home ul.nav-menu.navbar-nav li a {
		color: var(--couleur_blanche);
		padding: 10px;
	} */
	.search-bar {
		position: absolute;
		bottom: 0;
		right: 0;
	}
	.content .container {
		padding-right: initial;
	}
	.content .title {
		font-size: 3rem;
	}
}

@media (min-width: 1200px) {
    .container {
        max-width: 1440px;
    }
}
.cacher{
	display: none !important;
}
@media (min-width: 650px) and (max-width: 900px) {
  .content .title {
    font-size: 1rem;
  }

  .content .description {
    font-size: 0.7rem;
  }

  .content button {
    font-size: 0.7rem;
  }

  .item {
    width: 160px;
    height: 270px;
  }

  .item:nth-child(3) {
    left: 50%;
  }

  .item:nth-child(4) {
    left: calc(50% + 170px);
  }

  .item:nth-child(5) {
    left: calc(50% + 340px);
  }

  .item:nth-child(6) {
    left: calc(50% + 510px);
    opacity: 0;
  }
}

@media (max-width: 650px) {
  .content .title {
    font-size: 0.9rem;
  }

  .content .description {
    font-size: 0.65rem;
  }

  .content button {
    font-size: 0.7rem;
  }

  .item {
    width: 130px;
    height: 220px;
  }

  .item:nth-child(3) {
    left: 50%;
  }

  .item:nth-child(4) {
    left: calc(50% + 140px);
  }

  .item:nth-child(5) {
    left: calc(50% + 280px);
  }

  .item:nth-child(6) {
    left: calc(50% + 420px);
    opacity: 0;
  }
}

/* Ajouter l'animation spécifique à l'image de fond */
.banniere {
  animation: zoomInFaster 35s linear infinite;
  -o-animation: zoomInFaster 35s linear infinite;
  -moz-animation: zoomInFaster 35s linear infinite;
  -webkit-animation: zoomInFaster 35s linear infinite;
	height: 100%;
    width: 100%;
	background-size: cover;
    background-repeat: no-repeat;
	position: relative;
}
.banniere:after {
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(136deg, #000000b0, transparent);
    position: absolute;
}

/* Animation */
@keyframes zoomInFaster {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}

@-o-keyframes zoomInFaster {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}

@-moz-keyframes zoomInFaster {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}

@-webkit-keyframes zoomInFaster {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}

.site-main .type-page {
    box-shadow: none;
    -webkit-box-shadow: none;
}
/**** CODE POUR LES TITRE H1 ****/
.entry-header {
    text-align: center;
}
.entry-title {
    font-size: 35px;
    color: var(--couleur_noire);
    margin-bottom: 2rem;
	font-family: 'PTSerif-Bold';
	font-weight: 100;
}

/**** CODE POUR LES TITRE H1 ENTRY-TITLE ****/

.accueil {
    text-align: center;
}
.homepage-buttons-container {
    padding-top: 30px;
    padding-bottom: 30px;
}

.block-enseignement .block-gauche {
    width: 50%;
    background: #751102;
    height: 100%;
    position: relative;
    z-index: 9;
    padding: 2%;
}
.block-enseignement .block-gauche h2, .block-enseignement .block-gauche {
    color: white;
}


.swiper-container-enseignement {
    position: relative;
    width: 100%;
    height: 100%;
}

.swiper-container-enseignement > .swiper-slide__content {
  position: absolute;
  top: 0;
}

.swiper-slide {
    height: 250px;
    display: flex;
    background: white;
    align-items: center;
    justify-content: center;
    transition: all 200ms linear;
    transform: scale(0.8);
    border-radius: 20px;
}
.swiper-slide.swiper-slide-active {
    transform: scale(1.2);
    background: transparent;
    z-index: 9;
    border-radius: 10px;
    box-shadow: 0 0 20px -10px #ffffff;
}

.swiper-slide__content {
  height: 250px;
}
.block-enseignement-container{
	display: flex;
    width: 100%;
    height: initial;
    background: white;
    position: relative;
    align-items: center;
}
.block-enseignement {
    overflow: hidden;
	padding: 4rem 0 4rem;
}
.block-droit {
    width: 50%;
}
.slide-content {
	width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    border-radius: 20px;
}
.swiper-slide.swiper-slide-active .slide-content{
	    border-radius: 20px;
}
.slide-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-content-info {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 5px 10px;
}
.mp3-download {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: white;
}
.mp3-download .mejs-container, .mp3-download .mejs-container .mejs-controls, .mp3-download .mejs-embed, .mp3-download .mejs-embed body {
    background: transparent;
}

.mp3-download p{
    margin-bottom: initial;
    color: white;
}
.mp3-download p a svg {
    color: white;
}
.slide-content:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(45deg, white, transparent);
}
.swiper-slide.swiper-slide-active .slide-content:before {
    background: linear-gradient(45deg, black, transparent);
}
.mp3-download{
	display: none;
}
.swiper-slide.swiper-slide-active .mp3-download{
	display: flex;
}
.slide-content-info h3 {
    font-size: 1em;
    color: #751102;
    font-family: var(--font-family_regular);
    text-align: center;
}
.swiper-slide.swiper-slide-active .slide-content-info h3 {
	color: white;
}
.navigation-enseignement {
    position: absolute;
    bottom: 0;
    z-index: 13;
    height: 40px;
    color: white;
    left: 50%;
    transform: translate(-100%);
    top: 0;
    display: flex;
    align-items: center;
}
.swiper-button-prev-enseignement, .swiper-button-next-enseignement {
    height: 40px;
    width: 40px;
    position: relative;
    margin: 5px;
	transition: .4s ease;
	cursor: pointer;
}
.swiper-button-next-enseignement:after {
    content: "\279D";
    font-size: 1.7em;
    display: flex;
    align-items: center;
    justify-content: center;
	transition: .4s ease;
}
.swiper-button-prev-enseignement:after {
    content: "\279D";
    font-size: 1.7em;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(180deg);
	transition: .4s ease;
}
.swiper-button-prev-enseignement:hover:after, .swiper-button-next-enseignement:hover:after {
    font-size: 2em;
}
.contenu-enseignement-accueil .button_principal {
    background: transparent;
    float: right;
}
.enseignement-description {
    text-align: center;
    color: black;
    font-size: 12px;
}
.swiper-slide-active .enseignement-description {
    color: white;
}








.animation-container {
	display: none;
    width: 100%;
    height: 20px;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    margin: initial;
    text-align: center;
    filter: brightness(100);
	transition: .4s ease;
	opacity: 0;
}
.swiper-slide-active .animation-container {
    display: block;
    position: absolute;
    top: 50px;
}
.animation-container.is-playing {
    display: block;
	opacity: 1;
}
.sound-container {
  position: relative;
  width: 150px;
  height: 100%;
  display: inline-block;
  margin-left: 4px;
}

.animation-container .sound-container > div {
  position: relative;
  height: 100%;
  width: 10px;
  background: #540D6E;
  display: inline-block;
  animation: wave 3s infinite ease-in-out;
  -webkit-animation: wave 3s infinite ease-in-out;
}

.animation-container .sound-container .rect-2 {
  animation-delay: 0.1s;
  -webkit-animation-delay: 0.1s;
}

.animation-container .sound-container .rect-3 {
  animation-delay: 0.2s;
  -webkit-animation-delay: 0.2s;
}

.animation-container .sound-container .rect-4 {
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
}

.animation-container .sound-container .rect-5 {
  animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
}

.animation-container .sound-container .rect-6 {
  animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s;
}

@keyframes wave {
  0%, 100% {
    transform: scaleY(1);
    background: #008DD5;
  }
  16.67% {
    transform: scaleY(3);
    background: #FFF38E;
  }
  33.33% {
    transform: scaleY(1);
    background: #FF8C42;
  }
  50% {
    transform: scaleY(3);
    background: #FF514F;
  }
  66.67% {
    transform: scaleY(1);
    background: #B0228C;
  }
  83.34% {
    transform: scaleY(3);
    background: #7DDF64;
  }
}

button.play-pause-btn {
    position: absolute;
    left: 25px;
    z-index: 10;
    background: black;
    padding: initial;
    height: 25px;
	width: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.sous-titre {
    display: block;
    font-size: 16px;
    color: var(--couleur_primaire);
    font-family: var(--font-family_regular);
}

/**** BLOCK THEOLOGIE SYSTEMATIQUE ACCUEIL ****/
.block-theology h2 {
    text-align: center;
}
.block-theology {
    padding: 4rem 0;
}
/**** BLOCK THEOLOGIE SYSTEMATIQUE ACCUEIL ****/



.page-theologie .site-content .container {
    max-width: 100% !important;
    padding: 0 2%;
}


.home-sub-categories {
    display: flex;
}

.theologie-item {
    padding: 1rem;
    text-align: center;
}

.theologie-item h4 {
    height: 85px;
    font-size: 20px;
    font-family: var(--font-family_titre);
    color: var(--couleur_rouge);
    display: flex;
	align-items: center;
    justify-content: center;
}

.block-presentation {
    padding: 0 !important;
	padding-top: 4rem !important;
}
.block-avis {
    background: transparent !important;
}
.padding-block {
    padding: 4rem 0;
    position: relative;
	background: white;
}
.video-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.video-background video {
  object-fit: cover; /* Couvre toute la div sans déformation */
  width: 100%;
  height: 100%;
}

.home .site-main .type-page {
    margin-bottom: 0;
}
.home .site-content{
	padding: 0;
}

.latest-comments-block {
    color: white;
    background: rgb(0 0 0 / 32%);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 2%;
    text-align: center;
}
.latest-comments-block h2 {
    color: white;
}
.home .comment-meta img {
    padding: 5px;
    height: 80px;
    width: 80px;
    background: #ffffff73;
    border-radius: 50%;
	margin: 10px;
}
.home .comment-content {
    padding: 0 2%;
    color: #ffffff8c;
}
.home .comment-item {
    list-style: none;
    display: flex;
    flex-direction: column;
	background: transparent;
}
.home .comment-author {
    font-size: 25px;
    font-family: 'PTSerif-Bold';
    color: var(--couleur_primaire);
	position: relative;
	padding: 25px;
}
.home .comment-author:before {
    content: ",,";
    font-size: 40px;
    position: absolute;
	left: -3px;
    top: -15px;
}
.swiper-pagination-comment {
    position: relative;
    z-index: 9;
    margin-top: 50px;
}
.comments-list .swiper-slide {
    transform: initial;
    background: transparent;
    z-index: 9;
    border-radius: initial;
    box-shadow: none;
}
.home .comment-author:after {
    content: ",,";
    font-size: 40px;
    position: absolute;
	top: -15px;
	right: 0;
}
.type-theologie {
    margin-bottom: 2px;
}
.comments-list .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
    height: 15px;
    width: 15px;
    background: white;
}



.latest-actualite h2 {
    font-family: var(--font-family_bold);
    font-size: 20px;
    color: var(--couleur_rouge);
}
.actualite-content {padding: 40px 0;}
.actualites-contenu {
    padding-right: 45%;
}
.block-actualites-first {
    display: flex;
}
.partie-droite {
    width: 40%;
}