.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 576px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 992px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%; }

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none; }

.col-1 {
  flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.col-2 {
  flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.col-3 {
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.col-5 {
  flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.col-6 {
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.col-8 {
  flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.col-9 {
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.col-11 {
  flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.col-12 {
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  order: -1; }

.order-last {
  order: 13; }

.order-0 {
  order: 0; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.offset-1 {
  margin-left: 8.33333%; }

.offset-2 {
  margin-left: 16.66667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.33333%; }

.offset-5 {
  margin-left: 41.66667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.33333%; }

.offset-8 {
  margin-left: 66.66667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.33333%; }

.offset-11 {
  margin-left: 91.66667%; }

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    order: -1; }
  .order-sm-last {
    order: 13; }
  .order-sm-0 {
    order: 0; }
  .order-sm-1 {
    order: 1; }
  .order-sm-2 {
    order: 2; }
  .order-sm-3 {
    order: 3; }
  .order-sm-4 {
    order: 4; }
  .order-sm-5 {
    order: 5; }
  .order-sm-6 {
    order: 6; }
  .order-sm-7 {
    order: 7; }
  .order-sm-8 {
    order: 8; }
  .order-sm-9 {
    order: 9; }
  .order-sm-10 {
    order: 10; }
  .order-sm-11 {
    order: 11; }
  .order-sm-12 {
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    order: -1; }
  .order-md-last {
    order: 13; }
  .order-md-0 {
    order: 0; }
  .order-md-1 {
    order: 1; }
  .order-md-2 {
    order: 2; }
  .order-md-3 {
    order: 3; }
  .order-md-4 {
    order: 4; }
  .order-md-5 {
    order: 5; }
  .order-md-6 {
    order: 6; }
  .order-md-7 {
    order: 7; }
  .order-md-8 {
    order: 8; }
  .order-md-9 {
    order: 9; }
  .order-md-10 {
    order: 10; }
  .order-md-11 {
    order: 11; }
  .order-md-12 {
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    order: -1; }
  .order-lg-last {
    order: 13; }
  .order-lg-0 {
    order: 0; }
  .order-lg-1 {
    order: 1; }
  .order-lg-2 {
    order: 2; }
  .order-lg-3 {
    order: 3; }
  .order-lg-4 {
    order: 4; }
  .order-lg-5 {
    order: 5; }
  .order-lg-6 {
    order: 6; }
  .order-lg-7 {
    order: 7; }
  .order-lg-8 {
    order: 8; }
  .order-lg-9 {
    order: 9; }
  .order-lg-10 {
    order: 10; }
  .order-lg-11 {
    order: 11; }
  .order-lg-12 {
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    order: -1; }
  .order-xl-last {
    order: 13; }
  .order-xl-0 {
    order: 0; }
  .order-xl-1 {
    order: 1; }
  .order-xl-2 {
    order: 2; }
  .order-xl-3 {
    order: 3; }
  .order-xl-4 {
    order: 4; }
  .order-xl-5 {
    order: 5; }
  .order-xl-6 {
    order: 6; }
  .order-xl-7 {
    order: 7; }
  .order-xl-8 {
    order: 8; }
  .order-xl-9 {
    order: 9; }
  .order-xl-10 {
    order: 10; }
  .order-xl-11 {
    order: 11; }
  .order-xl-12 {
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-sticky {
  position: sticky !important; }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020; } }

.flex-row {
  flex-direction: row !important; }

.flex-column {
  flex-direction: column !important; }

.flex-row-reverse {
  flex-direction: row-reverse !important; }

.flex-column-reverse {
  flex-direction: column-reverse !important; }

.flex-wrap {
  flex-wrap: wrap !important; }

.flex-nowrap {
  flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important; }

.justify-content-start {
  justify-content: flex-start !important; }

.justify-content-end {
  justify-content: flex-end !important; }

.justify-content-center {
  justify-content: center !important; }

.justify-content-between {
  justify-content: space-between !important; }

.justify-content-around {
  justify-content: space-around !important; }

.align-items-start {
  align-items: flex-start !important; }

.align-items-end {
  align-items: flex-end !important; }

.align-items-center {
  align-items: center !important; }

.align-items-baseline {
  align-items: baseline !important; }

.align-items-stretch {
  align-items: stretch !important; }

.align-content-start {
  align-content: flex-start !important; }

.align-content-end {
  align-content: flex-end !important; }

.align-content-center {
  align-content: center !important; }

.align-content-between {
  align-content: space-between !important; }

.align-content-around {
  align-content: space-around !important; }

.align-content-stretch {
  align-content: stretch !important; }

.align-self-auto {
  align-self: auto !important; }

.align-self-start {
  align-self: flex-start !important; }

.align-self-end {
  align-self: flex-end !important; }

.align-self-center {
  align-self: center !important; }

.align-self-baseline {
  align-self: baseline !important; }

.align-self-stretch {
  align-self: stretch !important; }

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important; }
  .flex-sm-column {
    flex-direction: column !important; }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-sm-start {
    justify-content: flex-start !important; }
  .justify-content-sm-end {
    justify-content: flex-end !important; }
  .justify-content-sm-center {
    justify-content: center !important; }
  .justify-content-sm-between {
    justify-content: space-between !important; }
  .justify-content-sm-around {
    justify-content: space-around !important; }
  .align-items-sm-start {
    align-items: flex-start !important; }
  .align-items-sm-end {
    align-items: flex-end !important; }
  .align-items-sm-center {
    align-items: center !important; }
  .align-items-sm-baseline {
    align-items: baseline !important; }
  .align-items-sm-stretch {
    align-items: stretch !important; }
  .align-content-sm-start {
    align-content: flex-start !important; }
  .align-content-sm-end {
    align-content: flex-end !important; }
  .align-content-sm-center {
    align-content: center !important; }
  .align-content-sm-between {
    align-content: space-between !important; }
  .align-content-sm-around {
    align-content: space-around !important; }
  .align-content-sm-stretch {
    align-content: stretch !important; }
  .align-self-sm-auto {
    align-self: auto !important; }
  .align-self-sm-start {
    align-self: flex-start !important; }
  .align-self-sm-end {
    align-self: flex-end !important; }
  .align-self-sm-center {
    align-self: center !important; }
  .align-self-sm-baseline {
    align-self: baseline !important; }
  .align-self-sm-stretch {
    align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important; }
  .flex-md-column {
    flex-direction: column !important; }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-md-wrap {
    flex-wrap: wrap !important; }
  .flex-md-nowrap {
    flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-md-start {
    justify-content: flex-start !important; }
  .justify-content-md-end {
    justify-content: flex-end !important; }
  .justify-content-md-center {
    justify-content: center !important; }
  .justify-content-md-between {
    justify-content: space-between !important; }
  .justify-content-md-around {
    justify-content: space-around !important; }
  .align-items-md-start {
    align-items: flex-start !important; }
  .align-items-md-end {
    align-items: flex-end !important; }
  .align-items-md-center {
    align-items: center !important; }
  .align-items-md-baseline {
    align-items: baseline !important; }
  .align-items-md-stretch {
    align-items: stretch !important; }
  .align-content-md-start {
    align-content: flex-start !important; }
  .align-content-md-end {
    align-content: flex-end !important; }
  .align-content-md-center {
    align-content: center !important; }
  .align-content-md-between {
    align-content: space-between !important; }
  .align-content-md-around {
    align-content: space-around !important; }
  .align-content-md-stretch {
    align-content: stretch !important; }
  .align-self-md-auto {
    align-self: auto !important; }
  .align-self-md-start {
    align-self: flex-start !important; }
  .align-self-md-end {
    align-self: flex-end !important; }
  .align-self-md-center {
    align-self: center !important; }
  .align-self-md-baseline {
    align-self: baseline !important; }
  .align-self-md-stretch {
    align-self: stretch !important; } }

@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important; }
  .flex-lg-column {
    flex-direction: column !important; }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-lg-start {
    justify-content: flex-start !important; }
  .justify-content-lg-end {
    justify-content: flex-end !important; }
  .justify-content-lg-center {
    justify-content: center !important; }
  .justify-content-lg-between {
    justify-content: space-between !important; }
  .justify-content-lg-around {
    justify-content: space-around !important; }
  .align-items-lg-start {
    align-items: flex-start !important; }
  .align-items-lg-end {
    align-items: flex-end !important; }
  .align-items-lg-center {
    align-items: center !important; }
  .align-items-lg-baseline {
    align-items: baseline !important; }
  .align-items-lg-stretch {
    align-items: stretch !important; }
  .align-content-lg-start {
    align-content: flex-start !important; }
  .align-content-lg-end {
    align-content: flex-end !important; }
  .align-content-lg-center {
    align-content: center !important; }
  .align-content-lg-between {
    align-content: space-between !important; }
  .align-content-lg-around {
    align-content: space-around !important; }
  .align-content-lg-stretch {
    align-content: stretch !important; }
  .align-self-lg-auto {
    align-self: auto !important; }
  .align-self-lg-start {
    align-self: flex-start !important; }
  .align-self-lg-end {
    align-self: flex-end !important; }
  .align-self-lg-center {
    align-self: center !important; }
  .align-self-lg-baseline {
    align-self: baseline !important; }
  .align-self-lg-stretch {
    align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important; }
  .flex-xl-column {
    flex-direction: column !important; }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; }
  .justify-content-xl-start {
    justify-content: flex-start !important; }
  .justify-content-xl-end {
    justify-content: flex-end !important; }
  .justify-content-xl-center {
    justify-content: center !important; }
  .justify-content-xl-between {
    justify-content: space-between !important; }
  .justify-content-xl-around {
    justify-content: space-around !important; }
  .align-items-xl-start {
    align-items: flex-start !important; }
  .align-items-xl-end {
    align-items: flex-end !important; }
  .align-items-xl-center {
    align-items: center !important; }
  .align-items-xl-baseline {
    align-items: baseline !important; }
  .align-items-xl-stretch {
    align-items: stretch !important; }
  .align-content-xl-start {
    align-content: flex-start !important; }
  .align-content-xl-end {
    align-content: flex-end !important; }
  .align-content-xl-center {
    align-content: center !important; }
  .align-content-xl-between {
    align-content: space-between !important; }
  .align-content-xl-around {
    align-content: space-around !important; }
  .align-content-xl-stretch {
    align-content: stretch !important; }
  .align-self-xl-auto {
    align-self: auto !important; }
  .align-self-xl-start {
    align-self: flex-start !important; }
  .align-self-xl-end {
    align-self: flex-end !important; }
  .align-self-xl-center {
    align-self: center !important; }
  .align-self-xl-baseline {
    align-self: baseline !important; }
  .align-self-xl-stretch {
    align-self: stretch !important; } }

body {
  font-family: 'Space Mono', monospace;
  cursor: crosshair;
  padding: 0;
  margin: 0;
  max-width: 100vw; }

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

.align-center {
  text-align: center; }

.align-justify {
  text-align: justify; }

@media (max-width: 991.98px) {
  .mobile-margin {
    margin-left: 15px;
    margin-right: 15px; } }

.animated-title {
  width: 75%;
  text-align: center;
  position: relative;
  margin-left: 12.5%; }
  .animated-title .text-container {
    z-index: 1; }
    .animated-title .text-container h1 {
      color: #ffffff;
      font-weight: bold;
      white-space: pre-line;
      margin: 0;
      line-height: 13vw;
      font-size: 12vw; }
      @media (min-width: 992px) {
        .animated-title .text-container h1 {
          line-height: 8vw;
          font-size: 7vw; } }
  .animated-title .box {
    position: absolute;
    background: #000000;
    width: 100%;
    z-index: -1;
    top: calc(100% - 4vw);
    transition: top 0.6s cubic-bezier(0.1, 1, 0.6, 0.8);
    height: 7vw; }
    @media (min-width: 992px) {
      .animated-title .box {
        height: 4vw; } }
  .animated-title #box-1 {
    left: 20px; }
  .animated-title .box-1-top {
    top: 0;
    transition: top 1s cubic-bezier(0.5, 0, 0.3, 0.9); }
  .animated-title .box-2-top {
    top: 0;
    transition: top 0.7s cubic-bezier(0.3, 0.6, 0.1, 0.4); }

.contact section {
  text-align: center; }

.contact__container {
  display: inline-block;
  text-align: left;
  margin-top: 30%; }
  @media (min-width: 992px) {
    .contact__container {
      margin-top: 20%; } }
  .contact__container h2 {
    font-size: 1.2rem;
    margin-bottom: 5px; }
  .contact__container .info-section {
    margin-bottom: 5px; }
    @media (min-width: 992px) {
      .contact__container .info-section {
        margin-bottom: 5px; } }
    .contact__container .info-section .contact-link {
      text-decoration: none;
      font-weight: bold;
      padding: 5px 10px;
      display: inline-block;
      border: 1px solid #000000;
      font-size: 0.9rem; }
      @media (min-width: 992px) {
        .contact__container .info-section .contact-link {
          font-size: 1rem; } }
      .contact__container .info-section .contact-link.black {
        background-color: #000000;
        color: #ffffff; }
      .contact__container .info-section .contact-link.white {
        background-color: #ffffff;
        color: #000000; }
      .contact__container .info-section .contact-link .insta-icon {
        max-height: 1.2rem;
        margin-bottom: -0.2rem; }

.menu {
  white-space: nowrap; }
  .menu__show-btn {
    cursor: pointer;
    display: inline-block;
    font-size: 2.5rem;
    font-weight: bold; }
    .menu__show-btn span {
      font-size: 1rem; }
    .menu__show-btn__circle {
      border: 5px solid #000000;
      display: inline-block;
      text-align: center;
      line-height: 5rem;
      width: 5rem;
      height: 5rem;
      border-radius: 50%;
      -webkit-transition: border-radius 0.15s;
      /* Safari */
      transition: border-radius 0.15s;
      transition-timing-function: ease-in-out; }
      .menu__show-btn__circle:hover {
        border-radius: 0;
        -webkit-transition: border-radius 0.15s;
        /* Safari */
        transition: border-radius 0.15s;
        transition-timing-function: ease-in-out; }
  .menu__overlay {
    position: fixed;
    background: #ed1c24;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    z-index: 999;
    -webkit-transition: width 0.1s, height 0.1s;
    /* Safari */
    transition: width 0.1s, height 0.1s;
    transition-timing-function: ease-in-out; }
    .menu__overlay.ng-cloak {
      width: 0;
      height: 0; }
    .menu__overlay.ng-hide {
      width: 0;
      height: 0;
      -webkit-transition: width 0.1s, height 0.1s;
      /* Safari */
      transition: width 0.1s, height 0.1s;
      transition-timing-function: ease-in-out; }
  .menu__close {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    cursor: pointer;
    width: 20vw;
    height: 20vw;
    margin-top: 15px;
    margin-bottom: 60px;
    margin-right: 80px;
    z-index: 10;
    top: auto;
    bottom: 0; }
    @media (min-width: 576px) {
      .menu__close {
        top: 0;
        width: 6vw;
        height: 6vw;
        margin-top: 20px;
        margin-right: 40px; } }
    @media (min-width: 768px) {
      .menu__close {
        width: 8vw;
        height: 8vw;
        margin-top: 40px;
        margin-right: 60px; } }
    @media (min-width: 992px) {
      .menu__close {
        width: 8vw;
        height: 8vw;
        margin-right: 100px; } }
    .menu__close__line {
      position: absolute;
      background-color: #000000;
      width: 8px;
      height: 20vw;
      left: 10vw; }
      .menu__close__line:hover {
        height: 20vw; }
      @media (min-width: 576px) {
        .menu__close__line {
          width: 8px;
          height: 6vw;
          left: 3vw; }
          .menu__close__line:hover {
            height: 6.5vw; } }
      @media (min-width: 768px) {
        .menu__close__line {
          width: 10px;
          height: 8vw;
          left: 4vw; }
          .menu__close__line:hover {
            height: 9vw; } }
      @media (min-width: 992px) {
        .menu__close__line {
          width: 15px;
          height: 8.5vw;
          left: 4vw; }
          .menu__close__line:hover {
            height: 9vw; } }
      .menu__close__line__1 {
        -webkit-transform: rotate(60deg);
        -moz-transform: rotate(60deg);
        -o-transform: rotate(60deg);
        -ms-transform: rotate(60deg);
        transform: rotate(60deg); }
        .menu__close__line__1:hover {
          -webkit-transform: rotate(50deg);
          -moz-transform: rotate(50deg);
          -o-transform: rotate(50deg);
          -ms-transform: rotate(50deg);
          transform: rotate(50deg); }
      .menu__close__line__2 {
        -webkit-transform: rotate(-28deg);
        -moz-transform: rotate(-28deg);
        -o-transform: rotate(-28deg);
        -ms-transform: rotate(-28deg);
        transform: rotate(-28deg); }
  .menu__lang-select {
    margin-top: 10vh; }
    @media (min-width: 768px) {
      .menu__lang-select {
        margin-top: 50px;
        margin-left: 70px;
        font-size: 5rem; } }
    .menu__lang-select span {
      cursor: pointer; }
    .menu__lang-select span.selected {
      font-weight: bold; }
  .menu__links {
    text-align: center;
    margin-top: 10vh; }
    @media (min-width: 768px) {
      .menu__links {
        margin-top: 3vh; } }
    .menu__links ul {
      padding: 0;
      display: inline-block;
      text-align: justify; }
    .menu__links li {
      list-style-type: none; }
      .menu__links li:hover {
        list-style-type: georgian; }
    .menu__links a {
      font-weight: bold;
      text-decoration: none;
      color: #17e18e;
      font-size: 2.5rem; }
      @media (min-width: 576px) {
        .menu__links a {
          font-size: 6rem; } }
      @media (min-width: 992px) {
        .menu__links a {
          font-size: 9rem;
          line-height: 9rem; } }
      @media (min-width: 1200px) {
        .menu__links a {
          font-size: 10rem;
          line-height: 12rem; } }

.projects {
  word-wrap: break-word;
  width: 100%;
  -webkit-transform: rotateY(0deg) rotateZ(0deg);
  transform: rotateY(0deg) rotateZ(0deg);
  -webkit-transition: transform 0.2s, width 0.2s;
  transition: transform 0.2s, width 0.2s; }
  .projects.rotate-next {
    width: 80%;
    -webkit-transform: rotateY(30deg) rotateZ(10deg);
    transform: rotateY(30deg) rotateZ(10deg);
    -webkit-transition: transform 0.2s, width 0.2s;
    transition: transform 0.2s, width 0.2s; }
  .projects.rotate-prev {
    -webkit-transform: rotateX(30deg) rotateZ(-10deg);
    transform: rotateX(30deg) rotateZ(-10deg);
    -webkit-transition: transform 0.2s;
    transition: transform 0.2s; }
  .projects__video {
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 */
    position: relative; }
    .projects__video iframe {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      height: 100%; }
  .projects header {
    margin-top: 15px;
    text-align: center; }
  .projects__nav-icon {
    width: 80%;
    min-width: 80px;
    max-width: 130px;
    cursor: pointer; }
  .projects__title {
    padding-left: 15px;
    padding-right: 15px;
    margin: 0;
    line-height: 2rem;
    font-size: 2rem; }
    @media (min-width: 768px) {
      .projects__title {
        line-height: 2.5rem;
        font-size: 2.5rem; } }
    @media (min-width: 1200px) {
      .projects__title {
        line-height: 3rem;
        font-size: 3rem; } }
    .projects__title__row {
      min-height: 6rem; }
      @media (min-width: 768px) {
        .projects__title__row {
          min-height: 7.5rem; } }
      @media (min-width: 1200px) {
        .projects__title__row {
          min-height: 9rem; } }
    .projects__title__wrapper {
      max-width: 100%;
      display: inline-block;
      text-align: left; }
  .projects__short-description {
    margin-top: 20px;
    font-style: italic; }
  .projects__read-more__btn {
    display: inline-block;
    font-weight: bold;
    color: #ffffff;
    background-color: #000000;
    border: none;
    padding: 5px 10px;
    text-decoration: none;
    cursor: pointer;
    margin-bottom: 50px; }
  @media (min-width: 768px) {
    .projects header, .projects__description, .projects__short-description, .projects__read-more__description {
      margin-right: 30px; } }

.main-view {
  height: 100vh; }
  .main-view__info {
    height: 100vh; }
    .main-view__info menu {
      text-align: center;
      margin-top: 15%; }
      @media (min-width: 992px) {
        .main-view__info menu {
          text-align: left;
          margin-top: 10%;
          margin-left: 12.5%; } }
  .main-view__projects {
    min-height: 100vh;
    overflow-y: auto; }
    @media (min-width: 768px) {
      .main-view__projects {
        height: 100vh;
        overflow-y: scroll; } }

.portfolio {
  height: 100vh; }
  .portfolio__select {
    min-height: 100vh; }
  .portfolio menu {
    text-align: center; }
    @media (min-width: 768px) {
      .portfolio menu {
        text-align: left;
        margin-top: 10%; } }
  .portfolio__categories__label {
    font-size: 1.2rem; }
  .portfolio__categories__list {
    text-align: center; }
    @media (min-width: 768px) {
      .portfolio__categories__list {
        text-align: right; } }
    @media (min-width: 1200px) {
      .portfolio__categories__list {
        margin-right: 40px; } }
    .portfolio__categories__list ul {
      list-style-type: none;
      padding: 0; }
      .portfolio__categories__list ul li {
        display: inline-block;
        cursor: pointer;
        margin-right: 10px;
        font-weight: bold;
        font-size: 1.2rem;
        padding: 5px; }
        .portfolio__categories__list ul li.selected {
          background-color: #000000;
          color: #ffffff; }
  .portfolio__projects-list {
    text-align: center;
    margin-top: 50px; }
    @media (min-width: 1200px) {
      .portfolio__projects-list {
        padding-left: 10%;
        padding-right: 10%; } }
    .portfolio__projects-list__project {
      cursor: pointer; }
      .portfolio__projects-list__project p {
        width: 80%;
        margin-left: 10%;
        word-wrap: break-word; }
    .portfolio__projects-list__img {
      object-fit: cover;
      position: absolute;
      top: 9%;
      bottom: 10%;
      left: 8%;
      right: 10%;
      height: 80%;
      width: 80%;
      border-radius: 50%; }
      .portfolio__projects-list__img__wrapper {
        margin-left: 10%;
        width: 80%;
        padding-bottom: 80%;
        position: relative; }
    .portfolio__projects-list__circle-text {
      color: #ffffff;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      height: 100%;
      width: 100%; }
  .portfolio__projects {
    min-height: 100vh;
    overflow-y: auto; }
    @media (min-width: 992px) {
      .portfolio__projects {
        height: 100vh;
        overflow-y: scroll; } }

.about-view__about, .about-view__info {
  min-height: 100vh; }
  @media (min-width: 992px) {
    .about-view__about, .about-view__info {
      height: 100vh; } }

.about-view__about {
  overflow-y: visible; }
  @media (min-width: 768px) {
    .about-view__about {
      overflow-y: auto; } }
  .about-view__about__content {
    text-align: left;
    width: 90%;
    padding-left: 5%;
    padding-right: 5%; }
    @media (min-width: 768px) {
      .about-view__about__content {
        text-align: justify;
        width: 80%;
        padding-left: 10%;
        padding-right: 10%; } }
    @media (min-width: 992px) {
      .about-view__about__content {
        font-size: 1.1rem;
        text-align: left;
        width: 80%;
        padding-left: 0;
        padding-right: 10%; } }
  .about-view__about h1, .about-view__about h2 {
    font-weight: normal; }
  .about-view__about article p {
    font-size: 1rem; }
    @media (min-width: 768px) {
      .about-view__about article p {
        font-size: 1.1rem; } }
  .about-view__about__trusted {
    margin: 100px 30px 30px;
    text-align: left; }
    .about-view__about__trusted a {
      width: 40%;
      display: inline-block;
      margin-right: 5%; }
      @media (min-width: 768px) {
        .about-view__about__trusted a {
          width: 10%; } }
    .about-view__about__trusted img {
      vertical-align: middle;
      width: 100%;
      display: inline-block; }
    .about-view__about__trusted__link {
      margin-top: 20px;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      transform: rotate(0deg);
      -webkit-transition: transform 0.2s;
      transition: transform 0.2s; }
      .about-view__about__trusted__link__1:hover {
        -webkit-transform: rotate(30deg) scale(1.2);
        -moz-transform: rotate(30deg) scale(1.2);
        transform: rotate(30deg) scale(1.2);
        -webkit-transition: transform 0.2s;
        transition: transform 0.2s; }
      .about-view__about__trusted__link__2:hover {
        -webkit-transform: rotateY(30deg) rotateZ(30deg) scale(1.2);
        -moz-transform: rotateY(30deg) rotateZ(30deg) scale(1.2);
        transform: rotateY(30deg) rotateZ(30deg) scale(1.2);
        -webkit-transition: transform 0.2s;
        transition: transform 0.2s; }
      .about-view__about__trusted__link__3 {
        width: 40% !important; }
        @media (min-width: 768px) {
          .about-view__about__trusted__link__3 {
            width: 14% !important; } }
        .about-view__about__trusted__link__3:hover {
          -webkit-transform: rotateX(30deg) scale(1.2);
          -moz-transform: rotateX(30deg) scale(1.2);
          transform: rotateX(30deg) scale(1.2);
          -webkit-transition: transform 0.2s;
          transition: transform 0.2s; }
      .about-view__about__trusted__link__4:hover {
        -webkit-transform: rotateX(-30deg) rotateZ(-30deg) scale(1.2);
        -moz-transform: rotateY(-30deg) rotateZ(-30deg) scale(1.2);
        transform: rotateY(-30deg) rotateZ(-30deg) scale(1.2);
        -webkit-transition: transform 0.2s;
        transition: transform 0.2s; }
      .about-view__about__trusted__link__5:hover {
        -webkit-transform: rotateY(30deg) rotateZ(30deg) translateY(10px) scale(1.2);
        -moz-transform: rotateY(30deg) rotateZ(30deg) translateY(10px) scale(1.2);
        transform: rotateY(30deg) rotateZ(30deg) translateY(10px) scale(1.2);
        -webkit-transition: transform 0.2s;
        transition: transform 0.2s; }
      .about-view__about__trusted__link__6:hover {
        -webkit-transform: rotateY(30deg) translateZ(20px) scale(1.2);
        -moz-transform: rotateY(30deg) translateZ(20px) scale(1.2);
        transform: rotateY(30deg) translateZ(20px) scale(1.2);
        -webkit-transition: transform 0.2s;
        transition: transform 0.2s; }
      .about-view__about__trusted__link__7 {
        width: 25% !important; }
        @media (min-width: 768px) {
          .about-view__about__trusted__link__7 {
            width: 7% !important; } }
        .about-view__about__trusted__link__7:hover {
          -webkit-transform: rotateX(-30deg) translateX(10px) scale(1.2);
          -moz-transform: rotateX(-30deg) translateX(1px) scale(1.2);
          transform: rotateX(-30deg) translateX(10px) scale(1.2);
          -webkit-transition: transform 0.2s;
          transition: transform 0.2s; }
      .about-view__about__trusted__link__8 {
        width: 90% !important; }
        @media (min-width: 768px) {
          .about-view__about__trusted__link__8 {
            width: 20% !important; } }
        .about-view__about__trusted__link__8:hover {
          -webkit-transform: rotateY(30deg) rotateX(-30deg) translateZ(20px) scale(1.2);
          -moz-transform: rotateY(30deg) rotateX(-30deg) translateZ(20px) scale(1.2);
          transform: rotateY(30deg) rotateX(-30deg) translateZ(20px) scale(1.2);
          -webkit-transition: transform 0.2s;
          transition: transform 0.2s; }

.ng-leave {
  z-index: 9999; }

.ng-enter {
  z-index: 8888; }

.ng-leave {
  -webkit-transform-origin: 0% 0%;
  -webkit-animation: rotateFall 0.2s both ease-in;
  -moz-transform-origin: 0% 0%;
  -moz-animation: rotateFall 0.2s both ease-in;
  transform-origin: 0% 0%;
  animation: rotateFall 0.2s both ease-in; }

.ng-enter {
  -webkit-animation: scaleUp 0.4s both ease-in;
  -moz-animation: scaleUp 0.4s both ease-in;
  animation: scaleUp 0.4s both ease-in; }

/* rotate and fall */
@-webkit-keyframes rotateFall {
  0% {
    -webkit-transform: rotateZ(0deg); }
  20% {
    -webkit-transform: rotateZ(10deg);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: rotateZ(17deg); }
  60% {
    -webkit-transform: rotateZ(16deg); }
  100% {
    -webkit-transform: translateY(100%) rotateZ(17deg); } }

@-moz-keyframes rotateFall {
  0% {
    -moz-transform: rotateZ(0deg); }
  20% {
    -moz-transform: rotateZ(10deg);
    -moz-animation-timing-function: ease-out; }
  40% {
    -moz-transform: rotateZ(17deg); }
  60% {
    -moz-transform: rotateZ(16deg); }
  100% {
    -moz-transform: translateY(100%) rotateZ(17deg); } }

@keyframes rotateFall {
  0% {
    transform: rotateZ(0deg); }
  20% {
    transform: rotateZ(10deg);
    animation-timing-function: ease-out; }
  40% {
    transform: rotateZ(17deg); }
  60% {
    transform: rotateZ(16deg); }
  100% {
    transform: translateY(100%) rotateZ(17deg); } }

/* scale up */
@keyframes scaleUp {
  from {
    opacity: 0.3;
    transform: scale(0.8); } }

@-moz-keyframes scaleUp {
  from {
    opacity: 0.3;
    -moz-transform: scale(0.8); } }

@-webkit-keyframes scaleUp {
  from {
    opacity: 0.3;
    -webkit-transform: scale(0.8); } }

/* slide in from the right */
@keyframes slideInRight {
  from {
    transform: translateX(100%); }
  to {
    transform: translateX(0); } }

@-moz-keyframes slideInRight {
  from {
    -moz-transform: translateX(100%); }
  to {
    -moz-transform: translateX(0); } }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translateX(100%); }
  to {
    -webkit-transform: translateX(0); } }

/* slide in from the bottom */
@keyframes slideInUp {
  from {
    transform: translateY(100%); }
  to {
    transform: translateY(0); } }

@-moz-keyframes slideInUp {
  from {
    -moz-transform: translateY(100%); }
  to {
    -moz-transform: translateY(0); } }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translateY(100%); }
  to {
    -webkit-transform: translateY(0); } }

/* slide in from the bottom */
@keyframes slideOutLeft {
  to {
    transform: translateX(-100%); } }

@-moz-keyframes slideOutLeft {
  to {
    -moz-transform: translateX(-100%); } }

@-webkit-keyframes slideOutLeft {
  to {
    -webkit-transform: translateX(-100%); } }

/* rotate out newspaper */
@-webkit-keyframes rotateOutNewspaper {
  to {
    -webkit-transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0; } }

@-moz-keyframes rotateOutNewspaper {
  to {
    -moz-transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0; } }

@keyframes rotateOutNewspaper {
  to {
    transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0; } }
