/*--------------------------------------------------------------

Name     Modular | Modular
Template Modular Showcase
Version  1.0.3
Author   Andrew Kendall
URL      https://www.digitalphotogallery.com/

--------------------------------------------------------------*/

/*==============================================================
CONTAINER GRID
==============================================================*/

#container {
  display: grid;
  min-height: var(--viewport-height);
  grid-template-areas:
    'header'
    'content'
    'footer';
  grid-template-rows: auto 1fr -webkit-min-content;
  grid-template-rows: auto 1fr min-content;
}

#container #header {
  grid-area: header;
}

#container .content {
  grid-area: content;
}

#container #footer {
  grid-area: footer;
}

/*==============================================================
SHARED BLOCKS
==============================================================*/

@media (min-width: 1024px) {
  .blocks {
    padding-top: var(--header-container-offset);
  }
}

.blocks {
  display: grid;
}

@media (min-width: 1024px) {
  .blocks {
    grid-template-columns: 50vw 50vw;
  }
}

.blocks .block {
  background-color: var(--background-colour);
  color: var(--text-colour);
}

.blocks .block a {
  background-color: var(--link-background-colour);
  color: var(--link-text-colour);
}

.blocks .block a:hover {
  background-color: var(--link-hover-background-colour);
  color: var(--link-hover-text-colour);
}

/*==============================================================
MODULAR BLOCK
==============================================================*/

.blocks .modular_block[data-modular-block-layout='scrolling_marquee'] {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: stretch;
  justify-content: flex-start;
  overflow: hidden;
}

.blocks .modular_block[data-modular-block-layout='scrolling_marquee'] .modular_block_module {
  flex: 0 0 100%;
  white-space: nowrap;
  animation: marquee 10s linear infinite;
  animation-play-state: running;
}

@keyframes marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(-100%, 0, 0);
  }
}

.blocks .modular_block[data-modular-block-layout='grid'] {
  display: grid;

  align-content: center;
}

.blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module {
  width: 100%;
}

@media (min-width: 1024px) {
  .blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-justify-self='start'] {
    justify-self: start;
  }

  .blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-justify-self='center'] {
    justify-self: center;
  }

  .blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-justify-self='end'] {
    justify-self: end;
  }
}

@media (min-width: 1024px) {
  .blocks .modular_block[data-modular-block-layout='grid'][data-modular-block-layout-grid-grid-template-columns='one'] {
    grid-template-columns: 1fr;
  }

  .blocks .modular_block[data-modular-block-layout='grid'][data-modular-block-layout-grid-grid-template-columns='two'] {
    grid-template-columns: 1fr 1fr;
  }

  .blocks .modular_block[data-modular-block-layout='grid'][data-modular-block-layout-grid-grid-template-columns='three'] {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .blocks .modular_block[data-modular-block-layout='grid'][data-modular-block-layout-grid-grid-template-columns='four'] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-text-align='left'] {
  text-align: left;
}

.blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-text-align='center'] {
  text-align: center;
}

.blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-text-align='right'] {
  text-align: right;
}

.blocks .modular_block[data-modular-block-layout='grid'] .modular_block_module[data-modular-block-layout-grid-module-text-align='justify'] {
  text-align: justify;
}

/*==============================================================
IMAGES
==============================================================*/

.blocks .images {
  --box-shadow-horizontal-offset: 0;
  --box-shadow-vertical-offset: 4px;
  --box-shadow-blur: 0;
  --box-shadow-spread: 0;
  --box-shadow-hover-horizontal-offset: 0;
  --box-shadow-hover-vertical-offset: 0;
  --box-shadow-hover-blur: 0;
  --box-shadow-hover-spread: 0;
  --box-shadow-color: rgba(0, 0, 0, 0);
}

.blocks .images[data-box-shadow='enabled'] .image_list.first .item_list li .image_container img,
.blocks .images[data-box-shadow='enabled'] .image_list.first .item_list li .image_container video {
  box-shadow: var(--box-shadow-horizontal-offset) var(--box-shadow-vertical-offset) var(--box-shadow-blur) var(--box-shadow-spread) var(--box-shadow-color);
}

.blocks .images[data-box-shadow='enabled'] .image_list.first .item_list li .image_container img:hover,
.blocks .images[data-box-shadow='enabled'] .image_list.first .item_list li .image_container video:hover {
  box-shadow: var(--box-shadow-hover-horizontal-offset) var(--box-shadow-hover-vertical-offset) var(--box-shadow-hover-blur) var(--box-shadow-hover-spread) var(--box-shadow-color);
}

.blocks .images .set.information h4 {
  display: none;
}

.blocks .images[data-images-set-information-display='none'] .set.information {
  display: none;
}

.blocks .images .set.information {
  display: flex;
  flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
}

.blocks .images .set.information .title {
  width: 100%;
}

.blocks .images .set.information .description {
  width: 100%;
}

.blocks .images[data-lightbox='enabled'] .image_list.first .item_list li {
  cursor: pointer;
}

@media (min-width: 1024px) {
  .blocks .images[data-images-set-information-align-items='flex_start'] .set.information {
    align-items: flex-start;
  }

  .blocks .images[data-images-set-information-align-items='center'] .set.information {
    align-items: center;
  }

  .blocks .images[data-images-set-information-align-items='flex_end'] .set.information {
    align-items: flex-end;
  }
}

.blocks .images[data-images-set-information-title-text-align='left'] .set.information .title {
  text-align: left;
}

.blocks .images[data-images-set-information-title-text-align='center'] .set.information .title {
  text-align: center;
}

.blocks .images[data-images-set-information-title-text-align='right'] .set.information .title {
  text-align: right;
}

.blocks .images[data-images-set-information-description-text-align='left'] .set.information .description {
  text-align: left;
}

.blocks .images[data-images-set-information-description-text-align='center'] .set.information .description {
  text-align: center;
}

.blocks .images[data-images-set-information-description-text-align='right'] .set.information .description {
  text-align: right;
}

.blocks .images[data-images-set-information-description-text-align='justify'] .set.information .description {
  text-align: justify;
}

.blocks .images .image_list.first .item_list li .data .title[data-blank='true'] {
  display: none;
}

.blocks .images .image_list.first .item_list li .data .description[data-blank='true'] {
  display: none;
}

.blocks .images .image_list.first .item_list li .data .description p {
  margin-top: 1em;
  margin-bottom: 1em;
}

/*------------------------------
HORIZONTAL SCROLLING
------------------------------*/

.blocks .images[data-images-layout='horizontal_scrolling'] {
  overflow: hidden;
  width: 100%;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first {
  overflow: scroll;
  width: 100%;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: stretch;
  justify-content: flex-start;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list li {
  position: relative;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list li .image_container img,
.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list li .image_container video {
  width: auto;
  object-fit: cover;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list li .data .image.information h4 {
  display: none;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list li .data {
  padding: 18px;
}

.blocks .images[data-images-layout='horizontal_scrolling'] .image_list.first .item_list li .data .image.information[data-blank='true'] {
  display: none;
}

/*------------------------------
SPLIT
------------------------------*/

.blocks .images[data-images-layout='split'] .image_list.first .item_list {
  display: grid;
}

.blocks .images[data-images-layout='split'] .image_list.first .item_list li {
  display: grid;
}

@media (min-width: 1024px) {
  .blocks .images[data-images-layout='split'] .image_list.first .item_list li {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .blocks .images[data-images-layout='split'] .image_list.first .item_list li[data-split-media-layout='data_media'] {
    grid-template-areas: 'data image_container';
  }

  .blocks .images[data-images-layout='split'] .image_list.first .item_list li[data-split-media-layout='data_media'] .image_container {
    grid-area: image_container;
  }

  .blocks .images[data-images-layout='split'] .image_list.first .item_list li[data-split-media-layout='data_media'] .data {
    grid-area: data;
  }
}

.blocks .images[data-images-layout='split'] .image_list.first .item_list li .image_container img,
.blocks .images[data-images-layout='split'] .image_list.first .item_list li .image_container video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.blocks .images[data-images-layout='split'] .image_list.first .item_list li .data .image.information h4 {
  display: none;
}

.blocks .images[data-images-layout='split'] .image_list.first .item_list li .data {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: stretch;
  align-items: stretch;
  justify-content: center;
  padding: 36px;
}

/*------------------------------
FULL
------------------------------*/

.blocks .images[data-images-layout='full'] .image_list.first .item_list {
  display: grid;
  margin-right: auto;
  margin-left: auto;
}

.blocks .images[data-images-layout='full'] .image_list.first .item_list li {
  position: relative;
}

.blocks .images[data-images-layout='full'] .image_list.first .item_list li .image_container {
  display: grid;
  align-items: center;
  justify-items: center;
}

.blocks .images[data-images-layout='full'] .image_list.first .item_list li .image_container img,
.blocks .images[data-images-layout='full'] .image_list.first .item_list li .image_container video {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.blocks .images[data-images-layout='full'] .image_list.first .item_list li .data .image.information h4 {
  display: none;
}

@media (min-width: 1024px) {
  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li[data-full-data-justify-content='flex_start'] .data .image.information {
    justify-content: flex-start;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li[data-full-data-justify-content='center'] .data .image.information {
    justify-content: center;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li[data-full-data-justify-content='flex_end'] .data .image.information {
    justify-content: flex-end;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li .data {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li .data .image.information {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: stretch;
    height: 100%;
    row-gap: 9px;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li .data .image.information[data-blank='true'] {
    display: none;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li .data .image.information .title[data-blank='true'] {
    display: none;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li .data .image.information .description[data-blank='true'] {
    display: none;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li[data-full-data-align-items='flex_start'] .data .image.information {
    align-items: flex-start;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li[data-full-data-align-items='center'] .data .image.information {
    align-items: center;
  }

  .blocks .images[data-images-layout='full'][data-full-data-position='over'] .image_list.first .item_list li[data-full-data-align-items='flex_end'] .data .image.information {
    align-items: flex-end;
  }
}

/*------------------------------
GRID
------------------------------*/

.blocks .images[data-images-layout='grid'] .image_list.first .item_list {
  display: grid;
  margin-right: auto;
  margin-left: auto;
}

.blocks .images[data-images-layout='grid'] .image_list.first .item_list li .image_container img,
.blocks .images[data-images-layout='grid'] .image_list.first .item_list li .image_container video {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.blocks .images[data-images-layout='grid'] .image_list.first .item_list li .data .image.information h4 {
  display: none;
}

@media (min-width: 0) and (max-width: 1023px) {
  .blocks .images[data-images-layout='grid'][data-mobile-images-layout-grid-grid-template-columns='one'] .image_list.first .item_list {
    grid-template-columns: 1fr;
  }

  .blocks .images[data-images-layout='grid'][data-mobile-images-layout-grid-grid-template-columns='two'] .image_list.first .item_list {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .blocks .images[data-images-layout='grid'][data-images-layout-grid-grid-template-columns='one'] .image_list.first .item_list {
    grid-template-columns: 1fr;
  }

  .blocks .images[data-images-layout='grid'][data-images-layout-grid-grid-template-columns='two'] .image_list.first .item_list {
    grid-template-columns: 1fr 1fr;
  }

  .blocks .images[data-images-layout='grid'][data-images-layout-grid-grid-template-columns='three'] .image_list.first .item_list {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .blocks .images[data-images-layout='grid'][data-images-layout-grid-grid-template-columns='four'] .image_list.first .item_list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.blocks .images[data-images-layout='grid'] .image_list.first .item_list li {
  display: grid;

  grid-row-gap: 18px;
  grid-template-rows: -webkit-min-content -webkit-min-content;
  grid-template-rows: min-content min-content;
}

.blocks .images[data-images-layout='grid'] .image_list.first .item_list li .data .image.information {
  display: grid;
  grid-row-gap: 5px;
}

/*------------------------------
SLIDESHOW
------------------------------*/

.blocks .images[data-images-layout='slideshow'] {
  display: grid;
  overflow: hidden;
  grid-template-rows: auto var(--media-height);
  grid-template-areas:
    'set_information'
    'image_list';
}

.blocks .images[data-images-layout='slideshow'] .set.information {
  grid-area: set_information;
}

.blocks .images[data-images-layout='slideshow'] .keywords {
  display: none;
}

.blocks .images[data-images-layout='slideshow'] .image_list {
  grid-area: image_list;
}

.blocks .images[data-images-layout='slideshow'] .image_list .item_list {
  position: relative;
}

.blocks .images[data-images-layout='slideshow'] .image_list .item_list li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--media-height);
  will-change: opacity, transform;
}

.blocks .images[data-images-layout='slideshow'] .image_list .item_list li:not(:first-of-type) {
  display: none;
}

.blocks .images[data-images-layout='slideshow'] .image_list .item_list li .image_container {
  width: 100%;
  height: 100%;
}

.blocks .images[data-images-layout='slideshow'] .image_list .item_list li .image_container img,
.blocks .images[data-images-layout='slideshow'] .image_list .item_list li .image_container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blocks .images[data-images-layout='slideshow'] .image_list .item_list li .data {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: stretch;
  align-items: center;
  justify-content: flex-end;
  padding: 18px;
  width: 100%;
  height: 100%;
}

.blocks .images[data-images-layout='slideshow'] .item_list li .data .image.information h4 {
  display: none;
}

/*------------------------------
CAROUSEL
------------------------------*/

.blocks .block.images[data-images-layout='carousel'] {
  display: grid;
}

.blocks .block.images[data-images-layout='carousel'] .image_list {
  position: relative;
  overflow: hidden;
  height: 100%;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list {
  display: flex;
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  height: 100%;
  -webkit-scroll-snap-type: x mandatory;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list::-webkit-scrollbar {
  height: 0;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li {
  position: relative;
  min-width: 100%;
  height: 100%;
  scroll-snap-align: center;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li .data {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: stretch;
  align-items: center;
  justify-content: center;
  padding: 36px;
  width: 100%;
  height: 100%;
  text-align: center;
  pointer-events: none;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li img,
.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li video {
  width: 100%;
  object-fit: cover;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li .image_container {
  display: grid;
  align-content: center;
  height: 100%;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .carousel_navigation[data-items='1'] {
  display: none;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .carousel_navigation {
  position: absolute;
  bottom: 9px;
  left: 0;
  width: 100%;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .carousel_navigation form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: flex-end;
  justify-content: center;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .carousel_navigation form input {
  box-shadow: none;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li .data .image.information h4 {
  display: none;
}

.blocks .block.images[data-images-layout='carousel'] .image_list .item_list li .data .image.information {
  max-width: 720px;
}

/*==============================================================
QUESTION AND ANSWER
==============================================================*/

.blocks .question_and_answer .title h2 {
  margin-bottom: 9px;
}

.blocks .question_and_answer .overview p {
  margin-bottom: 1em;
}

/*------------------------------
GROUP
------------------------------*/

.blocks .question_and_answer .questions_and_answers {
  margin-right: auto;
  margin-left: auto;
}

.blocks .question_and_answer .questions_and_answers .group .name h3 {
  margin-bottom: 5px;
}

/*------------------------------
QUESTIONS AND ANSWERS
------------------------------*/

.blocks .question_and_answer .questions_and_answers .group .items .item {
  display: grid;
}

.blocks .question_and_answer .questions_and_answers .group .items .item .question {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.blocks .question_and_answer .questions_and_answers .group .items .item .question h5 {
  display: grid;
  grid-template-columns: auto -webkit-min-content;
  grid-template-columns: auto min-content;
  grid-column-gap: 18px;
}

.blocks .question_and_answer .questions_and_answers .group .items .item .answer {
  display: none;
}

.blocks .question_and_answer .questions_and_answers .group .items .item[data-state='open'] .answer {
  display: block;
}

.blocks .question_and_answer .questions_and_answers .group .items .item .answer p {
  margin-bottom: 1em;
}

.blocks .question_and_answer .questions_and_answers .group .items .item .answer {
  padding-right: var(--horizontal-padding);
  padding-left: var(--horizontal-padding);
}

.blocks .question_and_answer .questions_and_answers .group .items .item .question h5:after {
  display: grid;
  align-items: center;
  content: '\f067';
  font-weight: 900;
  font-family: 'Line Awesome';
  justify-items: center;
}

.blocks .question_and_answer .questions_and_answers .group .items .item[data-state='open'] .question h5:after {
  content: '\f068';
}

.blocks .question_and_answer .questions_and_answers .group .items .item[data-state='open'] .question h5:after {
  transform: rotate(0deg);
}

.blocks .question_and_answer .questions_and_answers .group .items {
  display: grid;
}

.blocks .question_and_answer .questions_and_answers .group .items .item {
  border-style: solid;
}
