html { scroll-behavior: smooth; }

/** gallery ----> */
.gallery {  }
.responsive-flex-images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  /* padding: 0px 4px 8px 4px; */
  background: #fff;
}

.column {
  flex: 12.5%;
  max-width: 12.5%;
  padding: 0 4px;
}

.column img {
  vertical-align: middle;
  margin-top: 8px;
  /* filter: grayscale(70%); */
}

.column:nth-child(even) {
  display: flex;
  flex-direction: column-reverse;
}
.gallery a { opacity: 1; transition: opacity 0.3s ease; display: block; max-width: 278px; border: 3px solid #000; margin-bottom: -3px; margin-left: -3px; }
.gallery { padding-left: 3px; padding-bottom: 3px; }
.gallery a img { display: block; }
.gallery a:hover { opacity: 0.7; transition: opacity 0.3s ease-out; }
/** <---- */

/* BS 5 */
.mx-auto { margin: 0 auto; }
.img-fluid {
  max-width: 100%;
  height: auto;
}

.d-block {
  display: block !important;
}

.container-fluid {
  width: 100%;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  margin-right: auto;
  margin-left: auto;
}

.container {
  width: 100%;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  margin-right: auto;
  margin-left: auto;
  /* Responsive max-widths */
  max-width: 540px;  /* sm: 576px+ */
}
@media (min-width: 576px)  { .container { max-width: 540px; } }
@media (min-width: 768px)  { .container { max-width: 720px; } }
@media (min-width: 992px)  { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (min-width: 1400px) { .container { max-width: 1320px; } }

.p-0 { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.m-0 { margin: 0 !important; }
.px-0 { padding-right: 0 !important; padding-left: 0 !important; }
.mx-0 { margin-right: 0 !important; margin-left: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.p--5 { padding: 5px !important; }
.py--5 { padding-top: 5px !important; padding-bottom: 5px !important; }
.pb--5 { padding-bottom: 5px !important; }
.pt--5 { padding-top: 5px !important; }
.py-10 { padding-top: 10px !important; padding-bottom: 10px !important; }
.pb-10 { padding-bottom: 10px !important; }
.pt-10 { padding-top: 10px !important; }
.p-10 { padding: 10px !important; }
.py-15 { padding-top: 15px !important; padding-bottom: 15px !important; }
.pb-15 { padding-bottom: 15px !important; }
.pt-15 { padding-top: 15px !important; }
.p-20 { padding: 20px !important; }
.py-20 { padding-top: 20px !important; padding-bottom: 20px !important;}
.pb-20 { padding-bottom: 20px !important; }
.pt-20 { padding-top: 20px !important; }
.p-25 { padding: 25px !important; }
.py-25 { padding-top: 25px !important; padding-bottom: 25px !important;}
.pb-25 { padding-bottom: 25px !important; }
.pt-25 { padding-top: 25px !important; }
.p-30 { padding: 30px !important; padding-bottom: 30px !important;}
.py-30 { padding-top: 30px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pt-30 { padding-top: 30px !important; }
.p-90 { padding: 90px; }
.py-90 { padding-top: 90px; padding-bottom: 90px;}
.py-45 { padding-top: 45px; padding-bottom: 45px;}
.pt-90 { padding-top: 90px; }
.pb-90 { padding-bottom: 90px; }
.px-75 { padding-left: 75px; padding-right: 75px; }

.text-center {
  text-align: center !important;
}
/* end BS 5 */

@media (max-width: 1399px) {
	.column { flex: 25%; max-width: 25%; }
}
@media (max-width: 767px) {
	.column { flex: 25%; max-width: 25%; }
}
@media (max-width: 575px) {  
	.responsive-flex-images { padding: 0px 4px 8px 4px; }
	.column { flex: 50%; max-width: 50%; }
	.column { padding: 0 4px; }
	.column img { margin-top: 8px; }
}