// ==========================================================================
// Base – Helpers
// ==========================================================================

// General Resets
.no-margin { margin: 0; }
.no-padding { padding: 0; }
.no-float { float: none; }

// Text Alignments
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-justify { text-align: justify; }

// Positions
.relative { position: relative; }
.absolute { position: absolute; }
.static { position: static; }
.fixed { position: fixed; }

// Display Types
.none { display: none; }
.block { display: block; }
.inline-block { display: inline-block; }
.inline { display: inline; }

// Floats
.left { float: left; }
.right { float: right; }

// Alignment
.center {
  float: none;
  margin-left: auto;
  margin-right: auto;
}

.overflow {
  overflow: hidden;
}

//islands
.island {
  padding-top: $grid-gutter*2;
  padding-bottom: $grid-gutter*2;
}

.island-half {
  padding-top: $grid-gutter;
  padding-bottom: $grid-gutter;
}

.island-top {
  padding-top: $grid-gutter*2;
}

.island-top-half {
  padding-top: $grid-gutter;
}

.island-bottom {
  padding-bottom: $grid-gutter*2;
}

.island-bottom-half {
  padding-bottom: $grid-gutter;
}

//islands margin
.island-margin {
  margin-top: $grid-gutter*2;
  margin-bottom: $grid-gutter*2;
}

.island-half-margin {
  margin-top: $grid-gutter;
  margin-bottom: $grid-gutter;
}

.island-top-margin {
  margin-top: $grid-gutter*2;
}

.island-top-half-margin {
  margin-top: $grid-gutter;
}

.island-bottom-margin {
  margin-bottom: $grid-gutter*2;
}

.island-bottom-half-margin {
  margin-bottom: $grid-gutter*2;
}

.clear {
  clear: both;
}

.overflow {
  overflow: hidden;
}

.island-light {
  background: $islandlight;
}

.island-dark {
  background: $islanddark;
}

// Hide only visually, but have it available for screenreaders: : h5bp.com/v
.sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

// Pretty Select
.select {
  position: relative;
  display: block;
  &:before {
    content: "";
    border: 6px solid transparent;
    border-top-color: #676767;
    top: 50%;
    right: 10px;
    margin-top: -3px;
    pointer-events: none;
    position: absolute;
  }
  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    height: $base-select-box-height;
    width: 100%;
    padding: 0 10px;
    line-height: normal;
    border: 1px solid $base-input-border-color;
    background: $base-input-background-color;
    display: block;
  }
  select::-ms-expand {
    display: none;
  }
  select:focus { border-color: $base-input-border-focus-color; }
  select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 $base-input-color;
    border-color: $base-input-border-focus-color;
  }
}


// Tablet Helpers
@include breakpoint(m) {

  // General Resets
  .no-float-m { float: none; }
  .no-padding-m { padding: 0; }
  .no-margin-m { margin: 0; }

  // Positions
  .relative-m { position: relative; }
  .absolute-m { position: absolute; }
  .static-m { position: static; }
  .fixed-m { position: fixed; }

  // Display Types
  .none-m { display: none; }
  .block-m { display: block; }
  .inline-block-m { display: inline-block; }
  .inline-m { display: inline; }

  // Floats
  .left-m { float: left; }
  .right-m { float: right; }

  // Alignment
  .center-m {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  // Text Alignments
  .text-left-m { text-align: left; }
  .text-right-m { text-align: right; }
  .text-center-m { text-align: center; }
  .text-justify-m { text-align: justify; }

  // Grid Resets
  .no-col-m {
    width: auto;
    float: none;
  }

}

// Desktop Helpers
@include breakpoint(l) {

  // General Resets
  .no-float-l { float: none; }
  .no-padding-l { padding: 0; }
  .no-margin-l { margin: 0; }

  // Positions
  .relative-l { position: relative; }
  .absolute-l { position: absolute; }
  .static-l { position: static; }
  .fixed-l { position: fixed; }

  // Display Types
  .none-l { display: none; }
  .block-l { display: block; }
  .inline-block-l { display: inline-block; }
  .inline-l { display: inline; }

  // Floats
  .left-l { float: left; }
  .right-l { float: right; }

  // Alignment
  .center-l {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  // Text Alignments
  .text-left-l { text-align: left; }
  .text-right-l { text-align: right; }
  .text-center-l { text-align: center; }
  .text-justify-l { text-align: justify; }

  // Grid Resets
  .no-col-l {
    width: auto;
    float: none;
  }

}

// HD Helpers
@include breakpoint(xl) {

  // General Resets
  .no-float-xl { float: none; }
  .no-padding-xl { padding: 0; }
  .no-margin-xl { margin: 0; }

  // Positions
  .relative-xl { position: relative; }
  .absolute-xl { position: absolute; }
  .static-xl { position: static; }
  .fixed-xl { position: fixed; }

  // Display Types
  .none-xl { display: none; }
  .block-xl { display: block; }
  .inline-block-xl { display: inline-block; }
  .inline-xl { display: inline; }

  // Floats
  .left-xl { float: left; }
  .right-xl { float: right; }

  // Alignment
  .center-xl {
    float: none;
    margin-left: auto;
    margin-right: auto;
  }

  // Text Alignments
  .text-left-xl { text-align: left; }
  .text-right-xl { text-align: right; }
  .text-center-xl { text-align: center; }
  .text-justify-xl { text-align: justify; }

  // Grid Resets
  .no-col-xl {
    width: auto;
    float: none;
  }

}
//resposnive videos
.embed-container {
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
		max-width: 100%;
		height: auto;
	}

	.embed-container iframe,
	.embed-container object,
	.embed-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
