/* Добавлен шрифт Arsenica-Antiqua-Light-trial для декоративных заголовков */
@font-face {
  font-family: 'Arsenica-Antiqua';
  src: url('/fonts/Arsenica-Antiqua-Light-trial.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('/fonts/Gilroy-regular.ttf') format('truetype'), url('/fonts/Gilroy-regular.svg') format('svg');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy-bold';
  src: url('/fonts/Gilroy-bold.ttf') format('truetype'), url('/fonts/Gilroy-bold.svg') format('svg');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Cormorant';
  src: url('fonts/Cormorant-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}



@font-face {
    font-family: 'Luminari';
    src: local('Luminari'),
        url('fonts/Luminari.woff2') format('woff2'),
        url('fonts/Luminari.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body{
  font-family: gilroy;
  font-size: 16px;
  overflow-x: hidden;
  /*margin-top: 70px; */
}

html{
  overflow-x: hidden;
}

.my-6{
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.my-7{
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.my-8{
  margin-top: 7rem;
  margin-bottom: 7rem;
}

.my-9{
  margin-top: 8rem;
  margin-bottom: 8rem;
}

.mt-6 {
  margin-top: 6rem; 
}


.title-divider{
  font-family: Cormorant, serif;
  font-size: 64px;
  color: black;
  font-weight: 700;
}

.pb-6 {
  padding-bottom: 3.5rem !important;
}

.pb-7 {
  padding-bottom: 4rem !important;
}

/* Links */

.nav-link{
  color: white;
}

/* end links */

.card-link{
  color: black;
  text-decoration: none;
}

/* Fonts */
.gilroy-font{
  font-family: Gilroy;
}

.carousel-title-font{
  font-family: Arsenica-Antiqua;
}

.arcenica-font{
  font-family: Arsenica-Antiqua;
}

.gilroy-bold{
  font-family: Gilroy-bold;
}
.time-news-roman{
  font-family: 'Times New Roman', Times, serif;
}

/* Raspisanie */

.day-liturgy-block{
  line-height: 40px;
  font-weight: 300;
  line-height: 1.2;
}

.day-liturgy{
  font-family: 'Times New Roman', Times, serif;
  font-size: 64px;
}

.month-liturgy{
  font-size: 16px;
}

.week-day{
  color:gray;
}

.event-name{
  font-family: Gilroy-bold;
  font-size: 18px;
}

.event-item-name{
  font-size: 18px;
}

.event-item-time{
  font-size: 18px;
  font-family: 'Times New Roman', Times, serif;
  font-weight: 600;
  font-style: italic;
  
}

.time-liturgy{
  font-size: 14px;
  margin-left: 8px;
  font-family: 'Times New Roman', Times, serif;
  font-weight: 700 !important;
  font-style: italic;
}

.bi-clock::before{
  display: inline-block;
  width: 18px;
  height: 18px;
  font-weight: 700 !important;
}

/* end raspisanie */


.navbar-scrolled {
    background-color: #01133B;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
 

.video-background-holder {
  position: relative;
  background-color: black;
  height: 75vh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}

.tainstva-holder {
  position: relative;
  background-color: black;
  height: calc(100vh - 72px);
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}


.video-background-content {
  position: relative;
  z-index: 2;
}


.video-background-holder video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}


.video-background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #01133B;
  opacity: .7;
  z-index: 1;
}

  .custom-background{
    background: #01133B;
  }

  /* offcanvas */
  
  .custom-offcanvas-body{
    background-color: #01133B;
  }


  /* ========== calendar datepicker ========== */



  /* for xs and sm */

  @media (max-width: 768px) {
    .datepicker-table,
    .table-condensed,
    .datepicker-inline {
      min-width: 20rem;
    }

    .dnd{
      display: none;
    }
    
    body{
      margin-top: 65px;
    }
    
    tbody{
      line-height: 22px;
    }

   
  }
  
  @media (min-width: 768px) {
    .datepicker-table,
    .table-condensed,
    .datepicker-inline {
      min-width: 18rem;
    }
  }

.calendar-border {
  border-bottom: 1px solid #e3dcdc;
  padding-top: 20px;
}



/* ============= end calendar datepicker =================*/

/* Кнопка прокрутки наверх - поверх всех элементов */
.back-to-top {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 35px;
  z-index: 9999;
  background-color: transparent !important;
  border-color: transparent !important;
  transition: all 0.3s ease;
  box-shadow: none;
}

.back-to-top:hover {
  background-color: transparent !important;
  border-color: transparent !important;
  transform: translateY(-2px);
  box-shadow: none;
}

.navbar-nav .nav-link:hover {
  color: white;
}

.navbar-nav .nav-link:focus, 
.navbar-nav .nav-link:active,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:active {
  color: white;
}




.dropdown:hover > .dropdown-menu {
  display: block;
}



.svg-ikona{
  width: 180px;
  height: 250px;
}


.icon-link {
  display: inline-block;
  margin-right: 9px;
  margin-bottom: 5px;
}

.icon {
  width: 32px;
  height: 32px;
  fill: #fff;
}

.hr{
  margin: 1rem 0;
  color:lightgray;
  opacity: .25;
}

.holiday_red{
  font-family: Gilroy-bold;
  color:red;
}

.holiday_green{
  color:green;
}

.holiday_blue{
  color:#0066ff;
}

.holiday_violet{
  color:#660066;
}

.holiday_yellow{
  color:#ffcc00;
}

/* colors for time event  */
.time_red{
  color: red;
}

.time_green{
  color: green;
}

.time_violet{
  color: #660066;
}


.time_yellow{
  color: #ffcc00;
}

.time_blue{
  color: #0066ff;
}


.time_name_red{
  color: red;
}


/* Name of events colors */

.event_name_color_green{
  color: green;
}

.event_name_color_red{
  color: red;
}

.event_name_color_yellow{
  color: #ffcc00;
}

.event_name_color_blue{
  color: #0066ff;
}

.event_name_color_violet{
  color: #660066;
}

/* Day number colors  */
.day_color_red{
  color:red;
}

.day_color_green{
  color:green;
}


.day_color_blue{
  color: #0066ff;
}

.day_color_yellow{
	color: #ffcc00;
}

.day_color_violet{
	color: #660066;
}



/* старт в 2.0 мобиле */
.btn-custom-blue {
  color: #011376 !important;
}

/* Стиль для шапки offcanvas */
.offcanvas-custom-header {
  background: none !important;
}

/* Стиль для тела offcanvas */
.offcanvas-custom-body {
  background: none !important;
}

/*
.offcanvas.offcanvas-end {
  background-image: url('../images/offcanvas/background.svg') !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
  */



.btn-close-custom {
  filter: invert(1) !important;
}

/* Убирает outline при фокусе и активном состоянии */
.navbar-toggler,
.navbar-toggler:focus,
.navbar-toggler:active {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}





/* Добавьте в ваш CSS файл */
.dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.dropdown.show .dropdown-menu {
    opacity: 1;
    visibility: visible;
}

.nav-item.dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}


     .full-width-dropdown {
    position: static !important;
  }
  
  .full-width-dropdown .dropdown-menu {
    width: 100%;
    left: 0;
    right: 0;
    background-color: #01133B;
    border: none;
    border-radius: 0;
    margin-top: 0;
    padding: 20px 0;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
  }
  
  .dropdown-menu-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
  }
  
  .dropdown-menu-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  .dropdown-item-custom {
    color: white !important;
    padding: 8px 20px;
    font-family: 'Gilroy';
    font-size: 16px;
    white-space: nowrap;
    margin: 0 10px;
  }
  
  .dropdown-item-custom:hover {
    background-color: rgba(255,255,255,0.1) !important;
  }


  .offcanvas-icons {
  margin-top: auto; /* Чтобы прижать вниз, если используете flex-column */
}

/* шрифт ещё меньше */
.fs-8 {
  font-size: 0.675rem;
}

/*=========== Fonts ============*/

.luminari-font {
  font-family: 'Luminari', sans-serif;
}

/*=========== end Fonts ============*/


/* Прогресс индикатор карусель */
.carousel-indicators button {
  position: relative;
  width: 40px;
  height: 4px;
  background-color: #ccc;
  margin: 0 4px;
  overflow: hidden;
  border: none;
}

.carousel-indicators .progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background-color: #011376;
  transition: width 0.1s ease; /* Плавное изменение ширины при паузе */
}

/* Анимация прогресса только для активного индикатора */
.carousel-indicators button.active .progress-bar {
  animation: progress 7s linear forwards;
}

.carousel-indicators button:not(.active) .progress-bar {
  animation: none;
  width: 0%; /* Сбрасываем ширину для неактивных */
}

/* Стили для мобильных устройств (xs, sm) */
@media (max-width: 767.98px) {
  .carousel-indicators button.active .progress-bar {
    animation: progress 7s linear forwards;
  }
  
  /* При паузе анимация останавливается */
  .carousel-indicators .progress-bar.paused {
    animation-play-state: paused;
  }
}

@keyframes progress {
  from { width: 0%; }
  to { width: 100%; }
}


/* Отключи цвет ссылок */
.disable-links a {
    pointer-events: none;      
    color: inherit;            
    text-decoration: none;     
    cursor: default;           
  }

/* Карточка для раздела паломничества: фон и цвет текста */
.custom-pilgrimage-card {
  background: #1c48aa;
  color: #fff;
  height: 200px; /* Фиксированная высота для всех блоков */
  display: flex;
  flex-direction: column;
}

.custom-pilgrimage-card .position-relative {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.custom-pilgrimage-card .position-relative > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.custom-pilgrimage-card h3 {
  margin-bottom: 1rem;
}

.custom-pilgrimage-card p {
  margin-bottom: 0;
  margin-right: 3rem; /* Отступ от галочки справа */
  margin-top: auto; /* Прижимаем к низу */
  line-height: 1.25; /* lh-sm - уменьшенная высота строки */
}



/*=========== Media points ============*/


/* lg, xl, xxl */
@media (min-width: 992px) {

  .container-limited {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .navbar {
    /*height: 70px; */
    background-color: #01133b;
  }

  .bi-list{
    font-size: 2rem;
    color: white;
  }

    /* Скрываем checkbox */
    .menu-checkbox {
      display: none;
    }

    /* Кнопка прокрутки наверх - скрываем на больших экранах */
    .back-to-top {
      display: none;
    }
}


/* md */
@media (min-width: 768px) and (max-width: 991.98px) {

  .container-limited {
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .navbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: #01133B !important;
    z-index: 1001;
  }
  

  .navbar {
    height: 70px;
  }

/*  
  body {
    margin-top: 65px;
  }
  */

  .bi-list{
    font-size: 2rem;
    color: white;
  }

  .hamburger {
    width: 2rem;
    height: 1.2rem;
    position: relative;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #01133B;
    border-radius: 1px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

    /* Скрываем checkbox */
  .menu-checkbox {
    display: none;
  }
  /* Анимация гамбургера в крест */
  #menu-toggle:checked ~ .navbar .hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
    transition: transform 0.2s ease;
  }

    #menu-toggle:checked ~ .navbar .hamburger span:nth-child(2) {
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    #menu-toggle:checked ~ .navbar .hamburger span:nth-child(3) {
      transform: rotate(-45deg) translate(6px, -6px);
      transition: transform 0.2s ease;
    }

        /* Собственное мобильное меню */
        .mobile-menu {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100vh;
          background-image: url('images/offcanvas/background.svg');
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          z-index: 1000;
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.3s ease 0.2s, visibility 0.3s ease 0.2s;
        }

        /* Показываем меню при checked с задержкой */
        #menu-toggle:checked ~ .mobile-menu {
          opacity: 1;
          visibility: visible;
        }

        /* Скрываем навбар при открытом мобильном меню, но оставляем гамбургер */
        #menu-toggle:checked ~ .navbar {
          background-color: transparent !important;
        }

        #menu-toggle:checked ~ .navbar .navbar-brand,
        #menu-toggle:checked ~ .navbar .navbar-collapse {
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.2s ease, visibility 0.2s ease;
          pointer-events: none;
        }

        /* Оставляем гамбургер видимым */
        #menu-toggle:checked ~ .navbar .navbar-toggler {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
        }

        /* Стили для шапки меню */
        .mobile-menu-header {
          padding: 20px 24px;
          z-index: 1003;
          position: relative;
        }

        /* Стили для креста в мобильном меню */
        #mobileMenuHomeBtn {
          z-index: 1004;
          position: relative;
          display: block;
          padding: 10px;
          margin: 0;
          cursor: pointer;
          text-decoration: none;
        }

        #mobileMenuHomeBtn:hover {
          opacity: 0.8;
        }

        /* Стили для тела меню */
        .mobile-menu-body {
          padding: 20px 0;
          height: calc(100vh - 80px);
          display: flex;
          flex-direction: column;
        }

        /* Стили для ссылок */
        .mobile-menu .nav-link {
          padding: 8px 24px;
          color: white !important;
          font-size: 16px;
          font-weight: 200;
          transition: background-color 0.3s ease;
        }

        .mobile-menu .nav-link:hover {
          background-color: rgba(255, 255, 255, 0.1);
          color: white !important;
        }

        /* Стили для иконок */
        .mobile-menu .offcanvas-icons {
          margin-top: auto;
          padding: 20px 24px;
          margin-bottom: 20px;
        }

        /* Кнопка прокрутки наверх - скрываем на планшетах */
        .back-to-top {
          display: none;
        }
}

 /* xs sm */
 @media (max-width: 767.98px) {

  .navbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: #01133b !important;
    z-index: 1001; /* 10 wozmogno nado 1001 iz za offcanvas swerhu*/
  }

  body {
    margin-top: 0; /* прозрачная */
  }

  .bi-list{
    font-size: 2rem;
  }
  
  .custom-background{
    background: #011376 !important;
  }

  .custom-pilgrimage-card {
    height: 120px; /* Меньшая высота для мобильных устройств */
  }

  .hamburger {
    width: 2rem;
    height: 1.2rem;
    position: relative;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: white;
    border-radius: 1px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

    /* Скрываем checkbox */
  .menu-checkbox {
    display: none;
  }
  /* Анимация гамбургера в крест */
  #menu-toggle:checked ~ .navbar .hamburger span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
    transition: transform 0.2s ease;
  }

    #menu-toggle:checked ~ .navbar .hamburger span:nth-child(2) {
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    #menu-toggle:checked ~ .navbar .hamburger span:nth-child(3) {
      transform: rotate(-45deg) translate(6px, -6px);
      transition: transform 0.2s ease;
    }

        /* Собственное мобильное меню */
        .mobile-menu {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          height: 100vh;
          /*
          background-image: url('images/offcanvas/background.svg');
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat;
          */
          background-color: #01133B;
          z-index: 1000;
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.3s ease 0.2s, visibility 0.3s ease 0.2s;
        }

        /* Показываем меню при checked с задержкой */
        #menu-toggle:checked ~ .mobile-menu {
          opacity: 1;
          visibility: visible;
        }

        /* Скрываем навбар при открытом мобильном меню, но оставляем гамбургер */
        #menu-toggle:checked ~ .navbar {
          background-color: transparent !important;
        }

        #menu-toggle:checked ~ .navbar .navbar-brand,
        #menu-toggle:checked ~ .navbar .navbar-collapse {
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.2s ease, visibility 0.2s ease;
          pointer-events: none;
        }

        /* Оставляем гамбургер видимым */
        #menu-toggle:checked ~ .navbar .navbar-toggler {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
        }

        /* Стили для шапки меню */
        .mobile-menu-header {
          z-index: 1003;
        }

        /* Стили для креста в мобильном меню */
        #mobileMenuHomeBtn {
          z-index: 1004;
          position: relative;
          display: block;
          /*padding: 10px;
          margin: -10px; */
          cursor: pointer;
          text-decoration: none;
        }

        #mobileMenuHomeBtn:hover {
          opacity: 0.8;
        }

        /* Стили для тела меню */
        .mobile-menu-body {
          height: calc(100vh - 80px);
          display: flex;
          flex-direction: column;
        }

        /* Стили для ссылок */
        .mobile-menu .nav-link {
          padding: 8px 24px;
          color: white !important;
          font-size: 16px;
          font-weight: 200;
          transition: background-color 0.3s ease;
        }

        .mobile-menu .nav-link:hover {
          background-color: rgba(255, 255, 255, 0.1);
          color: white !important;
        }

        /* Стили для иконок */
        .mobile-menu .offcanvas-icons {
          margin-top: auto;
          padding: 20px 24px;
          margin-bottom: 20px;
        }

        /* Кнопка прокрутки наверх - показываем на мобильных */
        .back-to-top {
          display: flex;
        }

}

/*=========== end Media points ============*/


/*=========== Carousel ============*/ 

/* Контейнер для выравнивания содержимого слайда мобильной карусели по высоте */
#mobileCarousel .carousel-item {
  min-height: 420px;
  height: 540px;
  overflow: hidden;
  position: relative;
}
#mobileCarousel .carousel-slide-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}
#mobileCarousel .carousel-slide-content img {
  flex: 1 0 auto;
  object-fit: cover;
  width: 100%;
  min-height: 0;
}
#mobileCarousel .carousel-caption {
  flex-shrink: 0;
}

/*
  Стили только для основного изображения слайда (первое img внутри .carousel-slide-content)
*/
#mobileCarousel .carousel-slide-content > img:first-child {
  flex: 1 0 auto;
  object-fit: cover;
  width: 100%;
  min-height: 0;
}

/*
  Сброс размера для иконок внутри .carousel-caption, чтобы не растягивались
*/
#mobileCarousel .carousel-caption img {
  width: 24px !important;
  height: 24px !important;
  object-fit: contain;
  flex: none;
}

/* Отключаем системное меню сохранения/перетаскивание на изображениях карусели */
#mobileCarousel .carousel-item img {
  -webkit-touch-callout: none; /* iOS: отключить вызов меню по долгому тапу */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none; /* Safari/Chrome: запрет перетаскивания */
  pointer-events: none; /* пропускать события через изображение к контейнеру */
}

/*
  Зоны управления мобильной каруселью (клик по левой/правой части слайда)
  Используется в index.html для #mobileCarousel
*/
.carousel-click-zone {
  position: absolute;
  top: 56px; /* не перекрывать навигационную панель */
  width: 35%; /* уменьшено для кликабельности центральных элементов */
  height: calc(100% - 56px); /* высота минус панель */
  z-index: 10;
  cursor: pointer;
}
.carousel-click-left {
  left: 0;
}
.carousel-click-right {
  right: 0;
}

/* Стили для посещённых ссылок в блоке Евангельские чтения (print_chten) */
.evangelie a:visited {
  color: #000000; /* фиолетовый, можно заменить на другой при необходимости */
}





