/*
 * –––––––––––––––––––– General  –––––––––––––––––––––––––
 */
[noScrollBar]
{
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
[noScrollBar]::-webkit-scrollbar {
  display: none;
}



/*
 * –––––––––––––––––––– Image Cluster  –––––––––––––––––––––––––
 */
:root
{
 --icStretch: 0; /*0 to 1*/
 --childWidth: 0;
 --icGap: var(--margin_Medium);
 --icHover: 0;
}

.imageCluster
{
  overflow: visible;
  display: grid;
  grid-gap: 3em;
  grid-template-rows: calc((min(72.5vmin, 600px)*1.025) + var(--margin_Medium)) auto;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
  cursor: pointer;
}

.imageCluster::-webkit-scrollbar {
   display: none;
}

.imageCluster.on
{
  /* overflow: scroll; */
}

.imageCluster:not(.on) > .Media:hover
{
  --icHover: 1;
}

.imageCluster .Controls
{
  grid-column: 1;
  grid-row: 2;
  display: flex;
  align-items: center;
  margin: auto;
  margin-bottom: var(--margin_MediumLarge);
  justify-content: center;
  width: 100%;
}

.imageCluster .Controls p,
.imageCluster .Controls rect
{
  color: var(--light);
  background: var(--theme);
  box-shadow: var(--shadowClose);
}

.imageCluster .Controls > p
{
  margin-top: unset;
  height: fit-content;
  width: max-content;
  padding: 3px 9px;
  font-size: 1em;
  text-align: center;
  border-radius: var(--radius);
  color: var(--dark);
  display: flex;
  align-items: center;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;

  transition: all var(--animationFast) ease-in-out;
  -webkit-transition: all var(--animationFast) ease-in-out;
  -moz-transition: all var(--animationFast) ease-in-out;
  -o-transition: all var(--animationFast) ease-in-out;
  -ms-transition: all var(--animationFast) ease-in-out;
}

.imageCluster .Controls > p::before
{
  content: "Udvid";
  width: 5ch;
  transition: all var(--animationFast) ease-in-out;
  -webkit-transition: all var(--animationFast) ease-in-out;
  -moz-transition: all var(--animationFast) ease-in-out;
  -o-transition: all var(--animationFast) ease-in-out;
  -ms-transition: all var(--animationFast) ease-in-out;
}

.imageCluster.on .Controls > p::before
{
  -webkit-animation: icChangeControls_Hide var(--animationFast) ease-in-out forwards;
  animation: icChangeControls_Hide var(--animationFast) ease-in-out;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

.imageCluster:not(.on) .Controls > p::before
{
  animation: icChangeControls_Expand var(--animationFast) ease-in-out;
  animation-fill-mode: forwards;
  -webkit-animation-fill-mode: forwards;
}

@keyframes icChangeControls_Expand {
  0%
  {
    content: "Skjul";
    opacity: 1;
  }
  50%
  {
    transform: rotateX(90deg);
    opacity: 0;
  }
  100%
  {
    content: "Udvid";
    opacity: 1;
  }
}

@keyframes icChangeControls_Hide {
  0%
  {
    content: "Udvid";
    opacity: 1;
  }
  50%
  {
    transform: rotateX(90deg);
    opacity: 0;
  }
  100%
  {
    content: "Skjul";
    opacity: 1;
  }
}

.imageCluster .Controls > p:hover
{
  transform: scale(1.05);
}

.imageCluster .Controls > p > svg
{
  height: 10px;
  width: 10px;
  margin: auto;
  margin-left: 0.75em;
  margin-right: 1px;
  fill: none;
  stroke-width: 2px;
  stroke: var(--dark);
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;

  transition: transform var(--animationFast) ease-in-out;
  -webkit-transition: transform var(--animationFast) ease-in-out;
  -moz-transition: transform var(--animationFast) ease-in-out;
  -o-transition: transform var(--animationFast) ease-in-out;
  -ms-transition: transform var(--animationFast) ease-in-out;
}

.imageCluster.on .Controls > p > svg
{
  transform: rotate(45deg);
}

.imageCluster .Controls > rect
{
  display: flex;
  height: 1.5em;
  width: 1.5em;
  border-radius: var(--radius);
  opacity: 0.33;

  transition: all var(--animationFast) ease-in-out;
  -webkit-transition: all var(--animationFast) ease-in-out;
  -moz-transition: all var(--animationFast) ease-in-out;
  -o-transition: all var(--animationFast) ease-in-out;
  -ms-transition: all var(--animationFast) ease-in-out;
}

.imageCluster .Controls > rect.r
{
  transform: translateX(-100%);
}

.imageCluster .Controls > rect.l
{
  transform: translateX(100%);
}

.imageCluster.on .Controls > rect.r
{
  transform: translateX(0.5em);
}

.imageCluster.on .Controls > rect.l
{
  transform: translateX(-0.5em);
}

.imageCluster.on.overflowR .Controls> rect:hover.r
{
  transform: scale(1.1) translateX(0.5em);
}

.imageCluster.on.overflowL .Controls > rect:hover.l
{
  transform: scale(1.1) translateX(-0.5em);
}

.imageCluster.on.overflowR .Controls > rect.r
{
  opacity: 1;
}

.imageCluster.on.overflowL .Controls > rect.l
{
  opacity: 1;
}

.imageCluster .Controls > rect > svg
{
  height: 10px;
  width: 5px;
  margin: auto;
  fill: none;
  stroke-width: 2px;
  stroke: var(--dark);
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.imageCluster .Controls > rect.l > svg
{
  padding-right: 1px;
}

.imageCluster .Controls > rect.r > svg
{
  padding-left: 1px;
}

.imageCluster .Media
{
  grid-column: 1;
  grid-row: 1 / span 2;
  display: flex;
  overflow-x: scroll;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
  scroll-behavior: smooth;
}

.imageCluster .Media::-webkit-scrollbar {
   display: none;
}

.imageCluster.on .MediaGroup
{
  --icStretch: 1;
}

.imageCluster .MediaGroup
{
  grid-column: 1;
  grid-row: 1;
  display: grid;
  width: calc(var(--clientWidth) * var(--icStretch));
  grid-auto-columns: min-content;
  padding-left: calc(50% - (50% * var(--icStretch)));
  padding-top: var(--margin_Medium);
  grid-gap: calc(var(--icGap) * var(--icStretch));

  transition: all var(--animationFast) ease-in-out;
  -webkit-transition: all var(--animationFast) ease-in-out;
  -moz-transition: all var(--animationFast) ease-in-out;
  -o-transition: all var(--animationFast) ease-in-out;
  -ms-transition: all var(--animationFast) ease-in-out;
}

.imageCluster .MediaGroup > div:first-of-type
{
  padding-left: calc(var(--icGap) * var(--icStretch));
}

.imageCluster .MediaGroup > div:last-of-type
{
  padding-right: calc(var(--icGap) * var(--icStretch));
}

.imageCluster .MediaGroup > div
{
  width: calc(var(--childWidth) * var(--icStretch));
  grid-row: 1;
  display: grid;
  justify-content: center;
  z-index: calc(0 - var(--nr));

  transition: all var(--animationFast) ease-in-out;
  -webkit-transition: all var(--animationFast) ease-in-out;
  -moz-transition: all var(--animationFast) ease-in-out;
  -o-transition: all var(--animationFast) ease-in-out;
  -ms-transition: all var(--animationFast) ease-in-out;
}

.imageCluster .MediaGroup > div:nth-child(1)
{
  z-index: -1;
}

.imageCluster .MediaGroup > div:nth-child(2)
{
  z-index: 0;
}

.imageCluster .MediaGroup > div:nth-child(1) >  img
{
  transform: scale(calc(0.9 + (0.1 * var(--icStretch)))) translateX(calc((-25% * (1 - var(--icStretch))) + (var(--icHover) * -5%))) translateY(calc(-5% * (1 - var(--icStretch)))) rotateZ(calc(-20deg * (1 - var(--icStretch))));
}

.imageCluster .MediaGroup > div:nth-child(2) >  img
{
  transform: scale(calc(1.025 - (0.025 * var(--icStretch)) + (0.025 * var(--icHover))));
}

.imageCluster .MediaGroup > div:nth-child(3) >  img
{
  transform: scale(calc(0.9 + (0.1 * var(--icStretch)))) translateX(calc((25% * (1 - var(--icStretch))) + (var(--icHover) * 5%))) translateY(calc(-5% * (1 - var(--icStretch)))) rotateZ(calc(20deg * (1 - var(--icStretch))));
}

.imageCluster .MediaGroup > div:last-child > img
{
  box-shadow: var(--shadowClose);
}

.imageCluster .MediaGroup > div > img
{
  width: auto;
  height: 72.5vmin;
  max-height: 600px;
  box-shadow: var(--shadow);
  transform: scale(calc(0.85 + (0.15 * var(--icStretch)) - (0.01 * var(--icHover))));

  transition: all var(--animationFast) ease-in-out;
  -webkit-transition: all var(--animationFast) ease-in-out;
  -moz-transition: all var(--animationFast) ease-in-out;
  -o-transition: all var(--animationFast) ease-in-out;
  -ms-transition: all var(--animationFast) ease-in-out;
}

.imageCluster.on .MediaGroup > div >  img
{
  box-shadow: var(--shadowClose);
}

@media (max-width: 800px)
{
  :root
  {
    --icGap: 1em;
  }

  .imageCluster:not(.on):hover
  {
    --icHover: 0;
  }
}


/*
 * –––––––––––––––––––– Parallax –––––––––––––––––––––––––
 */


:root
{
  --parallax_Height: 125; /*(In percentage)*/
}

img[parallax]
{
  height: calc(var(--parallax_Height) * 1%);
  min-height: calc(var(--parallax_Height) * 1%);
  will-change: transform;
  transform: translateY( calc(((100 - (10000 / var(--parallax_Height))) * var(--parallax)) * -1%) );
}


/*
 * –––––––––––––––––––– Image Sequence (Descriptive Picture 2.0) –––––––––––––––––––––––––
 */
:root
{
 --ism_HeightMax: 475px;
 --ism_WidthMax: 1200px;
 --ism_Height: min(calc(((var(--ClientWidth) - (var(--margin_MediumLarge) * 2)) / 1200) * 475), var(--ism_HeightMax)); /* 1200 and 450 has to be set manually (might be due to the large amount of diferent values???) */
 --ism_Width_9-16:  calc(var(--ism_Height) * (9 / 16));
 --ism_Width_16-10: calc(var(--ism_Height) * (16 / 10));
 --ism_Width_4-3:   calc(var(--ism_Height) * (4 / 3));
 --ism_Width_1-1:   calc(var(--ism_Height) * (1 / 1));
}

.imageSequence
{
  display: grid;
  width: var(--ClientWidth);
  overflow-x: scroll;
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  height: -webkit-fit-content;
}

.imageSequence .arrow
{
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
  height: 100%;
  width: 6em;
  position: sticky;
  z-index: 8;
  display: flex;
  left: 0;
  user-select: none;
  -webkit-user-select: none;
}

.imageSequence .arrow.l
{
  transform-origin: left;
}

.imageSequence .arrow.r
{
  left: calc(var(--ClientWidth) - 6em);
  transform-origin: right;
}

.imageSequence .arrow > rect
{
  margin: auto;
  height: 3em;
  width: 4em;
  display: block;
  content: url(../BasicLayout/Resources/Arrow.svg);
  background: var(--light);
  border-radius: var(--radius) 0px 0px var(--radius);
  box-shadow: var(--shadow);
  transition: width var(--animationFast) ease-in-out, transform var(--animationFast) ease-in-out;
}

.imageSequence.overflowL .arrow.l > rect
{
  transform: scaleX(-1) translateX(0%);
}

.imageSequence.overflowR .arrow.r > rect
{
  transform: translateX(0%);
}

.imageSequence .arrow.l > rect
{
  margin-left: 0;
  transform: scaleX(-1) translateX(100%);
}

.imageSequence .arrow.r > rect
{
  margin-right: 0;
  transform: translateX(100%);
}

.imageSequence .arrow > rect:hover
{
  width: 5em;
}

.imageSequence::-webkit-scrollbar {
   display: none;
}

.imageSequence ul
{
  max-width: calc(var(--ClientWidth) - (var(--margin_MediumLarge)*2));
  width: var(--ism_WidthMax);
}

.imageSequence ul
{
  height: -webkit-fit-content;
 display: grid;
 gap: var(--margin_Medium);
 grid-auto-columns: auto;
 grid-auto-columns: -webkit-max-content;
 grid-column: 1;
 grid-row: 1;
}

.imageSequence .Media,
.imageSequence .Text
{
 grid-row: 1;
}

.imageSequence li
{
  grid-row: 1;
  display: grid;
  height: 100%;
  gap: 1em;
  grid-row-gap: 2em;
  overflow-y: hidden;
  width: max-content;
  max-width: min(var(--ism_WidthMax), calc(var(--ClientWidth) - (var(--margin_MediumLarge)*2)));

}
.imageSequence li[data-aspect~="Stretch"]
{
  width: var(--ism_WidthMax);
}

.imageSequence li:not(:only-child):last-child
{
  padding-right: var(--margin_MediumLarge);
}

.imageSequence .Media
{
  height: var(--ism_Height);
  max-height: var(--ism_HeightMax);
  min-height: 100%; /*-webkit-fill-available*/
  align-self: center;
  overflow: hidden;
  border-radius: var(--radius);
  position: -webkit-sticky; /*ensures that safari keeps the border-radius*/
}

.imageSequence .Media[data-aspect~="9:16"]
{
 width: var(--ism_Width_9-16);
}

.imageSequence .Media[data-aspect~="16:10"]
{
 width: var(--ism_Width_16-10);
}

.imageSequence .Media[data-aspect~="4:3"]
{
 width: var(--ism_Width_4-3);
}

.imageSequence .Media[data-aspect~="1:1"]
{
 width: var(--ism_Width_1-1);
}

.imageSequence [data-aspect~="Stretch"]
{
  grid-template-columns: 1fr 1fr;
}

.imageSequence [data-aspect~="Stretch"] .Media
{
  grid-column: 1 / span 2;
  width: 100%;
}
.imageSequence [data-aspect~="Stretch"] .Text
{
  width: auto !important;
  padding: 2em;
  border-radius: var(--radius);
  grid-column: 2;
  z-index: 1;
}

.imageSequence .Text
{
  width: 66%;
  margin: auto;
}

.imageSequence .Text h2
{
  margin: auto;
}

@media (max-width: 1100px)
{
  .imageSequence .Text
  {
    width: 100%;
  }
}

@media (max-width: 800px)
{
  :root
  {
    --ism_HeightMax: unset;
    --ism_WidthMax: unset;
    --ism_Height: 80vh;
    --ism_Width_9-16:  100%;
    --ism_Width_16-10: 100%;
    --ism_Width_4-3:   100%;
    --ism_Width_1-1:   100%;
  }

  .imageSequence ul,
  .imageSequence li
  {
   max-width: unset;
   width: calc(var(--ClientWidth) - 2em);
   height: calc((100vh - 3em) - var(--headerHeight));
  }

  .imageSequence.overflowL ul,
  .imageSequence.overflowL li,
  .imageSequence.overflowR ul,
  .imageSequence.overflowR li
  {
   max-width: unset;
   width: calc(var(--ClientWidth) - 3em);
   height: calc((100vh - 3em) - var(--headerHeight));
  }

  .imageSequence ul
  {
    gap: 1em;
    margin-left: 1em;
  }

  .imageSequence li
  {
    scroll-snap-align: center;
    grid-template-rows: auto max-content;
  }

  .imageSequence li[data-aspect~="Stretch"]
  {
    width: calc(100vw - 2em);
  }

  .imageSequence li > *
  {
    grid-column: 1 !important;
  }

  .imageSequence li:not(:only-child):last-child
  {
    padding-right: 1em;
    grid-auto-rows:
  }

  .imageSequence [data-aspect~="Stretch"]
  {
    grid-template-columns: unset;
    grid-template-rows: 1fr 1fr;
  }
  .imageSequence [data-aspect~="Stretch"] .Media
  {
    grid-row: 1 / span 2;
  }
  .imageSequence [data-aspect~="Stretch"] .Text
  {
    margin-bottom: 1em;
  }

  .imageSequence .Media,
  .imageSequence .Text
  {
    display: block;
    grid-column: 1;
  }

  .imageSequence .Media
  {
    grid-row: 1;
    height: 100%;
    width: unset;
    align-self: start;
    min-height: 0;  /* NEW */
    min-width: 0;   /* NEW; needed for Firefox */
  }

  .imageSequence .Text
  {
   grid-row: 2;
   width: auto;
   margin: auto 1em;
  }

  .imageSequence li > .Media:only-child
  {
    grid-row: 1 / span 2;
  }

  .imageSequence .arrow
  {
    height: 66.666%;
  }

  .compact .imageSequence .arrow
  {
    transform: scale(0.9);
  }
}








/*
 * –––––––––––––––––––– DESCRIPTIVE PICTURES –––––––––––––––––––––––––
 */

.dpSection:not(.L) #dpButtonL
{
   transform: translateX(-4em);
   width: 4em;
}

.dpSection:not(.R) #dpButtonR
{
   transform: translateX(4em);
   width: 4em;
}

.DescriptivePictures .dpButtons
{
   position: sticky;
   left: 0px;
   display: flex;
   width: 0%;
   height: calc(var(--ClientWidth) - 2em);
   flex-direction: row;
   margin-left: 0 !important;
}

.DescriptivePictures .dpButtons > div
{
   flex: none;
   display: flex;
   width: var(--ClientWidth);
   position: relative;
   left: -1em;
}

.DescriptivePictures .dpButtons > div div:hover
{
   width: 5em;
}

.DescriptivePictures .dpButtons > div div
{
   display: flex;
   width: 4em;
   height: 3em;
   background-color: white;
   margin: auto;
   transition: all var(--animationFast) ease-in-out;
   -webkit-transition: all var(--animationFast) ease-in-out;
   -moz-transition: all var(--animationFast) ease-in-out;
   -o-transition: all var(--animationFast) ease-in-out;
   -ms-transition: all var(--animationFast) ease-in-out;
   box-shadow: var(--shadow);
}

.DescriptivePictures .dpButtons div svg
{
   height: 12px;
   width: 24px;
   margin: auto;
   fill: none;
   stroke-width: 3px;
   stroke: var(--dark);
   stroke-linecap: round;
   stroke-linejoin: round;
   overflow: visible;
   padding: 2px;
}

#dpButtonL
{
   margin-left: 0;
   border-radius: 0px var(--radius) var(--radius) 0px;
   /* pointer-events: all; */
}

#dpButtonL svg
{
   transform: rotate(90deg);
   margin-right: 0.5em;
}

#dpButtonR
{
   margin-right: 0;
   border-radius: var(--radius) 0px 0px var(--radius);
   /* pointer-events: all; */
}

#dpButtonR svg
{
   transform: rotate(-90deg);
   margin-left: 0.5em;
}

.DescriptivePictures
{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dpSection
{
   transform: translateY(50px); /*Transform and th 50px of padding is for allowing for shaddows*/
   padding-top: 50px;
   padding-bottom: 50px;
   padding-left: 1em;
   padding-right: 1em;
   margin-top: calc(var(--margin_MediumLarge) - 100px);
   width: -webkit-fill-available;
   display: flex;
   overflow-x: scroll;
   overflow-y: hidden;
   -ms-overflow-style: none;  /* IE and Edge */
   scrollbar-width: none;  /* Firefox */
   scroll-behavior: smooth;
   scroll-snap-type: x mandatory;
   /*Specific for smaller screens (Compact view)*/
   /* pointer-events: none; */
}

.dpSection > :only-child
{
   width: 100%;
}


.dpSection > div
{
   width: calc(100% - 1em);
   display: grid;
   border-radius: var(--radius);
   flex: none;
   scroll-snap-align: center;
   /* box-shadow: var(--shadow); */
}

.dpSection > :not(div:first-of-type)
{
   margin-left: 1em;
}

.dpSection::-webkit-scrollbar {
   display: none;
}

.dpSection:first-of-type
{
   margin-top: calc(var(--margin_Medium) - 100px);
}

.DescriptivePictures .Media
{
   display: grid;
}

.DescriptivePictures .Media div
{
   grid-column: 1;
   grid-row: 1;
}

.DescriptivePictures .Media div:first-of-type
{
   overflow: hidden;
}

.Media img,
.Media video,
.Media Picture
{
   width: 100%;
   height: 100%;
   border-radius: var(--radius);
}
/*
width: 100%;
height: calc(var(--ClientWidth) - 2em); */

.DescriptivePictures .Media .playPause
{
   width: 1.5em;
   height: 1.5em;
   margin: auto;
   margin-bottom: 2em;
}

.dpSection .Media
{
   width: 100%;
   /* height: calc(var(--ClientWidth) - 2em); ---- Maybe reenable and disable max-height  */
   max-height: calc(var(--ClientWidth) - 2em);
}

/* .dpSection > :not(div:first-of-type) .Media
{
   height: 100%; ---- Maybe reenable
} */

@media (max-width: 799px)
{
   .DescriptivePictures .Text
   {
      margin: 1em;
   }

   .DescriptivePictures .Text H2
   {
      margin-top: 1em;
   }

   .dpSection > div[data-text~="9:16"][data-behavior~="notSquishable"] .Media
   {
      height: calc((var(--ClientWidth) - 2em) / (9 / 16));
   }

   .dpSection > div[data-text~="16:10"][data-behavior~="notSquishable"] .Media
   {
      height: calc((var(--ClientWidth) - 2em) / (16 / 10));
   }

   .dpSection > div[data-text~="4:3"][data-behavior~="notSquishable"] .Media
   {
      height: calc((var(--ClientWidth) - 2em) / (4 / 3));
   }

   .dpSection > div[data-text~="1:1"][data-behavior~="notSquishable"] .Media
   {
      height: calc((var(--ClientWidth) - 2em));
   }

   .dpSection > div[data-text~="Stretch"]
   {
      height: calc(100vh - 2em);
      grid-template-rows: 1fr 1fr;
   }

   .dpSection > div[data-text~="Stretch"] .Media
   {
      grid-row: 1 / span 2;
      grid-column: 1;
      height: unset;
   }

   .dpSection > div[data-text~="Stretch"] .Text
   {
      grid-row: 2;
      grid-column: 1;
      margin: auto;
      width: 55%;
   }

}

@media (min-width: 800px)
{
   .DescriptivePictures .dpButtons
   {
      height: 100%;
   }

   .DescriptivePictures .dpButtons > div
   {
      left: unset;
   }

   .dpSection
   {
      padding-left: unset;
      padding-right: unset;
      height: calc((var(--ClientWidth) - (var(--margin_MediumLarge)*2)) / 2.4);
      max-height: 500px;
      scroll-snap-type: unset;
   }

   .dpSection > div:first-of-type
   {
      margin-left: var(--margin_MediumLarge);
   }

   .dpSection > :not(div:first-of-type)div:last-of-type
   {
      margin-right: var(--margin_MediumLarge);
   }

   .dpSection > :not(div:first-of-type)
   {
      margin-left: unset;
   }

   .dpSection > div
   {
      width: auto;
      display: grid;
      grid-template-rows: 100%;
      border-radius: var(--radius);
      margin-right: var(--margin_Medium);
      grid-template-rows: 100%;
      /* box-shadow: var(--shadow); */
   }

   .DescriptivePictures .Media
   {
      width: 0%;
      grid-template-rows: 100%;
   }

   .dpSection > div div
   {
      grid-row: 1;
   }

   .DescriptivePictures .Media .playPause
   {
      width: 3em;
      height: 3em;
      margin-bottom: auto;
   }

   .dpSection .Media
   {
      width: 100%;
      height: 100%;
   }

   /*

      THANKS:

      https://css-tricks.com/almanac/selectors/a/attribute/

   */

   .dpSection > div[data-text~="Stretch"]
   {
      width: calc(((var(--ClientWidth) - (var(--margin_MediumLarge)*2)) / 2.4) * (16 / 10));
      max-width: calc(500px * (16 / 10));
      height: 100%;
      grid-template-columns: 50% 50% !important;
      overflow: hidden;
   }

   .dpSection > div[data-text~="Stretch"] .Media
   {
      grid-column: 1 / span 2 !important;
      width: 100%;
      height: 100%;
      max-width: unset;
   }

   .dpSection > div[data-text~="9:16"] .Media
   {
      width: calc(((var(--ClientWidth) - (var(--margin_MediumLarge)*2)) / 2.4) * (16 / 10));
      max-width: calc(500px * (9 / 16));
   }

   .dpSection > div[data-text~="16:10"] .Media
   {
      width: calc(((var(--ClientWidth) - (var(--margin_MediumLarge)*2)) / 2.4) * (16 / 10));
      max-width: calc(500px * (16 / 10));
   }

   .dpSection > div[data-text~="4:3"] .Media
   {
      width: calc(((var(--ClientWidth) - (var(--margin_MediumLarge)*2)) / 2.4) * (4 / 3));
      max-width: calc(500px * (4 / 3));
   }

   .dpSection > div[data-text~="1:1"] .Media
   {
      width: calc((var(--ClientWidth) - (var(--margin_MediumLarge)*2)) / 2.4);
      max-width: 500px;
   }

   .dpSection > div[data-text~="withText"]
   {
      flex: none;
      width: calc(var(--ClientWidth) - (var(--margin_MediumLarge)*2));
      max-width: 1200px;
      grid-template-rows: 100%;
   }

   /*Text_alt_lr = text should change from each side from; Left to right to left to right...*/
   /*Text_alt_rl = text should change from each slde from; Right to left to right to left...*/
   /*Text_l = Forces text to stay on the left side*/
   /*Text_r = Forces text to stay on the right side*/

   .DescriptivePictures[data-text~="Text_alt_lr"] > .dpSection:nth-child(odd) > div[data-text~="withText"],
   .DescriptivePictures[data-text~="Text_alt_rl"] > .dpSection:nth-child(even) > div[data-text~="withText"],
   .DescriptivePictures[data-text~="Text_r"] > .dpSection > div[data-text~="withText"]
   {
      grid-template-columns: max-content auto;
   }

   .DescriptivePictures[data-text~="Text_alt_rl"] > .dpSection:nth-child(odd) > div[data-text~="withText"],
   .DescriptivePictures[data-text~="Text_alt_lr"] > .dpSection:nth-child(even) > div[data-text~="withText"],
   .DescriptivePictures[data-text~="Text_l"] > .dpSection > div[data-text~="withText"]
   {
      grid-template-columns: auto max-content;
   }


   .DescriptivePictures[data-text~="Text_alt_lr"] > .dpSection:nth-child(even) > div .Media,
   .DescriptivePictures[data-text~="Text_alt_rl"] > .dpSection:nth-child(odd) > div .Media,
   .DescriptivePictures[data-text~="Text_l"] > .dpSection > div .Media,
   .DescriptivePictures[data-text~="Text_alt_lr"] > .dpSection:nth-child(odd) > div .Text,
   .DescriptivePictures[data-text~="Text_alt_rl"] > .dpSection:nth-child(even) > div .Text,
   .DescriptivePictures[data-text~="Text_r"] > .dpSection > div .Text
   {
      grid-column: 2;
   }

   .DescriptivePictures[data-text~="Text_alt_lr"] > .dpSection:nth-child(even) > div .Text,
   .DescriptivePictures[data-text~="Text_alt_rl"] > .dpSection:nth-child(odd) > div .Text,
   .DescriptivePictures[data-text~="Text_l"] > .dpSection > div .Text,
   .DescriptivePictures[data-text~="Text_alt_lr"] > .dpSection:nth-child(odd) > div .Media,
   .DescriptivePictures[data-text~="Text_alt_rl"] > .dpSection:nth-child(even) > div .Media,
   .DescriptivePictures[data-text~="Text_r"] > .dpSection > div .Media
   {
      grid-column: 1;
   }

   .DescriptivePictures > .dpSection[data-text~="Text_l"] > :not(div[data-text~="Stretch"]) .Media, /* Allows the individual .dpSections to decide on a specific text location (Independent from whether the text is altering */
   .DescriptivePictures > .dpSection[data-text~="Text_r"] > div .Text
   {
      grid-column: 2 !important;
   }

   .DescriptivePictures > .dpSection[data-text~="Text_r"] > :not(div[data-text~="Stretch"]) .Media,
   .DescriptivePictures > .dpSection[data-text~="Text_l"] > div .Text
   {
      grid-column: 1 !important;
   }

   .DescriptivePictures .Text
   {
      align-self: center;
   }

   .DescriptivePictures .Text > span
   {
      margin: auto;
      width: 55%;
      display: block;
   }

   .DescriptivePictures .Text H2
   {
      margin: unset;
   }
}


@media (max-width: 1100px)
{
   .DescriptivePictures .Text > span
   {
      width: 85%;
   }
}


@media (min-width: 1520px /*1200px (which is the max widht) + 320px (2x value of margin_MediumLarge) */)
{
   .dpSection > div:first-of-type
   {
      padding-left: calc(((var(--ClientWidth) - 1200px) / 2) - var(--margin_MediumLarge));
   }

  /*  .dpButtons > div
   {
      transform: translateX(calc( ((var(--ClientWidth) - 1200px) / 2) - var(--margin_MediumLarge)));
   } */
}
