.d-none {
  display: none;
}

.d-none--important {
  display: none !important;
}

@media (min-width: 0) and (max-width: 767px) {
  .d-none--m {
    display: none;
  }
}

@media (min-width: 768px) {
  .d-none--l {
    display: none;
  }
}

.d-block {
  display: block;
}

.d-flex {
  display: flex;
}

.d-inline {
  display: inline;
}

* {
  box-sizing: border-box;
}

.l-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}

.l-row, .l-row--fluid, .l-row--inner {
  width: 100%;
}

.l-row {
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 767px) {
  .l-row {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.l-row--fluid {
  max-width: 100%;
}

.l-gutter, .l-gutter--line {
  padding-left: 20px;
  margin-left: 20px;
}

.l-gutter--line {
  border-left: 1px solid #d5d5d5;
}

.l-no-padding {
  padding: 0;
}

.l-column {
  flex-grow: 1;
}

.l-width--1-2 {
  width: 50%;
}

@media (min-width: 0) and (max-width: 479px) {
  .l-width-ss-100 {
    width: 100%;
  }
}

/*
clases para control de objetos flex

Elementos:
justifiy content
flex row
flex container
flex grow
flex skrin

*/
.l-flex-start {
  justify-content: flex-start;
}

.l-flex-center {
  justify-content: center;
}

.l-flex-end {
  justify-content: flex-end;
}

.l-flex-space-around {
  justify-content: space-around;
}

.l-flex-space-between {
  justify-content: space-between;
}

.l-flex-space-evenly {
  justify-content: space-evenly;
}

.l-flex-grow-1 {
  flex-grow: 1;
}

.l-flex-grow-2 {
  flex-grow: 2;
}

.l-flex-grow-3 {
  flex-grow: 3;
}

.l-flex-grow-1000 {
  flex-grow: 1000;
}

.l-flex-shrink-1 {
  flex-shrink: 1;
}

.l-flex-shrink-2 {
  flex-shrink: 2;
}

.l-flex-shrink-3 {
  flex-shrink: 3;
}

.l-flex-shrink-1000 {
  flex-shrink: 1000;
}

.l-flex-no-wrap {
  flex-wrap: nowrap;
}

.topbar {
  padding: 8px 16px;
  display: flex;
  align-items: center;
  background-color: white;
  box-shadow: 1px 1px 2px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
  padding: 0 10px;
  height: 56px;
}

@media (max-width: 767px) {
  .topbar {
    height: 36px;
  }
}

.admin-bar .topbar {
  top: 32px;
}

.topbar__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

@media (max-width: 767px) {
  .topbar__container {
    justify-content: center;
    height: 36px;
  }
}

@media (max-width: 767px) {
  .topbar__link img {
    width: 160px;
  }
}

.topbar__logo {
  display: block;
  margin-right: 1rem;
  max-height: 72px;
  max-height: 40px;
  height: 28px;
}

.site-main {
  top: 56px;
  position: relative;
}

@media (max-width: 767px) {
  .site-main {
    top: 36px;
  }
}
