:root {
	
	--w: auto;
	--max-w: 100%;
	--h: auto;
	--min-h: 0;
	
	--padding: 0;
	--padding-x: 0;
	--padding-y: 0;
	--gap: 1rem;
	
	--font-size: inherit;
	--line-height: inherit;
	--text-align: left;
	
	--bg-color: transparent;
	--bg-image: none;
	--bg-size: cover;
	--bg-position: center;
	
	--color: inherit;
	--heading-color: inherit;
	--button-bg: #000;
	--button-color: #fff;
	
	--slide-height: 450px;
	--slide-width: 100%;
	
	--bg-repeat: no-repeat;
	--bg-attachment: scroll;
	
	--radius: 0;
	--shadow: none;
	
	--opacity: 1;
	
	--transition: all .3s ease;
	
	--margin: 0;
	
	--swiper-height: 450px;
	--swiper-height-mobile: 300px;
	--swiper-height-tablet: 500px;
	--swiper-height-desktop: 500px;

}


/* Base module style */
.module {
  width: var(--w);
  max-width: var(--max-w);
  height: var(--h);
  min-height: var(--min-h);

  padding: var(--padding);
  padding-left: var(--padding-x);
  padding-right: var(--padding-x);
  padding-top: var(--padding-y);
  padding-bottom: var(--padding-y);

  gap: var(--gap);

  color: var(--color);
  background-color: var(--bg-color);
  background-image: var(--bg-image);
  background-size: var(--bg-size);
  background-position: var(--bg-position);

  font-size: var(--font-size);
  line-height: var(--line-height);
  text-align: var(--text-align);
}

/* alignment helpers */
.module.align-left   { --text-align: left; }
.module.align-center { --text-align: center; }
.module.align-right  { --text-align: right; }

/* Height presets */
.module.height-small  { --h: 300px; }
.module.height-medium { --h: 450px; }
.module.height-large  { --h: 650px; }

/* Background helpers */
.module.bg-dark  { --color:#fff; --bg-color:#000; }
.module.bg-light { --color:#000; --bg-color:#fff; }


/**** slider ****/

.module-slider .swiper,
.module-slider .swiper-wrapper,
.module-slider .swiper-slide {
  height: 100%;
}

.module-slider .swiper {
  height: var(--swiper-height-mobile);
}

@media (min-width:768px) {
  .module-slider .swiper {
	height: var(--swiper-height-tablet);
  }
}

@media (min-width:992px) {
  .module-slider .swiper {
	height: var(--swiper-height-desktop);
  }
}


/********* card collection *********/

.card-collection.layout-masonry .card-collection-wrapper .row {
  column-count: 3;
  column-gap: 1rem;
}

.card-collection.layout-masonry .image-wrapper {
  break-inside: avoid;
  margin-bottom: 1rem;
}

/* optional: responsive */
@media (max-width: 991px) {
  .card-collection.layout-masonry .card-collection-wrapper .row { column-count: 2; }
}
@media (max-width: 575px) {
  .card-collection.layout-masonry .card-collection-wrapper .row { column-count: 1; }
}





