/* line 1, _elements.gallery.scss */
.gallery {
  --gallery-columns: 5;
  --gallery-padding: 20px;
  position: relative;
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  margin: 0 calc(var(--gallery-padding) / -2) calc(var(--gallery-padding) * -1); }
  /* line 11, _elements.gallery.scss */
  .gallery.is-complete .gallery__item {
    opacity: 1; }
  /* line 14, _elements.gallery.scss */
  .gallery.is-complete .gallery__loader {
    opacity: 0; }
  @media (max-width: 1024px) {
    /* line 1, _elements.gallery.scss */
    .gallery {
      --gallery-columns: 4; } }
  @media (max-width: 767px) {
    /* line 1, _elements.gallery.scss */
    .gallery {
      --gallery-columns: 3;
      --gallery-padding: 10px; } }
  @media (max-width: 575px) {
    /* line 1, _elements.gallery.scss */
    .gallery {
      --gallery-columns: 2; } }
  /* line 29, _elements.gallery.scss */
  .gallery__item {
    width: calc(100% / var(--gallery-columns));
    padding: 0 calc(var(--gallery-padding) / 2);
    margin: 0 0 var(--gallery-padding);
    opacity: 0;
    transition: opacity 0.4s ease; }
  /* line 36, _elements.gallery.scss */
  .gallery__loader {
    position: absolute;
    z-index: -1;
    top: 80px;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.4s ease; }
    /* line 48, _elements.gallery.scss */
    .gallery__loader-spinner {
      width: 40px;
      height: 40px;
      border: 4px solid var(--bg-grey);
      border-bottom-color: var(--color-secondary);
      border-radius: 50%;
      animation: spinGalleryLoader 0.5s linear infinite; }

@keyframes spinGalleryLoader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/* line 1, _elements.gallery-card.scss */
.gallery-card {
  position: relative;
  box-shadow: var(--shadow-s);
  border-radius: var(--radius);
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--bg-grey); }
  @media (hover: hover), all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    /* line 1, _elements.gallery-card.scss */
    .gallery-card {
      transition: box-shadow 0.2s ease, opacity 0.2s ease; } }
  @media (hover: none) {
    /* line 1, _elements.gallery-card.scss */
    .gallery-card {
      -webkit-tap-highlight-color: transparent; } }
  @media (hover: hover), all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    /* line 25, _mixins.scss */
    .gallery-card:hover {
      box-shadow: var(--shadow); } }
  /* line 14, _elements.gallery-card.scss */
  .gallery-card .thumb {
    --radius: 0; }
  /* line 17, _elements.gallery-card.scss */
  .gallery-card .labels {
    position: absolute;
    left: 5px;
    top: 5px; }
  /* line 22, _elements.gallery-card.scss */
  .gallery-card__link {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
    @media (hover: hover), all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      /* line 30, _elements.gallery-card.scss */
      .gallery-card__link ~ .thumb img, .gallery-card__link ~ .thumb video {
        will-change: transform;
        transition: filter 0.6s ease, transform 0.6s ease; } }
    /* line 37, _elements.gallery-card.scss */
    .gallery-card__link ~ .svg-icon {
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 1;
      width: 60px;
      height: 60px;
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.5); }
      @media (hover: hover), all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        /* line 37, _elements.gallery-card.scss */
        .gallery-card__link ~ .svg-icon {
          transition: opacity 0.4s ease, transform 0.4s ease; } }
    @media (hover: none) {
      /* line 22, _elements.gallery-card.scss */
      .gallery-card__link {
        -webkit-tap-highlight-color: transparent; } }
    @media (hover: hover), all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      /* line 52, _elements.gallery-card.scss */
      .gallery-card__link:hover ~ .thumb img, .gallery-card__link:hover ~ .thumb video {
        filter: brightness(80%);
        transform: scale(1.06); }
      /* line 57, _elements.gallery-card.scss */
      .gallery-card__link:hover ~ .svg-icon {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1); } }
