:root {
  --retina-src: '';
}

html {
  box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
html {
  background: transparent;
  line-height: 1.4;
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

#bs {
  overflow: hidden;
}
#bs .bs-helper {
  height: 100%;
  left: 0;
  /*position: relative;*/
  top: 0;
  width: 100%;
  z-index: -1;
}

.background {
    background: 50% 50% no-repeat;
    background-size: cover;
}

.background-stretch {
    background-size: 100% 100%;
}

.background-crop {
    background: no-repeat 50% 50%;
    background-size: cover;
}

.background-mask {
    background-repeat: no-repeat;
    background-size: auto auto;
}

.background-aspect {
    background: no-repeat 50% 50%;
    background-size: contain;
}

.background-tile {
    background-repeat: repeat;
}

.slide {
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: none;
    width: 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-perspective-origin: center;
    perspective-origin: center;
}

.slide > .slide-hover {
    display: none;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.slide > .eff-helper {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.slide.buildin > .slide-hover,
.slide.buildout > .slide-hover {
    display: block;
}

.element {
  position: absolute;
  perspective-origin: center;
  -webkit-perspective-origin: center;
}

.element > .eff-helper {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}

@media all and (-ms-high-contrast: none) {
  .element {
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
  }

  .element > .eff-helper {
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
    transform: none;
    -webkit-transform: none;
  }
}

@supports (-ms-ime-align: auto) {
  .element {
    -webkit-transform-style: flat;
      transform-style: flat;
  }
}

.element .text {
  line-height: 1.4;
  margin: 0;
  white-space: pre-line;
  word-break: normal;
  word-wrap: break-word;
}

.element .shape {
  height: 100%;
  width: 100%;
}

.element .shape.circle {
    border-radius: 50%;
}

.element .embed {
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.element .svg,
.element .svg img {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.element .menu {
  -webkit-align-content: center;
  align-content: center;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  overflow: hidden;
  white-space: nowrap;
  display: flex;
}

.element .menu label {
    cursor: pointer;
    display: inline-block;
    flex: 1 1 auto;
    text-align: center;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.element .menu label span {
    display: inline-block;
    position: relative;
    white-space: nowrap;
}

.element .menu.ie9 {
    display: table;
    table-layout: auto;
}

.element .menu.ie9 label {
  display: table-cell;
  padding: 0 5px;
}

.bs-btn {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: hidden;
    /* this is a hack for BS-10148 - remove if not necessary */
    border-radius: 0.01px;
}

.bs-btn label {
  cursor: pointer;
  float: left;
  margin: 0;
  position: relative;
  text-align: center;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
}

.bs-btn.no-hand-cursor label, .bs-btn.no-hand-cursor div {
  cursor: default;
}

.bs-image {
  height: 100%;
  width: 100%;
}

.bs-clipart,
.bs-clipart-blur {
  height: 100%;
  position: relative;
  width: 100%;
}

.bs-clipart svg {
  position: absolute;
}

.image-stretch {
    background-size: 100% 100%;
}

.image-crop {
    background: no-repeat 50% 50%;
    background-size: cover;
}

.image-mask {
    background-repeat: no-repeat;
    background-size: auto auto;
}

.image-aspect {
    background: no-repeat 50% 50%;
    background-size: contain;
}

.image-tile {
    background-repeat: repeat;
}

.eff-helper {
    width: 100%;
    height: 100%;
}

.action-container {
    width: 100%;
    height: 100%;
    display: block;
    text-decoration: none;
}

.bs-video {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    outline: none;
}

.hide-media-controls::-webkit-media-controls {
  display: none;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
    .retina {
        background-image: var(--retina-src) !important;
    }
}
