/*!
 * Flex Styles for Responsiveness
 * PWA_Shell
 */

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
}

.flex-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-end {
  justify-content: flex-end !important;
  -webkit-justify-content: flex-end !important;
}

/* Parent - Horizontal Alignment */
.flex-halign-even
{
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.flex-halign-left {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.flex-halign-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.flex-halign-right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* Parent - Vertical Alignment */
.flex-valign-top
{
  -webkit-box-align: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start; 
}
.flex-valign-bottom
{
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end; 
}
.flex-valign-middle
{
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; 
}
.flex-valign-stretch
{
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.flex.flex-gap-s {
  gap: .5em;
  gap: .5em .5em;
  row-gap: .5em;
  column-gap: .5em;
}
.flex.flex-gap-m {
  gap: 1em;
  gap: 1em 1em;
  row-gap: 1em;
  column-gap: 1em;
}

/* Flex Column Sizes */
.flex20,
.flex25,
.flex30,
.flex33,
.flex40,
.flex50,
.flex60,
.flex75,
.flex80,
.flex100 { 
  width: 100%;
}
@media (min-width: 800px) {
  .flex20 { width: 20%; }
  .flex25 { width: 25%; }
  .flex30 { width: 30%; }
  .flex33 { width: 33%; }
  .flex40 { width: 40%; }
  .flex50 { width: 50%; }
  .flex60 { width: 60%; }
  .flex75 { width: 75%; }
  .flex80 { width: 80%; }
  .flex100 { width: 100%; }
}
@media (max-width: 800px) {
  .flex-mobile-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media (max-width: 1000px) {
  .flex-medium-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

/* Child - Properties */
.flex-grow {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
.flex-shrink {
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

/* Ordering */
@media (max-width: 800px)
{
  .flex-mobile-first {
    order: 1;
  }
  .flex-mobile-last {
    order: 9;
  }
}
.flex-first {
  order: 1;
}
.flex-last {
  order: 9;
}