:root {
  --ins-text-bg: #f5f5f5;
  --ins-text-border: #dddddd;
  --ins-text-color: #222222;
  --ins-text-bg-1: #f5f5f5;
  --ins-text-bg-2: #f9f2e8;
  --ins-text-bg-3: #eef3ff;
  --ins-text-bg-4: #f6eefb;
  --ins-text-bg-5: #eef7f1;
  --ins-text-color-1: #222222;
  --ins-text-color-2: #222222;
  --ins-text-color-3: #222222;
  --ins-text-color-4: #222222;
  --ins-text-color-5: #222222;
  --ins-btn-bg: #222222;
  --ins-btn-text: #ffffff;
  --ins-effect-1: #eef6d7;
  --ins-effect-2: #fff4d6;
  --ins-effect-3: #e7f0ff;
  --ins-effect-4: #f3e7ff;
  --ins-effect-5: #e6f7ff;
}

.ins-wrap {
  width: var(--ins-wrap-width, 1100px);
  max-width: var(--ins-wrap-max, 96%);
  margin: var(--ins-wrap-mt, 0px) auto var(--ins-wrap-mb, 0px);
  display: grid;
  grid-template-columns: repeat(var(--ins-cols, 1), minmax(0, 1fr));
  gap: var(--ins-gap-item, 18px);
}

.ins-wrap.cols-1 { --ins-cols: 1; }
.ins-wrap.cols-2 { --ins-cols: 2; }
.ins-wrap.cols-3 { --ins-cols: 3; }
.ins-wrap.cols-4 { --ins-cols: 4; }
.ins-wrap.cols-5 { --ins-cols: 5; }
.ins-wrap.cols-6 { --ins-cols: 6; }

.ins-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: var(--ins-gap-inner, 18px);
  border-radius: var(--ins-radius-item, 0px);
  overflow: hidden;
  border: var(--ins-border-item-width, 0) var(--ins-border-item-style, solid) var(--ins-border-item-color, transparent);
  box-sizing: border-box;
}
.ins-media,
.ins-text {
  height: 100%;
}
.ins-media {
  display: flex;
  align-items: stretch;
}
.ins-media img {
  width: 100%;
  height: 100% !important;
  display: block;
  object-fit: cover;
  border-radius: var(--ins-radius-inner, 0px);
  border: var(--ins-border-inner-width, 0) var(--ins-border-inner-style, solid) var(--ins-border-inner-color, transparent);
  box-sizing: border-box;
}
.ins-item img {
	margin-top: 0 !important;
}
.ins-item.layout-full-image,
.ins-item.layout-full-text {
  grid-template-columns: 1fr;
}

.ins-item.layout-full-image .ins-text { display: none; }
.ins-item.layout-full-text .ins-media { display: none; }
.ins-item.layout-half-text .ins-text { order: 1; }
.ins-item.layout-half-text .ins-media { order: 2; }
.ins-item.layout-full-image-text { grid-template-columns: 1fr; }
.ins-item.layout-full-image-text .ins-media { order: 1; }
.ins-item.layout-full-image-text .ins-text { order: 2; display:block; }
.ins-item.layout-full-text-image { grid-template-columns: 1fr; }
.ins-item.layout-full-text-image .ins-text { order: 1; display:block; }
.ins-item.layout-full-text-image .ins-media { order: 2; display:block; }
.ins-item.layout-image-only { grid-template-columns: 1fr; }
.ins-item.layout-image-only .ins-text { display: none; }
.ins-item.layout-text-only { grid-template-columns: 1fr; }
.ins-item.layout-text-only .ins-media { display: none; }
.ins-item.layout-title-only { grid-template-columns: 1fr; }
.ins-item.layout-title-only .ins-media { display: none; }
.ins-item.layout-title-only .ins-subtitle,
.ins-item.layout-title-only .ins-date,
.ins-item.layout-title-only .ins-short,
.ins-item.layout-title-only .ins-long { display:none; }

.ins-item.hl-box { padding:20px; background: var(--ins-hl-color, #eef6d7); }
.ins-item.hl-border_thick { padding:20px; border:4px solid var(--ins-hl-color, #eef6d7); }
.ins-item.hl-border_thin { padding:20px; border:1px solid var(--ins-hl-color, #eef6d7); }
.ins-item.hl-line_above { padding:20px; margin:20px 0; border-top:1px solid var(--ins-hl-color, #eef6d7); }
.ins-item.hl-line_under { padding:20px; margin:20px 0; border-bottom:1px solid var(--ins-hl-color, #eef6d7); }
.ins-item.hl-lines_both { padding:20px; margin:20px 0; border-top:1px solid var(--ins-hl-color, #eef6d7); border-bottom:1px solid var(--ins-hl-color, #eef6d7); }
.ins-item.tcol-title-c1 .ins-title,
.ins-item.tcol-title-c1 .ins-title *,
.ins-item.tcol-title-c1 .ins-text h1,
.ins-item.tcol-title-c1 .ins-text h2,
.ins-item.tcol-title-c1 .ins-text h3,
.ins-item.tcol-title-c1 .ins-text h4,
.ins-item.tcol-title-c1 .ins-text h5 { color: var(--ins-text-color-1); }
.ins-item.tcol-title-c2 .ins-title,
.ins-item.tcol-title-c2 .ins-title *,
.ins-item.tcol-title-c2 .ins-text h1,
.ins-item.tcol-title-c2 .ins-text h2,
.ins-item.tcol-title-c2 .ins-text h3,
.ins-item.tcol-title-c2 .ins-text h4,
.ins-item.tcol-title-c2 .ins-text h5 { color: var(--ins-text-color-2); }
.ins-item.tcol-title-c3 .ins-title,
.ins-item.tcol-title-c3 .ins-title *,
.ins-item.tcol-title-c3 .ins-text h1,
.ins-item.tcol-title-c3 .ins-text h2,
.ins-item.tcol-title-c3 .ins-text h3,
.ins-item.tcol-title-c3 .ins-text h4,
.ins-item.tcol-title-c3 .ins-text h5 { color: var(--ins-text-color-3); }
.ins-item.tcol-title-c4 .ins-title,
.ins-item.tcol-title-c4 .ins-title *,
.ins-item.tcol-title-c4 .ins-text h1,
.ins-item.tcol-title-c4 .ins-text h2,
.ins-item.tcol-title-c4 .ins-text h3,
.ins-item.tcol-title-c4 .ins-text h4,
.ins-item.tcol-title-c4 .ins-text h5 { color: var(--ins-text-color-4); }
.ins-item.tcol-title-c5 .ins-title,
.ins-item.tcol-title-c5 .ins-title *,
.ins-item.tcol-title-c5 .ins-text h1,
.ins-item.tcol-title-c5 .ins-text h2,
.ins-item.tcol-title-c5 .ins-text h3,
.ins-item.tcol-title-c5 .ins-text h4,
.ins-item.tcol-title-c5 .ins-text h5 { color: var(--ins-text-color-5); }

.ins-item.tcol-subtitle-c1 .ins-subtitle { color: var(--ins-text-color-1); }
.ins-item.tcol-subtitle-c2 .ins-subtitle { color: var(--ins-text-color-2); }
.ins-item.tcol-subtitle-c3 .ins-subtitle { color: var(--ins-text-color-3); }
.ins-item.tcol-subtitle-c4 .ins-subtitle { color: var(--ins-text-color-4); }
.ins-item.tcol-subtitle-c5 .ins-subtitle { color: var(--ins-text-color-5); }

.ins-item.tcol-text-c1 .ins-text,
.ins-item.tcol-text-c1 .ins-text * { color: var(--ins-text-color-1); }
.ins-item.tcol-text-c2 .ins-text,
.ins-item.tcol-text-c2 .ins-text * { color: var(--ins-text-color-2); }
.ins-item.tcol-text-c3 .ins-text,
.ins-item.tcol-text-c3 .ins-text * { color: var(--ins-text-color-3); }
.ins-item.tcol-text-c4 .ins-text,
.ins-item.tcol-text-c4 .ins-text * { color: var(--ins-text-color-4); }
.ins-item.tcol-text-c5 .ins-text,
.ins-item.tcol-text-c5 .ins-text * { color: var(--ins-text-color-5); }
.ins-item.tcol-title-white .ins-title,
.ins-item.tcol-title-white .ins-title *,
.ins-item.tcol-title-white .ins-text h1,
.ins-item.tcol-title-white .ins-text h2,
.ins-item.tcol-title-white .ins-text h3,
.ins-item.tcol-title-white .ins-text h4,
.ins-item.tcol-title-white .ins-text h5 { color: #ffffff; }
.ins-item.tcol-title-f5 .ins-title,
.ins-item.tcol-title-f5 .ins-title *,
.ins-item.tcol-title-f5 .ins-text h1,
.ins-item.tcol-title-f5 .ins-text h2,
.ins-item.tcol-title-f5 .ins-text h3,
.ins-item.tcol-title-f5 .ins-text h4,
.ins-item.tcol-title-f5 .ins-text h5 { color: #f5f5f5; }
.ins-item.tcol-title-ccc .ins-title,
.ins-item.tcol-title-ccc .ins-title *,
.ins-item.tcol-title-ccc .ins-text h1,
.ins-item.tcol-title-ccc .ins-text h2,
.ins-item.tcol-title-ccc .ins-text h3,
.ins-item.tcol-title-ccc .ins-text h4,
.ins-item.tcol-title-ccc .ins-text h5 { color: #cccccc; }
.ins-item.tcol-title-777 .ins-title,
.ins-item.tcol-title-777 .ins-title *,
.ins-item.tcol-title-777 .ins-text h1,
.ins-item.tcol-title-777 .ins-text h2,
.ins-item.tcol-title-777 .ins-text h3,
.ins-item.tcol-title-777 .ins-text h4,
.ins-item.tcol-title-777 .ins-text h5 { color: #777777; }
.ins-item.tcol-title-444 .ins-title,
.ins-item.tcol-title-444 .ins-title *,
.ins-item.tcol-title-444 .ins-text h1,
.ins-item.tcol-title-444 .ins-text h2,
.ins-item.tcol-title-444 .ins-text h3,
.ins-item.tcol-title-444 .ins-text h4,
.ins-item.tcol-title-444 .ins-text h5 { color: #444444; }
.ins-item.tcol-title-000 .ins-title,
.ins-item.tcol-title-000 .ins-title *,
.ins-item.tcol-title-000 .ins-text h1,
.ins-item.tcol-title-000 .ins-text h2,
.ins-item.tcol-title-000 .ins-text h3,
.ins-item.tcol-title-000 .ins-text h4,
.ins-item.tcol-title-000 .ins-text h5 { color: #000000; }

.ins-item.tcol-subtitle-white .ins-subtitle { color: #ffffff; }
.ins-item.tcol-subtitle-f5 .ins-subtitle { color: #f5f5f5; }
.ins-item.tcol-subtitle-ccc .ins-subtitle { color: #cccccc; }
.ins-item.tcol-subtitle-777 .ins-subtitle { color: #777777; }
.ins-item.tcol-subtitle-444 .ins-subtitle { color: #444444; }
.ins-item.tcol-subtitle-000 .ins-subtitle { color: #000000; }

.ins-item.tcol-text-white .ins-text,
.ins-item.tcol-text-white .ins-text * { color: #ffffff; }
.ins-item.tcol-text-f5 .ins-text,
.ins-item.tcol-text-f5 .ins-text * { color: #f5f5f5; }
.ins-item.tcol-text-ccc .ins-text,
.ins-item.tcol-text-ccc .ins-text * { color: #cccccc; }
.ins-item.tcol-text-777 .ins-text,
.ins-item.tcol-text-777 .ins-text * { color: #777777; }
.ins-item.tcol-text-444 .ins-text,
.ins-item.tcol-text-444 .ins-text * { color: #444444; }
.ins-item.tcol-text-000 .ins-text,
.ins-item.tcol-text-000 .ins-text * { color: #000000; }
.ins-item.hl-text-white,
.ins-item.hl-text-white h2,
.ins-item.hl-text-white h3,
.ins-item.hl-text-white h4,
.ins-item.hl-text-white h5,
.ins-item.hl-text-white .ins-text,
.ins-item.hl-text-white .ins-text * { color:#fff; }

.ins-item.hl-c1 { --ins-hl-color: var(--ins-effect-1); }
.ins-item.hl-c2 { --ins-hl-color: var(--ins-effect-2); }
.ins-item.hl-c3 { --ins-hl-color: var(--ins-effect-3); }
.ins-item.hl-c4 { --ins-hl-color: var(--ins-effect-4); }
.ins-item.hl-c5 { --ins-hl-color: var(--ins-effect-5); }

.ins-item.tbg-transparent .ins-text { background: transparent; border: 0; }
.ins-item.tbg-c1 .ins-text { background: var(--ins-text-bg-1); }
.ins-item.tbg-c2 .ins-text { background: var(--ins-text-bg-2); }
.ins-item.tbg-c3 .ins-text { background: var(--ins-text-bg-3); }
.ins-item.tbg-c4 .ins-text { background: var(--ins-text-bg-4); }
.ins-item.tbg-c5 .ins-text { background: var(--ins-text-bg-5); }
.ins-item.tbg-white .ins-text { background: #ffffff; }
.ins-item.tbg-f5 .ins-text { background: #f5f5f5; }
.ins-item.tbg-ccc .ins-text { background: #cccccc; }
.ins-item.tbg-777 .ins-text { background: #777777; }
.ins-item.tbg-444 .ins-text { background: #444444; }
.ins-item.tbg-000 .ins-text { background: #000000; }
.ins-item.no-media { grid-template-columns: 1fr; }
.ins-item.no-media .ins-media { display: none; }

.ins-item.pos-top .ins-media,
.ins-item.pos-bottom .ins-media {
  grid-column: 1 / -1;
}

.ins-item.pos-right {
  direction: rtl;
}

.ins-item.pos-right .ins-media,
.ins-item.pos-right .ins-text {
  direction: ltr;
}

.ins-item.alt.even {
  direction: rtl;
}

.ins-item.alt.even .ins-media,
.ins-item.alt.even .ins-text {
  direction: ltr;
}

/* Preset-specific styling */
.ins-item.preset-left .ins-text {
  border-left: 6px solid var(--ins-btn-bg);
}

.ins-item.preset-right .ins-text {
  border-right: 6px solid var(--ins-btn-bg);
}

.ins-item.preset-alt-lr.odd .ins-text,
.ins-item.preset-alt-rl.odd .ins-text {
  background: color-mix(in srgb, var(--ins-text-bg) 85%, #ffffff 15%);
}

.ins-item.preset-alt-lr.even .ins-text,
.ins-item.preset-alt-rl.even .ins-text {
  background: color-mix(in srgb, var(--ins-text-bg) 70%, #ffffff 30%);
}

.ins-item.preset-stack .ins-text,
.ins-item.preset-stack-full .ins-text {
  text-align: left;
}

/* allow text for stack presets even when layout is full-image */
.ins-item.layout-full-image.preset-stack .ins-text,
.ins-item.layout-full-image.preset-stack-full .ins-text {
  display: block;
}

.ins-item.preset-stack-full .ins-media img {
  width: 100%;
  display: block;
}

.ins-item.preset-photo-wide .ins-media img {
  border-radius: var(--ins-radius-inner, 0px);
}

.ins-item.preset-text-wide .ins-text {
  width: 100%;
  font-size: 18px;
}

.ins-item.preset-video .ins-media iframe,
.ins-item.preset-video-text .ins-media iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

.ins-media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--ins-radius-inner, 0px);
  border: var(--ins-border-inner-width, 0) var(--ins-border-inner-style, solid) var(--ins-border-inner-color, transparent);
  box-sizing: border-box;
}
.ins-media iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  border: var(--ins-border-inner-width, 0) var(--ins-border-inner-style, solid) var(--ins-border-inner-color, transparent);
  box-sizing: border-box;
}
.ins-video-thumb { position: relative; display: block; }
.ins-video-noimage {
  width: 100%;
  min-height: 220px;
  background: var(--ins-effect-1, #eef6d7);
  border-radius: var(--ins-radius-inner, 0px);
}
.ins-video-noimage .ins-play {
  background: rgba(0,0,0,0.65);
}
.ins-video-inline { width:100%; }
.ins-video-embed {
  position: relative;
  width: 100%;
  height: 100%;
}
.ins-video-embed iframe {
  width: 100%;
  height: 100%;
}
.ins-video-btn { display:inline-block; padding:8px 12px; background:var(--ins-btn-bg); color:var(--ins-btn-text); border:0; border-radius:4px; cursor:pointer; text-decoration:none; }
.ins-video-thumb .ins-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64px;
  height: 64px;
  margin-left: -32px;
  margin-top: -32px;
  border-radius: 50%;
  background: rgba(103,48,101,0.5);
}
.ins-video-thumb .ins-play::after {
  content: '';
  position: absolute;
  left: 26px;
  top: 18px;
  width: 0;
  height: 0;
  border-left: 20px solid #fff;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
}

.ins-text {
  background: var(--ins-text-bg);
  border: 0;
  color: var(--ins-text-color);
  padding: 12px 36px;
  border-radius: var(--ins-radius-inner, 0px);
  border: var(--ins-border-inner-width, 0) var(--ins-border-inner-style, solid) var(--ins-border-inner-color, transparent);
  box-sizing: border-box;
}
.ins-item.text-bg-transparent .ins-text {
  background: transparent;
  border: 0;
}

.ins-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.section-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 16px;
}
.section-title h2 {
  text-align: var(--ins-section-title-align, left);
  margin-top: var(--ins-section-title-mt, 0px);
}
.ins-wraphead {
  width: var(--ins-wrap-width, 1100px);
  max-width: var(--ins-wrap-max, 96%);
  margin: var(--ins-wrap-mt, 0px) auto 0;
}

.ins-subtitle {
  font-size: 19px;
  opacity: 0.75;
  margin-bottom: 6px;
}

.ins-date {
  font-size: 12px;
  opacity: 0.65;
  margin-bottom: 10px;
}

.ins-short,
.ins-long {
  margin-bottom: 8px;
}

.ins-btn-link {
  display: inline-block;
  padding: 8px 12px;
  background: var(--ins-btn-bg);
  color: var(--ins-btn-text);
  text-decoration: none;
  border-radius: 3px;
}

/* lightbox */
#ins-lightbox {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}

#ins-lightbox.is-open { display: block; }

.ins-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.7);
}

.ins-lightbox-content {
  position: absolute;
  inset: 10% 10%;
  background: #000;
  border-radius: 6px;
  overflow: hidden;
}

#ins-lightbox.is-video .ins-lightbox-content {
  inset: auto;
  width: min(80vw, 1280px);
  aspect-ratio: 16 / 9;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.ins-lightbox-body iframe,
.ins-lightbox-body video {
  width: 100%;
  height: 100%;
}

#ins-lightbox.is-video .ins-lightbox-body {
  width: 100%;
  height: 100%;
}
#ins-lightbox.is-video .ins-lightbox-body > * {
  width: 100%;
  height: 100%;
}

.ins-lightbox-close {
  position: absolute;
  top: 8px;
  right: 10px;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  z-index: 2;
}

.ins-lightbox-body {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ins-lightbox-body iframe,
.ins-lightbox-body img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 900px) {
  .ins-wrap { grid-template-columns: 1fr; }
  .ins-item { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .ins-media { height: auto; width: 100% !important; background: #f5f5f5; }
  .ins-media img { height: auto; width: 100vw; }
  .ins-video-thumb,
  .ins-video-noimage { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .ins-video-embed {
    height: auto;
    padding-top: 56.25%;
  }
  .ins-video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
  }
}
