// ============================================================
//          Grid                                  
// -----------------------------------------------------------

@function grid-unit($grids, $grid-columns)
  @return percentage($grids / $grid-columns)


//**
// Mixin: layout-wrapper 
// Generates the Outer Layout Wrapper (.wrapper)
//
// @mixin     layout-wrapper
// @usage:    +layout-wrapper
//**
@mixin layout-wrapper
  .wrapper
    @if nth($site-position,1) == right
      +cf

    @if $helper-hightlight-grid == true
      background-color: #939393

//**
// Mixin: layout-container 
// Generate the Page Container, with Width, Sitedirection (.container)
//
// @mixin     layout-container
// @usage:    +layout-container
//**
@mixin layout-container
  .container
    +cf

    // Site Position Centering
    @if nth($site-position,1) == center
      margin-left  : auto
      margin-right : auto

    // Site Position on the Left with additional Margin
    @if nth($site-position,1) == left
      @if nth($site-position,2) != false
        margin-left: nth($site-position,2) + 0px

    // Site Position on the Right with additional Margin
    @if nth($site-position,1) == right
      @if nth($site-position,2) != false
        margin-right : nth($site-position,2) + 0px
        float        : right

    // Fluid Width calculation
    @if nth($layout-fluid-behavior,2) != false
      width     : 100%
      max-width : nth($layout-fluid-behavior,1) + 0px
      min-width : $site-minimal-width + 0px
      @if nth($comp-unresponsive-browser,1) == true or nth($comp-unresponsive-browser,2) == true
        @if nth($comp-unresponsive-browser,1) == true
          .ie7 &
            @if nth($comp-unresponsive-size,1) == nth($comp-unresponsive-size,2)
              width: nth($comp-unresponsive-size,1) + 0px
              max-width: nth($comp-unresponsive-size,1) + 0px
              min-width: nth($comp-unresponsive-size,1) + 0px
            @else
              width: 100%
              max-width: nth($comp-unresponsive-size,1) + 0px
              min-width: nth($comp-unresponsive-size,2) + 0px

        @if nth($comp-unresponsive-browser,2) == true
          .ie8 &
            @if nth($comp-unresponsive-size,1) == nth($comp-unresponsive-size,2)
              width: nth($comp-unresponsive-size,1) + 0px
              max-width: nth($comp-unresponsive-size,1) + 0px
              min-width: nth($comp-unresponsive-size,1) + 0px
            @else
              width: 100%
              max-width: nth($comp-unresponsive-size,1) + 0px
              min-width: nth($comp-unresponsive-size,2) + 0px

      // Include the Paddings with and without new Boxmodel
      @if nth($layout-base-style,3) != false
        @if $activate-box-sizing == true
          padding-left  : nth($layout-base-style,3) + 0px
          padding-right : nth($layout-base-style,3) + 0px

        @else
          .inner
            margin-left  : nth($layout-base-style,3) + 0px
            margin-right : nth($layout-base-style,3) + 0px

      @if nth($layout-second-grid,1) != false
        @if nth($layout-second-grid,4) != false
          @media (max-width: nth($layout-second-grid,1) + 0px)
            @if $activate-box-sizing == true
              padding-left  : nth($layout-second-grid,4) + 0px
              padding-right : nth($layout-second-grid,4) + 0px

            @else
              .inner
                margin-left  : nth($layout-second-grid,4) + 0px
                margin-right : nth($layout-second-grid,4) + 0px
    @else
      // Static Width calculation
      width: nth($layout-fluid-behavior,1) + 0px
      
      // Include the Paddings with and without new Boxmodel
      @if nth($layout-base-style,3) != false
        @if $activate-box-sizing == true
          padding-left  : nth($layout-base-style,3) + 0px
          padding-right : nth($layout-base-style,3) + 0px

        @else
          .inner
            margin-left  : nth($layout-base-style,3) + 0px
            margin-right : nth($layout-base-style,3) + 0px

      // @if nth($layout-second-grid,1) != false
      //  @if nth($layout-second-grid,4) != false
      //    @media (max-width: nth($layout-second-grid,1) + 0px)
      //      @if $activate-box-sizing == true
      //        padding-left  : nth($layout-second-grid,4) + 0px
      //        padding-right : nth($layout-second-grid,4) + 0px

      //      @else
      //        .inner
      //          margin-left  : nth($layout-second-grid,4) + 0px
      //          margin-right : nth($layout-second-grid,4) + 0px

    @if $helper-hightlight-grid == true
      background-color: #515151
      .inner
        background-color: #848484

//**
// Mixin: layout-row 
// Generate the Colum Holder (.row)
//
// @mixin     layout-row
// @usage:    +layout-row
//**
@mixin layout-row
  .row
    +cf

    @if nth($layout-base-style,2) != false
      .row
        margin-left   : 0
        margin-right  : 0 
      &.collapse
        margin-left   : 0 - nth($layout-base-style,2) + 0px
        margin-right  : 0 - nth($layout-base-style,2) + 0px
        .row
          margin-left  : 0
          margin-right : 0
    @if nth($layout-fluid-behavior,2) != false
      @if nth($layout-second-grid,1) != false
        @if nth($layout-second-grid,3) != false
          @media (max-width: nth($layout-second-grid,1) + 0px)
            .row
              margin-left   : 0
              margin-right  : 0
            &.collapse
              margin-left   : 0 - nth($layout-second-grid,3) + 0px
              margin-right  : 0 - nth($layout-second-grid,3) + 0px
              .row
                margin-left  : 0
                margin-right : 0

    @if $helper-hightlight-grid == true
      background-color: #636363

//**
// Mixin: layout-colum 
// Generate the Global Colum Class (.colum)
//
// @mixin     layout-colum
// @usage:    +layout-colum
//**
@mixin layout-colum
  .colum
    float: left

    @if $activate-box-sizing == true
      min-height    : 1px
      position      : relative
      @if nth($layout-base-style,2) != false
        padding-left  : nth($layout-base-style,2) + 0px
        padding-right : nth($layout-base-style,2) + 0px
        &.collapse
          padding-left  : 0 
          padding-right : 0
    @else

      .spacer
        min-height   : 1px
        position     : relative
        @if nth($layout-base-style,2) != false
          margin-left  : nth($layout-base-style,2) + 0px
          margin-right : nth($layout-base-style,2) + 0px
          &.collapse
            margin-left  : 0
            margin-right : 0

    &:last-child, &.colum_right
      float: right

    &.colum_left
      float: left

    .columdir_left &
      float: left

    .columdir_right &
      float: right

    &.colum_center
      margin-left  : auto
      margin-right : auto
      float        : none

    // If the Second Site Layout Behavior is active 
    @if nth($layout-fluid-behavior,2) != false
      @if nth($layout-second-grid,1) != false
        @if nth($layout-second-grid,3) != false
        @media (max-width: nth($layout-second-grid,1) + 0px)

          @if $activate-box-sizing == true
            padding-left  : nth($layout-second-grid,3) + 0px
            padding-right : nth($layout-second-grid,3) + 0px
            &.collapse
              padding-left  : 0
              padding-right : 0

          @else

            .spacer
              margin-left  : nth($layout-second-grid,3) + 0px
              margin-right : nth($layout-second-grid,3) + 0px
              &.collapse
                margin-left  : 0
                margin-right : 0

    @if $helper-hightlight-grid == true
      background-color: #888
      +box-shadow(inset 0 0 1px #fff)
      .spacer
        background-color: #f2f2f2
        +box-shadow(inset 0 0 1px rgba(0,0,0,0.2))

//**
// Mixin: layout-unit-size 
// Generate the Colum Width Classes (.unit-[nr])
//
// @mixin     layout-unit-size
// @usage:    +layout-unit-size
//**
@mixin layout-unit-size
  @for $i from 1 through nth($layout-base-style,1)
    .unit-#{$i}
      width: grid-unit($i, nth($layout-base-style,1))
  .unit-1-1
    width: 100%

  .unit-1-2
    width: 50%

  .unit-1-3
    width: 33.333%
  
  .unit-2-3
    width: 66.666%

  .unit-1-4
    width: 25%

  .unit-3-4
    width: 75%  


//**
// Mixin: layout-smallunit-size 
// Set the Size off the small Colums
//
// @mixin     layout-smallunit-size
// @usage:    +layout-smallunit-size
//**
@mixin layout-smallunit-size
  @if nth($layout-second-grid,1) != false
    [class^="small-"],[class*=" small-"]
      float: left
    @for $i from 1 through nth($layout-second-grid,2)
      .small-#{$i}
        width: grid-unit($i, nth($layout-second-grid,2))

    .small-1-1
      width: 100%

    .small-1-2
      width: 50%

    .small-1-3
      width: 33.333%
    
    .small-2-3
      width: 66.666%

    .small-1-4
      width: 25%

    .small-3-4
      width: 75%  

//**
// Mixin: layout-colum-push-pull
// Generate the Colum Push and Pull Classes (.push-[nr]) (.pull-[nr])
//
// @mixin     layout-colum-push-pull
// @usage:    +layout-colum-push-pull
//**
@mixin layout-colum-push-pull
  [class^="push-"],[class*=" push-"],[class^="pull-"],[class*=" pull-"]
    +relative

  @for $i from 1 through (nth($layout-base-style,1) - 1)
    .push-#{$i}
      left: grid-unit($i, nth($layout-base-style,1))

    .pull-#{$i}
      right: grid-unit($i, nth($layout-base-style,1))

//**
// Mixin: layout-colum-push-pull-small
// Generate the Colum Push and Pull Classes (.push-s-[nr]) (.pull-s-[nr])
//
// @mixin     layout-colum-push-pull-small
// @usage:    +layout-colum-push-pull-small
//**
@mixin layout-colum-push-pull-small
  [class^="push-s-"],[class*=" push-s-"],[class^="pull-s-"],[class*=" pull-s-"]
    +relative

  @for $i from 1 through (nth($layout-second-grid,2) - 1)
    .push-s-#{$i}
      left: grid-unit($i, nth($layout-second-grid,2))

    .pull-s-#{$i}
      right: grid-unit($i, nth($layout-second-grid,2))

//**
// Mixin: layout-colum-offset-left
// Calculates the right Margin for the Offset
//
// @mixin     layout-colum-offset-left
// @param     $colums {number} The Colum Offset on the left - caluclated with Colums
// @usage:    +layout-colum-offset-left($colums)
//          ...
//**
@mixin layout-colum-offset-left($colums)
  margin-left: grid-unit($colums, nth($layout-base-style,1))

//**
// Mixin: layout-colum-offset-right
// Calculates the right Margin for the Offset
//
// @mixin     layout-colum-offset-right
// @param     $colums {number} The Colum Offset on the right - caluclated with Colums
// @usage:    +layout-colum-offset-right($colums)
//          ...
//**
@mixin layout-colum-offset-right($colums)
  margin-right: grid-unit($colums, nth($layout-base-style,1))

//**
// Mixin: layout-colum-offset 
// Generate the Offset Classes (.offset-[nr])
//
// @mixin     layout-colum-offset
// @usage:    +layout-colum-offset
//**
@mixin layout-colum-offset
  @for $i from 1 through (nth($layout-base-style,1) - 1)
    .off-right-#{$i}
      margin-right: grid-unit($i, nth($layout-base-style,1))
    .off-left-#{$i}
      margin-left: grid-unit($i, nth($layout-base-style,1))

//**
// Mixin: layout-colum-offset-small 
// Regulate the Offset of the Small Colums
//
// @mixin     layout-colum-offset-small
// @usage:    +layout-colum-offset-small
//**
@mixin layout-colum-offset-small
  @for $i from 1 through (nth($layout-second-grid,2) - 1)
    .off-right-s-#{$i}
      margin-right: grid-unit($i, nth($layout-second-grid,2))
    .off-left-s-#{$i}
      margin-left: grid-unit($i, nth($layout-second-grid,2))

//**
// Mixin: layout-unit-normalize 
// Normalize the default Colum Sizes
//
// @mixin     layout-unit-normalize
// @usage:    +layout-unit-normalize
//**
@mixin layout-unit-normalize
  [class^="unit-"],[class*=" unit-"]
    float: none
    width: 100%

//**
// Mixin: layout-smallunit-normalize 
// Normalize the small colum sizes
//
// @mixin     layout-smallunit-normalize
// @usage:    +layout-smallunit-normalize
//**
@mixin layout-smallunit-normalize
  [class^="small-"],[class*=" small-"]
    float: none !important
    width: 100% !important


//**
// Mixin: layout-offset-normalize 
// Normalize the Offset
//
// @mixin     layout-offset-normalize
// @usage:    +layout-offset-normalize
//**
@mixin layout-offset-normalize
  [class^="off-right-"],[class*=" off-right-"]
    margin-right: 0
  [class^="off-left-"],[class*=" off-left-"]
    margin-left: 0

//**
// Mixin: layout-offset-small-normalize 
// Normalize the Offset off the small Colum Size
//
// @mixin     layout-offset-small-normalize
// @usage:    +layout-offset-small-normalize
//**
@mixin layout-offset-small-normalize
  [class^="off-right-s-"],[class*=" off-right-s-"]
    margin-right: 0 !important
  [class^="off-left-s-"],[class*=" off-left-s-"]
    margin-left: 0 !important

//**
// Mixin: layout-push-pull-normalize 
// Normalize the Push and Pull Classes
//
// @mixin     layout-push-pull-normalize
// @usage:    +layout-push-pull-normalize
//**
@mixin layout-push-pull-normalize
  [class*="push-"],[class^="push-"]
    left: 0
  [class*="pull-"],[class^="pull-"]
    right: 0

//**
// Mixin: layout-push-pull-small-normalize 
// Normalize the Push and Pull Classes
//
// @mixin     layout-push-pull-small-normalize
// @usage:    +layout-push-pull-small-normalize
//**
@mixin layout-push-pull-small-normalize
  [class*="push-s-"],[class^="push-s-"]
    left: 0
  [class*="pull-s-"],[class^="pull-s-"]
    right: 0

//**
// Mixin: block-grid 
// Generate a Block Grid
//
// @mixin     block-grid
// @param     $max-blocks {number} Max. Blocks
// @param     $gutter {number} The Side Padding
// @usage:    +block-grid($max-blocks,$gutter)
//          ...
//**
@mixin block-grid($max-blocks: 4,  $gutter: 10)
  [class^="blockgrid-"],[class*=" blockgrid-"]
    list-style: none

    &.block_left
      +cf
      > li, > dd, > .block
        float: left
        &:last-child
          float: right
    &.block_superleft
      +cf
      > li, > dd, > .block
        float: left

    &.block_right
      +cf
      > li, > dd, > .block
        float: right
        &:last-child
          float: left
          
    &.block_superright
      +cf
      > li, > dd, > .block
        float: right

    &.inline_left
      letter-spacing: -.32em
      text-align: left
      > li, > dd, > .block
        display        : inline-block
        vertical-align : top
        letter-spacing : 0
        text-align     : left
        @if $comp-ie7 == true
          .ie7 &
            zoom           : 1
            display        : inline
            vertical-align : top
    &.inline_right
      letter-spacing: -.32em
      text-align: right
      > li, > dd, > .block
        display        : inline-block
        vertical-align : top
        letter-spacing : 0
        text-align     : left
        @if $comp-ie7 == true
          .ie7 &
            zoom           : 1
            display        : inline
            vertical-align : top

    &.gutter
      margin-left  : - $gutter + 0px
      margin-right : - $gutter + 0px
      > li, > dd, > .block
        @if $activate-box-sizing == true
          padding-left  : $gutter + 0px
          padding-right : $gutter + 0px
          &.collapse
            padding-left  : 0
            padding-right : 0
        @else
          > .spacer
            margin-left  : $gutter + 0px
            margin-right : $gutter + 0px
            &.collapse
              margin-left  : 0
              margin-right : 0
    @if nth($layout-fluid-behavior,2) != false
      &.destroy-n
        @media (max-width: nth($layout-second-grid,1) + 0px)
          > li, > dd, > .block
            display : block
            width   : 100% !important

      &.destroy-s
        @media (max-width: $bp-mobile - 1px)
          > li, > dd, > .block
            display : block
            width   : 100% !important

      &.half-n
        @media (max-width: nth($layout-second-grid,1) + 0px)
          @for $i from 2 through $max-blocks
            &.blockgrid-#{$i}
              > .block, > li, > dd
                width: 100 / $i * 2 + 0%

      &.half-s
        @media (max-width: $bp-mobile - 1px)
          @for $i from 2 through $max-blocks
            &.blockgrid-#{$i}
              > .block, > li, > dd
                width: 100 / $i * 2 + 0%

  @for $i from 2 through $max-blocks
    .blockgrid-#{$i}
      > .block, > li, > dd
        width: 100 / $i + 0%


//**
// Mixin: flex-grid 
// A Floating Grid System
//
// @mixin     flex-grid
// @param     $size {number} Size of the Colum in PX/%
// @param     $direction {string} Direction of the Grid [left/right :default = left]
// @param     $mode {string} The Layout Mode [block/inline :default = block]
// @param     $gutter {number} The inner padding [:default = 0]
// @usage:    +flex-grid($size,$direction,$mode,$gutter)
//          ...
//**
@mixin flex-grid($size: 40, $direction: left, $mode: block, $gutter: 0, $prefix: null)
  .flexgrid#{--$prefix}
    list-style: none
    @if length($gutter) == 1
      @if $gutter > 0 
        margin-left  : 0 - $gutter + 0px
        margin-right : 0 - $gutter + 0px

    @if length($gutter) == 2
      @if nth($gutter,1) > 0 
        margin-left  : 0 - nth($gutter,1) + 0px
        margin-right : 0 - nth($gutter,1) + 0px

    @if $mode == block
      +cf

    @else if $mode == inline
      letter-spacing: -.25em

  .flexgrid-box#{--$prefix}
    @if $mode == block
      @if $direction == left
        float: left
      @else
        float: right

    @else if $mode == inline
      display        : inline-block
      vertical-align : top
      letter-spacing : 0
      @if $comp-ie7 == true
        .ie7 &
          zoom           : 1
          display        : inline
          vertical-align : top
    @if length($size) == 2
      @if unitless(nth($size,1))
        width  : nth($size,1) + 0%
      @else
        width  : nth($size,1)

      @if unitless(nth($size,2))
        height : nth($size,2) + 0%
      @else
        height : nth($size,2) 

    @if length($size) == 1
      @if unitless($size)
        width  : $size + 0%
      @else
        width  : $size

    @if length($gutter) == 1
      @if $gutter > 0 
        @if $activate-box-sizing == true
          padding-left  : $gutter + 0px
          padding-right : $gutter + 0px
        @else
          .flexgrid-box--inner
            margin-left  : $gutter + 0px
            margin-right : $gutter + 0px
            height: 50px
            background: red
    @if length($gutter) == 2
      @if nth($gutter,1) > 0 
        @if $activate-box-sizing == true
          padding-left  : nth($gutter,1) + 0px
          padding-right : nth($gutter,1) + 0px
        @else
          .flexgrid-box--inner
            margin-left  : nth($gutter,1) + 0px
            margin-right : nth($gutter,1) + 0px
            height: 50px
            background: red

      @if nth($gutter,2) > 0
        margin-bottom: nth($gutter,2) + 0px


//**
// Mixin: grid-vertical 
// Generate a vertical Grid System
//
// @mixin     grid-vertical
// @param     $grid-height {number} The Number of generated Rows for Height / Lineheight
// @param     $grid-margin {number} The Number of generated Rows for Margin top / Bottom
// @usage:    +grid-vertical($grid-height,$grid-margin)
//          ...
//**
@mixin grid-vertical($grid-height: nth($grid-height-generate,1), $grid-margin: nth($grid-height-generate,2), $grid-padding:  nth($grid-height-generate,3) )
  @if $activate-baseline == true
  
    @if $grid-height > 0
      @for $i from 1 through $grid-height
        .pump-h-#{$i}
          +baseheight($lines: $i)
    
        .pump-lh-#{$i}
          +baselineheight($lines: $i) 
      
      @if nth($grid-height-generate,4) != false  
        .pump-h-half
          +baseheight($lines: 0.5)
        .pump-h-quater
          +baseheight($lines: 0.25)
          
        .pump-lh-half
          +baselineheight($lines: 0.5)    
        .pump-lh-quater
          +baselineheight($lines: 0.25)    
    
    
    @if $grid-margin > 0
      @for $o from 1 through $grid-margin
        .pump-mt-#{$o}
          +basemargintop($lines: $o)
        .pump-mb-#{$o}
          +basemarginbottom($lines: $o)
      
      @if nth($grid-height-generate,4) != false 
        .pump-mt-half
          +basemargintop($lines: 0.5)
        .pump-mt-quater
          +basemargintop($lines: 0.25)
          
        .pump-mb-half
          +basemarginbottom($lines: 0.5)
        .pump-mb-quater
          +basemarginbottom($lines: 0.25)
        
      
    @if $grid-padding > 0
      @for $p from 1 through $grid-padding
        .pump-pt-#{$p}
          +basepaddingtop($lines: $p)

        .pump-pb-#{$p}
          +basepaddingbottom($lines: $p)
      
      @if nth($grid-height-generate,4) != false   
        .pump-pt-half
          +basepaddingtop($lines: 0.5)
        .pump-pt-quater
          +basepaddingtop($lines: 0.25)
        .pump-pb-half
          +basepaddingbottom($lines: 0.5)
        .pump-pb-quater
          +basepaddingbottom($lines: 0.25)
      
  @else
    @if $grid-height > 0
      @for $i from 1 through $grid-height
        .pump-h-#{$i}
          +height($size: ($spacing-vertical * $i), $baseline: false)
    
        .pump-lh-#{$i}
          +lineheight($size: ($spacing-vertical * $i), $baseline: false)
      
      @if nth($grid-height-generate,4) != false 
        .pump-h-half
          +height($size: ($spacing-vertical * 0.5), $baseline: false)
        .pump-h-quater
          +height($size: ($spacing-vertical * 0.25), $baseline: false)
        
        .pump-lh-half
          +lineheight($size: ($spacing-vertical * 0.5), $baseline: false)
        .pump-lh-quater
          +lineheight($size: ($spacing-vertical * 0.25), $baseline: false)
    
    @if $grid-margin > 0
      @for $o from 1 through $grid-margin
        .pump-mt-#{$o}
          +margintop($size: ($spacing-vertical * $o), $baseline: false)
        .pump-mb-#{$o}
          +marginbottom($size: ($spacing-vertical * $o), $baseline: false)
          
      @if nth($grid-height-generate,4) != false 
        .pump-mt-half
          +margintop($size: ($spacing-vertical * 0.5), $baseline: false)
        .pump-mt-quater
          +margintop($size: ($spacing-vertical * 0.25), $baseline: false)
        .pump-mb-half
          +marginbottom($size: ($spacing-vertical * 0.5), $baseline: false)
        .pump-mb-quater
          +marginbottom($size: ($spacing-vertical * 0.25), $baseline: false)

    @if $grid-padding > 0
      @for $p from 1 through $grid-padding
        .pump-pt-#{$p}
          +paddingtop($size: ($spacing-vertical * $p), $baseline: false)

        .pump-pb-#{$p}
          +paddingbottom($size: ($spacing-vertical * $p), $baseline: false)
      
      @if nth($grid-height-generate,4) != false 
        .pump-pt-half
          +paddingtop($size: ($spacing-vertical * 0.5), $baseline: false)
        .pump-pt-quater
          +paddingtop($size: ($spacing-vertical * 0.25), $baseline: false)
        .pump-pb-half
          +paddingbottom($size: ($spacing-vertical * 0.5), $baseline: false)
        .pump-pb-quater
          +paddingbottom($size: ($spacing-vertical * 0.25), $baseline: false)

//**
// Mixin: grid-vertical-normalize-normal
// Normalize the vertical Grid System
//
// @mixin     grid-vertical-normalize-normal
// @usage:    +grid-vertical-normalize-normal
//**
@mixin grid-vertical-normalize-normal
  [class^="pump-h-"],[class*=" pump-h-"]
    &.destroy-h-n
      height: inherit !important

  [class^="pump-lh-"],[class*=" pump-lh-"]
    &.destroy-lh-n
      line-height: inherit !important

  [class^="pump-mt-"],[class*=" pump-mt-"]
    &.destroy-mt-n
      margin-top: inherit !important

  [class^="pump-mb-"],[class*=" pump-mb-"]
    &.destroy-mb-n
      margin-bottom: inherit !important
  
  [class^="pump-pt-"],[class*=" pump-pt-"]
    &.destroy-pt-n
      padding-top: inherit !important

  [class^="pump-pb-"],[class*=" pump-pb-"]
    &.destroy-pb-n
      padding-bottom: inherit !important

//**
// Mixin: grid-vertical-normalize-small 
// Normalize the vertical Grid System
//
// @mixin     grid-vertical-normalize-small
// @usage:    +grid-vertical-normalize-small
//**
@mixin grid-vertical-normalize-small
  [class^="pump-h-"],[class*=" pump-h-"]
    &.destroy-h-s
      height: inherit !important

  [class^="pump-lh-"],[class*=" pump-lh-"]
    &.destroy-lh-s
      line-height: inherit !important

  [class^="pump-mt-"],[class*=" pump-mt-"]
    &.destroy-mt-s
      margin-top: inherit !important

  [class^="pump-mb-"],[class*=" pump-mb-"]
    &.destroy-mb-s
      margin-bottom: inherit !important

  [class^="pump-pt-"],[class*=" pump-pt-"]
    &.destroy-pt-s
      padding-top: inherit !important

  [class^="pump-pb-"],[class*=" pump-pb-"]
    &.destroy-pb-s
      padding-bottom: inherit !important
      
//**
// Mixin: grid-vertical-responsive 
// Overwrite the Layout behavior of the vertical Grid (Margin)
//
// @mixin     grid-vertical-responsive
// @usage:    +grid-vertical-responsive
//          ...
//**
@mixin grid-vertical-responsive($grid-height: nth($grid-res-height-generate,1), $grid-margin: nth($grid-res-height-generate,2), $grid-padding:  nth($grid-res-height-generate,3), $smaller-size: true )
  @if nth($layout-fluid-behavior,2) != false
    @media (max-width: nth($layout-second-grid,1) + 0px)
      @if $activate-baseline == true

        @if $grid-margin > 0
          @for $m from 1 through $grid-margin
            .lift-mb-n-#{$m}
              +basemarginbottom($lines: $m)
          
            .lift-mt-n-#{$m}
              +basemargintop($lines: $m)
              
          @if nth($grid-res-height-generate,4) != false    
            .lift-mt-n-half
              +basemarginbottom($lines: 0.5)
            .lift-mt-n-quater
              +basemarginbottom($lines: 0.25)
            .lift-mb-n-half
              +basemargintop($lines: 0.5)
            .lift-mb-n-quater
              +basemargintop($lines: 0.25)
          

        @if $grid-padding > 0
          @for $p from 1 through $grid-padding
            .lift-pb-n-#{$p}
              +basepaddingbottom($lines: $p)

            .lift-pt-n-#{$p}
              +basepaddingtop($lines: $p)
              
          @if nth($grid-res-height-generate,4) != false 
            .lift-pb-n-half
              +basepaddingbottom($lines: 0.5)
            .lift-pb-n-quater
              +basepaddingbottom($lines: 0.25)
            .lift-pt-n-half
              +basepaddingtop($lines: 0.5)
            .lift-pt-n-quater
              +basepaddingtop($lines: 0.25)

        @if $grid-height > 0
          @for $i from 1 through $grid-height
            .lift-h-n-#{$i}
              +baseheight($lines: $i)
        
            .lift-lh-n-#{$i}
              +baselineheight($lines: $i) 
              
          @if nth($grid-res-height-generate,4) != false 
            .lift-h-n-half
              +baseheight($lines: 0.5)
            .lift-h-n-quater
              +baseheight($lines: 0.25)
            .lift-lf-n-half
              +baselineheight($lines: 0.5) 
            .lift-lf-n-quater
              +baselineheight($lines: 0.25) 
          

      @else
        @if $grid-margin > 0
          @for $m from 1 through $grid-margin
            .lift-mb-n-#{$m}
              +marginbottom($size: ($spacing-vertical * $m), $baseline: false)

            .lift-mt-n-#{$m}
              +margintop($size: ($spacing-vertical * $m), $baseline: false)
          
          @if nth($grid-res-height-generate,4) != false 
            .lift-mb-n-half
              +marginbottom($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-mb-n-quater
              +marginbottom($size: ($spacing-vertical * 0.25), $baseline: false)
            .lift-mt-n-half
              +margintop($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-mt-n-quater
              +margintop($size: ($spacing-vertical * 0.25), $baseline: false)

        @if $grid-padding > 0
          @for $p from 1 through $grid-padding
            .lift-pb-n-#{$p}
              +paddingbottom($size: ($spacing-vertical * $p), $baseline: false)

            .lift-pt-n-#{$p}
              +paddingtop($size: ($spacing-vertical * $p), $baseline: false)
              
          @if nth($grid-res-height-generate,4) != false  
            .lift-pb-n-half
              +paddingbottom($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-pb-n-quater
              +paddingbottom($size: ($spacing-vertical * 0.25), $baseline: false)
            .lift-pt-n-half
              +paddingtop($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-pt-n-quater
              +paddingtop($size: ($spacing-vertical * 0.25), $baseline: false)

        @if $grid-height > 0
          @for $i from 1 through $grid-height
            .lift-h-n-#{$i}
              +height($size: ($spacing-vertical * $i), $baseline: false)
        
            .lift-lh-n-#{$i}
              +lineheight($size: ($spacing-vertical * $i), $baseline: false)
          
          @if nth($grid-res-height-generate,4) != false 
            .lift-h-n-half
              +height($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-h-n-quater
              +height($size: ($spacing-vertical * 0.25), $baseline: false)
            .lift-lh-n-half
              +lineheight($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-lh-n-quater
              +lineheight($size: ($spacing-vertical * 0.25), $baseline: false)
          

    @media (max-width: $bp-mobile  - 1px)
      @if $activate-baseline == true
        @if $grid-margin > 0
          @for $m from 1 through $grid-margin
            .lift-mb-s-#{$m}
              +basemarginbottom($lines: $m)
          
            .lift-mt-s-#{$m}
              +basemargintop($lines: $m)
              
          @if nth($grid-res-height-generate,4) != false 
            .lift-mt-s-half
              +basemarginbottom($lines: 0.5)
            .lift-mt-s-quater
              +basemarginbottom($lines: 0.25)
            .lift-mb-s-half
              +basemargintop($lines: 0.5)
            .lift-mb-s-quater
              +basemargintop($lines: 0.25)
            
        @if $grid-padding > 0
          @for $p from 1 through $grid-padding
            .lift-pb-s-#{$p}
              +basepaddingbottom($lines: $p)

            .lift-pt-s-#{$p}
              +basepaddingtop($lines: $p)
          
          @if nth($grid-res-height-generate,4) != false 
            .lift-pb-s-half
              +basepaddingbottom($lines: 0.5)
            .lift-pb-s-quater
              +basepaddingbottom($lines: 0.25)
            .lift-pt-s-half
              +basepaddingtop($lines: 0.5)
            .lift-pt-s-quater
              +basepaddingtop($lines: 0.25)
            
        @if $grid-height > 0
          @for $i from 1 through $grid-height
            .lift-h-s-#{$i}
              +baseheight($lines: $i)
          
            .lift-lh-s-#{$i}
              +baselineheight($lines: $i) 
          
          @if nth($grid-res-height-generate,4) != false 
            .lift-h-s-half
              +baseheight($lines: 0.5)
            .lift-h-s-quater
              +baseheight($lines: 0.25)
            .lift-lf-s-half
              +baselineheight($lines: 0.5) 
            .lift-lf-s-quater
              +baselineheight($lines: 0.25) 
            
      @else
        @if $grid-margin > 0
          @for $m from 1 through $grid-margin
            .lift-mb-s-#{$m}
              +marginbottom($size: ($spacing-vertical * $m), $baseline: false)

            .lift-mt-s-#{$m}
              +margintop($size: ($spacing-vertical * $m), $baseline: false)
          
          @if nth($grid-res-height-generate,4) != false 
            .lift-mb-s-half
              +marginbottom($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-mb-s-quater
              +marginbottom($size: ($spacing-vertical * 0.25), $baseline: false)
            .lift-mt-s-half
              +margintop($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-mt-s-quater
              +margintop($size: ($spacing-vertical * 0.25), $baseline: false)
            
        @if $grid-padding > 0
          @for $p from 1 through $grid-padding
            .lift-pb-s-#{$p}
              +paddingbottom($size: ($spacing-vertical * $p), $baseline: false)

            .lift-pt-s-#{$p}
              +paddingtop($size: ($spacing-vertical * $p), $baseline: false)
          
          @if nth($grid-res-height-generate,4) != false   
            .lift-pb-s-half
              +paddingbottom($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-pb-s-quater
              +paddingbottom($size: ($spacing-vertical * 0.25), $baseline: false)
            .lift-pt-s-half
              +paddingtop($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-pt-s-quater
              +paddingtop($size: ($spacing-vertical * 0.25), $baseline: false)
            
        @if $grid-height > 0
          @for $i from 1 through $grid-height
            .lift-h-s-#{$i}
              +height($size: ($spacing-vertical * $i), $baseline: false)
        
            .lift-lh-s-#{$i}
              +lineheight($size: ($spacing-vertical * $i), $baseline: false)
              
          @if nth($grid-res-height-generate,4) != false 
            .lift-h-s-half
              +height($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-h-s-quater
              +height($size: ($spacing-vertical * 0.25), $baseline: false)
            .lift-lh-s-half
              +lineheight($size: ($spacing-vertical * 0.5), $baseline: false)
            .lift-lh-s-quater
              +lineheight($size: ($spacing-vertical * 0.25), $baseline: false)
