/* -- Copied from Fusion Portal-Framework -- 01/20/2021 -- */

/**
 * iron-flex classes
 */

html .hbox,
html .vbox,
html .layout.horizontal,
html .layout.vertical,
html .layout.horizontal-reverse,
html .layout.vertical-reverse,
.hbox,
.vbox,
.layout.horizontal,
.layout.vertical,
.layout.horizontal-reverse,
.layout.vertical-reverse {
  display: flex;
}

html .layout.inline,
.layout.inline {
  display: inline-flex;
}

html .hbox,
html .layout.horizontal,
.hbox,
.layout.horizontal {
  flex-direction: row;
}

html .vbox,
html .layout.vertical,
.vbox,
.layout.vertical {
  flex-direction: column;
}

html .hbox.wrap,
html .vbox.wrap,
html .layout.wrap,
.hbox.wrap,
.vbox.wrap,
.layout.wrap {
  flex-wrap: wrap;
}

html .hbox.no-wrap,
html .vbox.no-wrap,
html .layout.no-wrap,
.hbox.no-wrap,
.vbox.no-wrap,
.layout.no-wrap {
  flex-wrap: nowrap;
}

html .flex,
html .flex-1,
.flex,
.flex-1 {
  flex: 1;
  /*flex-basis: 0.000000001px;*/
}

html .flex-auto,
.flex-auto {
  flex: 1 1 auto;
}

html .flex-none,
.flex-none {
  flex: none;
}

/**
 * iron-flex-reverse
 */

html .hbox.reverse,
html .layout.horizontal-reverse,
.hbox.reverse,
.layout.horizontal-reverse {
  flex-direction: row-reverse;
}

html .vbox.reverse,
html .layout.vertical-reverse,
.vbox.reverse,
.layout.vertical-reverse {
  flex-direction: column-reverse;
}

html .hbox.wrap-reverse,
html .vbox.wrap-reverse,
html .layout.wrap-reverse,
.hbox.wrap-reverse,
.vbox.wrap-reverse,
.layout.wrap-reverse {
  flex-wrap: wrap-reverse;
}

/**
 * iron-flex-alignment
 */

/**
 * Alignment in cross axis.
 */

html .hbox.start,
html .vbox.start,
html .layout.start,
.hbox.start,
.vbox.start,
.layout.start {
  align-items: flex-start;
}

html .hbox.center,
html .hbox.center-center,
html .vbox.center,
html .vbox.center-center,
html .layout.center,
html .layout.center-center,
.hbox.center,
.hbox.center-center,
.vbox.center,
.vbox.center-center,
.layout.center,
.layout.center-center {
  align-items: center;
}

html .hbox.end,
html .vbox.end,
html .layout.end,
.hbox.end,
.vbox.end,
.layout.end {
  align-items: flex-end;
}

html .hbox.baseline,
html .vbox.baseline,
html .layout.baseline,
.hbox.baseline,
.vbox.baseline,
.layout.baseline {
  align-items: baseline;
}

/**
 * Alignment in main axis.
 */

html .hbox.start-justified,
html .vbox.start-justified,
html .layout.start-justified,
.hbox.start-justified,
.vbox.start-justified,
.layout.start-justified {
  justify-content: flex-start;
}

html .hbox.center-justified,
html .hbox.center-center,
html .vbox.center-justified,
html .vbox.center-center,
html .layout.center-justified,
html .layout.center-center,
.hbox.center-justified,
.hbox.center-center,
.vbox.center-justified,
.vbox.center-center,
.layout.center-justified,
.layout.center-center {
  justify-content: center;
}

html .hbox.end-justified,
html .vbox.end-justified,
html .layout.end-justified,
.hbox.end-justified,
.vbox.end-justified,
.layout.end-justified {
  justify-content: flex-end;
}

html .hbox.around-justified,
html .vbox.around-justified,
html .layout.around-justified,
.hbox.around-justified,
.vbox.around-justified,
.layout.around-justified {
  justify-content: space-around;
}

html .hbox.justified,
html .vbox.justified,
html .layout.justified,
.hbox.justified,
.vbox.justified,
.layout.justified {
  justify-content: space-between;
}

/**
 * Self alignment.
 */

html .self-start,
.self-start {
  align-self: flex-start;
}

html .self-center,
.self-center {
  align-self: center;
}

html .self-end,
.self-end {
  align-self: flex-end;
}

html .self-stretch,
.self-stretch {
  align-self: stretch;
}

html .self-baseline,
.self-baseline {
  align-self: baseline;
}

/**
 * multi-line alignment in main axis.
 */

html .hbox.start-aligned,
html .vbox.start-aligned,
html .layout.start-aligned,
.hbox.start-aligned,
.vbox.start-aligned,
.layout.start-aligned {
  align-content: flex-start;
}

html .hbox.end-aligned,
html .vbox.end-aligned,
html .layout.end-aligned,
.hbox.end-aligned,
.vbox.end-aligned,
.layout.end-aligned {
  align-content: flex-end;
}

html .hbox.center-aligned,
html .vbox.center-aligned,
html .layout.center-aligned,
.hbox.center-aligned,
.vbox.center-aligned,
.layout.center-aligned {
  align-content: center;
}

html .hbox.between-aligned,
html .vbox.between-aligned,
html .layout.between-aligned,
.hbox.between-aligned,
.vbox.between-aligned,
.layout.between-aligned {
  align-content: space-between;
}

html .hbox.around-aligned,
html .vbox.around-aligned,
html .layout.around-aligned,
.hbox.around-aligned,
.vbox.around-aligned,
.layout.around-aligned {
  align-content: space-around;
}

/**
 * iron-flex-factors
 */

html .flex-2,
.flex-2 {
  flex: 2;
}

html .flex-3,
.flex-3 {
  flex: 3;
}

html .flex-4,
.flex-4 {
  flex: 4;
}

html .flex-5,
.flex-5 {
  flex: 5;
}

html .flex-6,
.flex-6 {
  flex: 6;
}

html .flex-7,
.flex-7 {
  flex: 7;
}

html .flex-8,
.flex-8 {
  flex: 8;
}

html .flex-9,
.flex-9 {
  flex: 9;
}

html .flex-10,
.flex-10 {
  flex: 10;
}

html .flex-11,
.flex-11 {
  flex: 11;
}

html .flex-12,
.flex-12 {
  flex: 12;
}

/**
 * iron-positioning
 */

html .block,
.block {
  display: block;
}

/* IE 10 support for HTML5 hidden attr */
html [hidden],
[hidden] {
  display: none !important;
}

html .hide,
.hide {
  display: none !important;
}

html .invisible,
.invisible {
  visibility: hidden !important;
}

html .relative,
.relative {
  position: relative;
}

html .overflow,
.overflow {
  overflow: hidden;
}

html .fit,
.fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

body.fullbleed {
  margin: 0;
  height: 100vh;
}

html  .scroll,
.scroll {
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

/* fixed position */
.fixed-bottom,
.fixed-left,
.fixed-right,
.fixed-top {
  position: fixed;
}

html  .fixed-top,
.fixed-top {
  top: 0;
  left: 0;
  right: 0;
}

html  .fixed-right,
.fixed-right {
  top: 0;
  right: 0;
  bottom: 0;
}

html  .fixed-bottom,
.fixed-bottom {
  right: 0;
  bottom: 0;
  left: 0;
}

html  .fixed-left,
.fixed-left {
  top: 0;
  bottom: 0;
  left: 0;
}
