/**
 * @file
 * Is the responsive layout composition.
 *
 * Is intented to set basic layout rules to regions and global blocks.
 * Also add grid common rules.
 */


/**
 * Main Content
 */

.layout-container {
  margin: 0;
}
.node--unpublished {
  background-color: transparent;
}


/**
 * Grid row
 */

.grid-row {
	padding: 0 1.5rem;
}
.grid-row-menu {
  height: 100%;
  position: relative;
}
.grid-row-nopad {
  padding: 0;
}
@media all and (min-width: 750px) {
  .grid-row {
  	padding: 0;
    width: 90%;
    margin: 0 auto;
  }
  .grid-row--10 {
    width: 81.24%;
  }
  .grid-row--8 {
    width: 60.48%;
  }
  .grid-row--6 {
    width: 59.72%;
  }
}
@media all and (min-width: 1000px) {
  .grid-row.grid-row-menu {
  	padding: 0;
    width: 95%;
    margin: 0 auto;
  }
}
@media all and (min-width: 1300px) {
  .grid-row{
    width: 82%;
    max-width: 1400px;
  }
  .grid-row-menu {
    max-width: 1600px;
  }
  .grid-row--10 {
    width: 71.24%;
    max-width: 1208px;
  }
  .grid-row--8 {
    width: 50.48%;
    max-width: 1016px;
  }
  .grid-row--6 {
    width: 49.72%;
    max-width: 700px;
  }
  .grid-row--banner-v2 {
    max-width: 1394px;
  }
  .grid-row--large-2k25 {
    max-width: 1128px;
  }
}



/**
 * Grid list (we assume grid list has a grid-row has direct parent)
 */
.grid-list {

}
@media all and (min-width: 750px) {
  .grid-list--2,
  .grid-list--3,
  .view-list--3,
  .grid-list--4 {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	-o-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
  }
  .grid-list--2 > *,
  .grid-list--3 > *,
  .view-list--3 > *,
  .grid-list--4 > * {
  	width: 48%;
  }
}
@media all and (min-width: 900px) {
  .grid-list--3::before,
  .grid-list--4::before {
  	order: 999;
  }
  .grid-list--3::before,
  .grid-list--4::before,
  .grid-list--4::after {
  	content: "";
  	height: 0;
  }
  .grid-list--3 > *,
  .view-list--3 > *,
  .grid-list--3::before {
  	width: 30%;
  }
  .grid-list--4 > *,
  .grid-list--4::before,
  .grid-list--4::after  {
  	width: 23%;
  }
}


/**
 * Vertical spacing
 */

.top-spacing--xs {
 margin-top: .25rem;
}
.top-spacing--s{
 margin-top: .5rem;
}
.top-spacing--m {
 margin-top: 1rem;
}
.top-spacing--l {
 margin-top: 2rem;
}
.top-spacing--xl {
 margin-top: 4rem;
}
.bottom-spacing--xs {
 margin-bottom: .25rem;
}
.bottom-spacing--s {
 margin-bottom: .5rem;
}
.bottom-spacing--m {
 margin-bottom: 1rem;
}
.bottom-spacing--l {
 margin-bottom: 2rem;
}
.bottom-spacing--xl{
 margin-bottom: 4rem;
}
@media all and (min-width: 1300px) {
  .top-spacing--xs {
    margin-top: .33rem;
  }
  .bottom-spacing--xs {
    margin-bottom: .33rem;
  }
}

.top-internal-spacing--xs {
 padding-top: .25rem;
}
.top-internal-spacing--s{
 padding-top: .5rem;
}
.top-internal-spacing--m {
 padding-top: 1rem;
}
.top-internal-spacing--l {
 padding-top: 2rem;
}
.top-internal-spacing--xl {
 padding-top: 4rem;
}
.bottom-internal-spacing--xs {
 padding-bottom: .25rem;
}
.bottom-internal-spacing--s {
 padding-bottom: .5rem;
}
.bottom-internal-spacing--m {
 padding-bottom: 1rem;
}
.bottom-internal-spacing--l {
 padding-bottom: 2rem;
}
.bottom-internal-spacing--xl{
 padding-bottom: 4rem;
}
@media all and (min-width: 1300px) {
  .top-internal-spacing--xs {
    padding-top: .33rem;
  }
  .bottom-internal-spacing--xs {
    padding-bottom: .33rem;
  }
}
