/**
 * CONTENTS
 *
 * GENERIC
 * Box-sizing............Better default `box-sizing`.
 * Image Aligns..........WP specific img aligns
 *
 * BASE
 * Typography............Base text and vertical rhythem setup.
 *
 * OBJECTS
 * Wrappers..............Wrapping and constraining elements.
 * Grid System...........Bootstrap based grid.
 *
 * COMPONENTS
 * Clearfix..............Properly clear floats.
 * Icons.................Icon Elements.
 * Flexbox...............Emulate modern flexbox layout.
 * Block-list............Create big blocky lists of content.
 * Matrix................Table like layouts for lists.
 * Multi-list............Multiple column lists.
 *
 * TRUMPS
 * Images................Round, Circle, Square Images.
 * Visiblity.............Make items visible.
 * Hiding................Make items invisible/hidden.
 * Screen Readers........Display for screen readers.
 * Print.................Display for printing.
 * Clears................Clearing floats.
 * Text alignment........Align text.
 * Font weights..........Adjust font weights.
 * Borders...............Add borders.
 * Add/remove margins....Remove margins.
 * Add/remove paddings...Remove padding.
 * Positioning...........float, center, and stick items.
 */




/*------------------------------------*\
    Generic
\*------------------------------------*/

/**
 * Box-sizing
 */

* { box-sizing: border-box; }

/*------------------------------------*\
    Objects
\*------------------------------------*/


/**
 * Wrappers
 */

.container,
.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-left: 10px;
    padding-right: 10px;
}

	@media (min-width: 600px) {
        .container { width: 580px; }
    }

    @media (min-width: 768px) {
        .container { width: 740px;}
		.container--padding0 {width: 768px;}
    }
    @media (min-width: 1025px) {
        .container { width: 990px;}
		.container--padding0 {width:1000px;}
    }

    @media (min-width: 1200px) {
        .container { width: 1190px; } /*1160px;*/
    }

    @media (max-width: 767px) {
		.container--padding0 { padding:0 !important; background:#f00; overflow:hidden}
    }




/**
 * Grid System
 *
 * Bootstrap v3.3.1 (http://getbootstrap.com)
 * Copyright 2011-2014 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * --------------------------------------------------------------------------
 * Base setup 20px gutters
 *
 * Phones         - xxs - <  768px    ** Default **
 * Small Tablets  - xs - >=  600px
 * Tablets        - sm - >= 768px
 * Desktop        - md - >= 1025px
 * Large Desktop  - lg - >= 1200px
 * --------------------------------------------------------------------------
 * Learn more here: http://getbootstrap.com/css/#grid
 * -------------------------------------------------------------------------- */

.row {
    margin-left: -10px;
    margin-right: -10px;
}

    [class*="col-"] {
        position: relative;
        min-height: 1px;
        padding-left: 10px;
        padding-right: 10px;
    }

/* Extra Extra small devices (devices, less than 600px) */
[class*="col-xxs-"] {float:left;}

.col-xxs-14 { width: 100%; }
.col-xxs-13 { width: 92.85714286%; }
.col-xxs-12 { width: 85.71428571%; }
.col-xxs-11 { width: 78.57142857%; }
.col-xxs-10 { width: 71.42857143%; }
.col-xxs-9  { width: 64.28571429%; }
.col-xxs-8  { width: 57.14285714%; }
.col-xxs-7  { width: 50%; }
.col-xxs-6  { width: 42.85714286%; }
.col-xxs-5  { width: 35.71428571%; }
.col-xxs-4  { width: 28.57142857%; }
.col-xxs-3  { width: 21.42857143%; }
.col-xxs-2  { width: 14.28571429%; }
.col-xxs-1  { width: 7.142857143%; }

.col-xxs-pull-14 { right: 100%; }
.col-xxs-pull-13 { right: 92.85714286%; }
.col-xxs-pull-12 { right: 85.71428571%; }
.col-xxs-pull-11 { right: 78.57142857%; }
.col-xxs-pull-10 { right: 71.42857143%; }
.col-xxs-pull-9  { right: 64.28571429%; }
.col-xxs-pull-8  { right: 57.14285714%; }
.col-xxs-pull-7  { right: 50%; }
.col-xxs-pull-6  { right: 42.85714286%; }
.col-xxs-pull-5  { right: 35.71428571%; }
.col-xxs-pull-4  { right: 28.57142857%; }
.col-xxs-pull-3  { right: 21.42857143%; }
.col-xxs-pull-2  { right: 14.28571429%; }
.col-xxs-pull-1  { right: 7.142857143%; }
.col-xxs-pull-0  { right: auto; }

.col-xxs-push-14 { left: 100%; }
.col-xxs-push-13 { left: 92.85714286%; }
.col-xxs-push-12 { left: 85.71428571%; }
.col-xxs-push-11 { left: 78.57142857%; }
.col-xxs-push-10 { left: 71.42857143%; }
.col-xxs-push-9  { left: 64.28571429%; }
.col-xxs-push-8  { left: 57.14285714%; }
.col-xxs-push-7  { left: 50%; }
.col-xxs-push-6  { left: 42.85714286%; }
.col-xxs-push-5  { left: 35.71428571%; }
.col-xxs-push-4  { left: 28.57142857%; }
.col-xxs-push-3  { left: 21.42857143%; }
.col-xxs-push-2  { left: 14.28571429%; }
.col-xxs-push-1  { left: 7.142857143%; }
.col-xxs-push-0  { left: auto; }

.col-xxs-offset-14 { margin-left: 100%; }
.col-xxs-offset-13 { margin-left: 92.85714286%; }
.col-xxs-offset-12 { margin-left: 85.71428571%; }
.col-xxs-offset-11 { margin-left: 78.57142857%; }
.col-xxs-offset-10 { margin-left: 71.42857143%; }
.col-xxs-offset-9  { margin-left: 64.28571429%; }
.col-xxs-offset-8  { margin-left: 57.14285714%; }
.col-xxs-offset-7  { margin-left: 50%; }
.col-xxs-offset-6  { margin-left: 42.85714286%; }
.col-xxs-offset-5  { margin-left: 35.71428571%; }
.col-xxs-offset-4  { margin-left: 28.57142857%; }
.col-xxs-offset-3  { margin-left: 21.42857143%; }
.col-xxs-offset-2  { margin-left: 14.28571429%; }
.col-xxs-offset-1  { margin-left: 7.142857143%; }
.col-xxs-offset-0  { margin-left: 0%; }

/* Extra small devices (phones, 600px and up) */
@media (min-width: 600px), (max-height: 450px) and (max-width: 900px) {
    [class*="col-xs-"] {float:left;}

	.col-xs-14 { width: 100%; }
	.col-xs-13 { width: 92.85714286%; }
	.col-xs-12 { width: 85.71428571%; }
	.col-xs-11 { width: 78.57142857%; }
	.col-xs-10 { width: 71.42857143%; }
	.col-xs-9  { width: 64.28571429%; }
	.col-xs-8  { width: 57.14285714%; }
	.col-xs-7  { width: 50%; }
	.col-xs-6  { width: 42.85714286%; }
	.col-xs-5  { width: 35.71428571%; }
	.col-xs-4  { width: 28.57142857%; }
	.col-xs-3  { width: 21.42857143%; }
	.col-xs-2  { width: 14.28571429%; }
	.col-xs-1  { width: 7.142857143%; }

	.col-xs-pull-14 { right: 100%; }
	.col-xs-pull-13 { right: 92.85714286%; }
	.col-xs-pull-12 { right: 85.71428571%; }
	.col-xs-pull-11 { right: 78.57142857%; }
	.col-xs-pull-10 { right: 71.42857143%; }
	.col-xs-pull-9  { right: 64.28571429%; }
	.col-xs-pull-8  { right: 57.14285714%; }
	.col-xs-pull-7  { right: 50%; }
	.col-xs-pull-6  { right: 42.85714286%; }
	.col-xs-pull-5  { right: 35.71428571%; }
	.col-xs-pull-4  { right: 28.57142857%; }
	.col-xs-pull-3  { right: 21.42857143%; }
	.col-xs-pull-2  { right: 14.28571429%; }
	.col-xs-pull-1  { right: 7.142857143%; }
	.col-xs-pull-0  { right: auto; }

	.col-xs-push-14 { left: 100%; }
	.col-xs-push-13 { left: 92.85714286%; }
	.col-xs-push-12 { left: 85.71428571%; }
	.col-xs-push-11 { left: 78.57142857%; }
	.col-xs-push-10 { left: 71.42857143%; }
	.col-xs-push-9  { left: 64.28571429%; }
	.col-xs-push-8  { left: 57.14285714%; }
	.col-xs-push-7  { left: 50%; }
	.col-xs-push-6  { left: 42.85714286%; }
	.col-xs-push-5  { left: 35.71428571%; }
	.col-xs-push-4  { left: 28.57142857%; }
	.col-xs-push-3  { left: 21.42857143%; }
	.col-xs-push-2  { left: 14.28571429%; }
	.col-xs-push-1  { left: 7.142857143%; }
	.col-xs-push-0  { left: auto; }

	.col-xs-offset-14 { margin-left: 100%; }
	.col-xs-offset-13 { margin-left: 92.85714286%; }
	.col-xs-offset-12 { margin-left: 85.71428571%; }
	.col-xs-offset-11 { margin-left: 78.57142857%; }
	.col-xs-offset-10 { margin-left: 71.42857143%; }
	.col-xs-offset-9  { margin-left: 64.28571429%; }
	.col-xs-offset-8  { margin-left: 57.14285714%; }
	.col-xs-offset-7  { margin-left: 50%; }
	.col-xs-offset-6  { margin-left: 42.85714286%; }
	.col-xs-offset-5  { margin-left: 35.71428571%; }
	.col-xs-offset-4  { margin-left: 28.57142857%; }
	.col-xs-offset-3  { margin-left: 21.42857143%; }
	.col-xs-offset-2  { margin-left: 14.28571429%; }
	.col-xs-offset-1  { margin-left: 7.142857143%; }
	.col-xs-offset-0  { margin-left: 0%; }
}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) and (min-height: 451px) {
    [class*="col-sm-"] {float:left;}

	.col-sm-14 { width: 100%; }
	.col-sm-13 { width: 92.85714286%; }
	.col-sm-12 { width: 85.71428571%; }
	.col-sm-11 { width: 78.57142857%; }
	.col-sm-10 { width: 71.42857143%; }
	.col-sm-9  { width: 64.28571429%; }
	.col-sm-8  { width: 57.14285714%; }
	.col-sm-7  { width: 50%; }
	.col-sm-6  { width: 42.85714286%; }
	.col-sm-5  { width: 35.71428571%; }
	.col-sm-4  { width: 28.57142857%; }
	.col-sm-3  { width: 21.42857143%; }
	.col-sm-2  { width: 14.28571429%; }
	.col-sm-1  { width: 7.142857143%; }

	.col-sm-pull-14 { right: 100%; }
	.col-sm-pull-13 { right: 92.85714286%; }
	.col-sm-pull-12 { right: 85.71428571%; }
	.col-sm-pull-11 { right: 78.57142857%; }
	.col-sm-pull-10 { right: 71.42857143%; }
	.col-sm-pull-9  { right: 64.28571429%; }
	.col-sm-pull-8  { right: 57.14285714%; }
	.col-sm-pull-7  { right: 50%; }
	.col-sm-pull-6  { right: 42.85714286%; }
	.col-sm-pull-5  { right: 35.71428571%; }
	.col-sm-pull-4  { right: 28.57142857%; }
	.col-sm-pull-3  { right: 21.42857143%; }
	.col-sm-pull-2  { right: 14.28571429%; }
	.col-sm-pull-1  { right: 7.142857143%; }
	.col-sm-pull-0  { right: auto; }

	.col-sm-push-14 { left: 100%; }
	.col-sm-push-13 { left: 92.85714286%; }
	.col-sm-push-12 { left: 85.71428571%; }
	.col-sm-push-11 { left: 78.57142857%; }
	.col-sm-push-10 { left: 71.42857143%; }
	.col-sm-push-9  { left: 64.28571429%; }
	.col-sm-push-8  { left: 57.14285714%; }
	.col-sm-push-7  { left: 50%; }
	.col-sm-push-6  { left: 42.85714286%; }
	.col-sm-push-5  { left: 35.71428571%; }
	.col-sm-push-4  { left: 28.57142857%; }
	.col-sm-push-3  { left: 21.42857143%; }
	.col-sm-push-2  { left: 14.28571429%; }
	.col-sm-push-1  { left: 7.142857143%; }
	.col-sm-push-0  { left: auto; }

	.col-sm-offset-14 { margin-left: 100%; }
	.col-sm-offset-13 { margin-left: 92.85714286%; }
	.col-sm-offset-12 { margin-left: 85.71428571%; }
	.col-sm-offset-11 { margin-left: 78.57142857%; }
	.col-sm-offset-10 { margin-left: 71.42857143%; }
	.col-sm-offset-9  { margin-left: 64.28571429%; }
	.col-sm-offset-8  { margin-left: 57.14285714%; }
	.col-sm-offset-7  { margin-left: 50%; }
	.col-sm-offset-6  { margin-left: 42.85714286%; }
	.col-sm-offset-5  { margin-left: 35.71428571%; }
	.col-sm-offset-4  { margin-left: 28.57142857%; }
	.col-sm-offset-3  { margin-left: 21.42857143%; }
	.col-sm-offset-2  { margin-left: 14.28571429%; }
	.col-sm-offset-1  { margin-left: 7.142857143%; }
	.col-sm-offset-0  { margin-left: 0%; }
}

/* Medium devices (desktops, 1025px and up) */
@media (min-width: 1025px) {
	[class*="col-md-"] {float:left;}

	.col-md-14 { width: 100%; }
	.col-md-13 { width: 92.85714286%; }
	.col-md-12 { width: 85.71428571%; }
	.col-md-11 { width: 78.57142857%; }
	.col-md-10 { width: 71.42857143%; }
	.col-md-9  { width: 64.28571429%; }
	.col-md-8  { width: 57.14285714%; }
	.col-md-7  { width: 50%; }
	.col-md-6  { width: 42.85714286%; }
	.col-md-5  { width: 35.71428571%; }
	.col-md-4  { width: 28.57142857%; }
	.col-md-3  { width: 21.42857143%; }
	.col-md-2  { width: 14.28571429%; }
	.col-md-1  { width: 7.142857143%; }

	.col-md-pull-14 { right: 100%; }
	.col-md-pull-13 { right: 92.85714286%; }
	.col-md-pull-12 { right: 85.71428571%; }
	.col-md-pull-11 { right: 78.57142857%; }
	.col-md-pull-10 { right: 71.42857143%; }
	.col-md-pull-9  { right: 64.28571429%; }
	.col-md-pull-8  { right: 57.14285714%; }
	.col-md-pull-7  { right: 50%; }
	.col-md-pull-6  { right: 42.85714286%; }
	.col-md-pull-5  { right: 35.71428571%; }
	.col-md-pull-4  { right: 28.57142857%; }
	.col-md-pull-3  { right: 21.42857143%; }
	.col-md-pull-2  { right: 14.28571429%; }
	.col-md-pull-1  { right: 7.142857143%; }
	.col-md-pull-0  { right: auto; }

	.col-md-push-14 { left: 100%; }
	.col-md-push-13 { left: 92.85714286%; }
	.col-md-push-12 { left: 85.71428571%; }
	.col-md-push-11 { left: 78.57142857%; }
	.col-md-push-10 { left: 71.42857143%; }
	.col-md-push-9  { left: 64.28571429%; }
	.col-md-push-8  { left: 57.14285714%; }
	.col-md-push-7  { left: 50%; }
	.col-md-push-6  { left: 42.85714286%; }
	.col-md-push-5  { left: 35.71428571%; }
	.col-md-push-4  { left: 28.57142857%; }
	.col-md-push-3  { left: 21.42857143%; }
	.col-md-push-2  { left: 14.28571429%; }
	.col-md-push-1  { left: 7.142857143%; }
	.col-md-push-0  { left: auto; }

	.col-md-offset-14 { margin-left: 100%; }
	.col-md-offset-13 { margin-left: 92.85714286%; }
	.col-md-offset-12 { margin-left: 85.71428571%; }
	.col-md-offset-11 { margin-left: 78.57142857%; }
	.col-md-offset-10 { margin-left: 71.42857143%; }
	.col-md-offset-9  { margin-left: 64.28571429%; }
	.col-md-offset-8  { margin-left: 57.14285714%; }
	.col-md-offset-7  { margin-left: 50%; }
	.col-md-offset-6  { margin-left: 42.85714286%; }
	.col-md-offset-5  { margin-left: 35.71428571%; }
	.col-md-offset-4  { margin-left: 28.57142857%; }
	.col-md-offset-3  { margin-left: 21.42857143%; }
	.col-md-offset-2  { margin-left: 14.28571429%; }
	.col-md-offset-1  { margin-left: 7.142857143%; }
	.col-md-offset-0  { margin-left: 0%; }

}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  [class*="col-lg-"] {float:left;}

	.col-lg-14 { width: 100%; }
	.col-lg-13 { width: 92.85714286%; }
	.col-lg-12 { width: 85.71428571%; }
	.col-lg-11 { width: 78.57142857%; }
	.col-lg-10 { width: 71.42857143%; }
	.col-lg-9  { width: 64.28571429%; }
	.col-lg-8  { width: 57.14285714%; }
	.col-lg-7  { width: 50%; }
	.col-lg-6  { width: 42.85714286%; }
	.col-lg-5  { width: 35.71428571%; }
	.col-lg-4  { width: 28.57142857%; }
	.col-lg-3  { width: 21.42857143%; }
	.col-lg-2  { width: 14.28571429%; }
	.col-lg-1  { width: 7.142857143%; }

	.col-lg-pull-14 { right: 100%; }
	.col-lg-pull-13 { right: 92.85714286%; }
	.col-lg-pull-12 { right: 85.71428571%; }
	.col-lg-pull-11 { right: 78.57142857%; }
	.col-lg-pull-10 { right: 71.42857143%; }
	.col-lg-pull-9  { right: 64.28571429%; }
	.col-lg-pull-8  { right: 57.14285714%; }
	.col-lg-pull-7  { right: 50%; }
	.col-lg-pull-6  { right: 42.85714286%; }
	.col-lg-pull-5  { right: 35.71428571%; }
	.col-lg-pull-4  { right: 28.57142857%; }
	.col-lg-pull-3  { right: 21.42857143%; }
	.col-lg-pull-2  { right: 14.28571429%; }
	.col-lg-pull-1  { right: 7.142857143%; }
	.col-lg-pull-0  { right: auto; }

	.col-lg-push-14 { left: 100%; }
	.col-lg-push-13 { left: 92.85714286%; }
	.col-lg-push-12 { left: 85.71428571%; }
	.col-lg-push-11 { left: 78.57142857%; }
	.col-lg-push-10 { left: 71.42857143%; }
	.col-lg-push-9  { left: 64.28571429%; }
	.col-lg-push-8  { left: 57.14285714%; }
	.col-lg-push-7  { left: 50%; }
	.col-lg-push-6  { left: 42.85714286%; }
	.col-lg-push-5  { left: 35.71428571%; }
	.col-lg-push-4  { left: 28.57142857%; }
	.col-lg-push-3  { left: 21.42857143%; }
	.col-lg-push-2  { left: 14.28571429%; }
	.col-lg-push-1  { left: 7.142857143%; }
	.col-lg-push-0  { left: auto; }

	.col-lg-offset-14 { margin-left: 100%; }
	.col-lg-offset-13 { margin-left: 92.85714286%; }
	.col-lg-offset-12 { margin-left: 85.71428571%; }
	.col-lg-offset-11 { margin-left: 78.57142857%; }
	.col-lg-offset-10 { margin-left: 71.42857143%; }
	.col-lg-offset-9  { margin-left: 64.28571429%; }
	.col-lg-offset-8  { margin-left: 57.14285714%; }
	.col-lg-offset-7  { margin-left: 50%; }
	.col-lg-offset-6  { margin-left: 42.85714286%; }
	.col-lg-offset-5  { margin-left: 35.71428571%; }
	.col-lg-offset-4  { margin-left: 28.57142857%; }
	.col-lg-offset-3  { margin-left: 21.42857143%; }
	.col-lg-offset-2  { margin-left: 14.28571429%; }
	.col-lg-offset-1  { margin-left: 7.142857143%; }
	.col-lg-offset-0  { margin-left: 0%; }

}





/*------------------------------------*\
    Components
\*------------------------------------*/


/**
 * Clearfix
 */

.clearfix:before, .clearfix:after,
.container:before, .container:after,
.container-fluid:before, .container-fluid:after,
.row:before, .row:after {
    content: " ";
    display: table;
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after { clear: both; }



/**
 * Icons
 */
.icon {
}

/**
 * Flexbox
 * Until we can utilise flexbox natively we can kinda, sorta, attempt to emulate
 * it, in a way
 *
 * Demo: jsfiddle.net/inuitcss/ufUh2
 */

.flexbox {
    display: table;
    width: 100%;
}

    /**
     * Nasty hack to circumvent Modernizr conflicts.
     */
    html.flexbox {
        display: block;
        width: auto;
    }

    .flexbox__item {
        display: table-cell;
        vertical-align: middle;
    }



/**
 * Block-list
 * Create big blocky lists of content
 *
 * Demo: jsfiddle.net/inuitcss/hR57q
 */

.block-list,
.matrix,
.block-list > li,
.matrix > li { border: 0 solid #ccc; }

.block-list,
.matrix {
    list-style: none;
    margin-left: 0;
    border-top-width: 1px;
}

    .block-list > li,
    .matrix > li {
        border-bottom-width: 1px;
        padding: 12px;
    }

.block-list__link,
.matrix__link {
    display: block;
    padding: 12px;
    margin: -12px;
}



/**
 * Matrix
 *
 * Demo: jsfiddle.net/inuitcss/Y2zrU
 */

.matrix { border-left-width: 1px; }

    .matrix > li {
        float: left;
        border-right-width: 1px;
    }


/**
 * Multi-list
 *
 * Stack lists into columns
 * Demo: jsfiddle.net/inuitcss/Y2zrU
 */

.multi-list {
    list-style: none;
    margin-left: 0;
}

    .multi-list > li { float: left; }

    .multi-list--padded > li { padding-left: 10px; padding-right: 10px; }

/**
 * Apply these classes alongside the `.matrix` or `.multi-list` classes on
 * lists to determine how wide their columns are.
 */

.two-cols > li   { width: 50%; }
.three-cols > li { width: 33.333%; }
.four-cols > li  { width: 25%; }
.five-cols > li  { width: 20%; }

    /**
     * Unfortunately we have to qualify this selector in order to bring its
     * specificity above the `.[number]-cols > li` selectors above.
     */
    .matrix > .all-cols,
    .multi-list > .all-cols { width: 100%; }

@media (max-width:767px) {
    .two-cols > li   { width: 100%; }
}

/*------------------------------------*\
    Trumps
\*------------------------------------*/


@-ms-viewport { width: device-width; }


/**
 * Images
 */

.img-responsive {
    display: block;
    max-width: 100%;
    height: auto;
}

.img-rounded { border-radius: 6px !important; }
.img-circle  { border-radius: 50% !important; }
.img-square  { border-radius: 0   !important; }


/**
 * Visiblity
 */

.show { display: block !important; }

.visible-xxs,
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg { display: none !important; }

.visible-xxs-block,
.visible-xxs-inline,
.visible-xxs-inline-block,
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block { display: none !important; }

@media (max-width: 599px) {
    .visible-xxs      { display: block !important; }
    table.visible-xxs { display: table; }
    tr.visible-xxs    { display: table-row !important; }
    th.visible-xxs,
    td.visible-xxs    { display: table-cell !important; }

    .visible-xxs-block        { display: block !important; }
    .visible-xxs-inline       { display: inline !important; }
    .visible-xxs-inline-block { display: inline-block !important; }
}


@media (min-width: 600px) and (max-width: 767px) {
    .visible-xs      { display: block !important; }
    table.visible-xs { display: table; }
    tr.visible-xs    { display: table-row !important; }
    th.visible-xs,
    td.visible-xs    { display: table-cell !important; }

    .visible-xs-block        { display: block !important; }
    .visible-xs-inline       { display: inline !important; }
    .visible-xs-inline-block { display: inline-block !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .visible-sm      { display: block !important; }
    table.visible-sm { display: table; }
    tr.visible-sm    { display: table-row !important; }
    th.visible-sm,
    td.visible-sm    { display: table-cell !important; }

    .visible-sm-block        { display: block !important; }
    .visible-sm-inline       { display: inline !important; }
    .visible-sm-inline-block { display: inline-block !important; }
}

@media (min-width: 1025px) and (max-width: 1199px) {
    .visible-md      { display: block !important; }
    table.visible-md { display: table; }
    tr.visible-md    { display: table-row !important; }
    th.visible-md,
    td.visible-md    { display: table-cell !important; }

    .visible-md-block        { display: block !important; }
    .visible-md-inline       { display: inline !important; }
    .visible-md-inline-block { display: inline-block !important; }
}

@media (min-width: 1200px) {
    .visible-lg      { display: block !important; }
    table.visible-lg { display: table; }
    tr.visible-lg    {  display: table-row !important; }
    th.visible-lg,
    td.visible-lg    { display: table-cell !important; }

    .visible-lg-block        { display: block !important; }
    .visible-lg-inline       { display: inline !important; }
    .visible-lg-inline-block { display: inline-block !important; }
}


/**
 * Hiding
 */

.hide,
.hidden-xxs-up { display: none !important; }
.hidden       { display: none !important; visibility: hidden !important; }
.invisible    { visibility: hidden !important; }
.text-hide    {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

@media (max-width: 599px) {
    .hidden-xxs { display: none !important; }
}

    @media (min-width: 600px) {
      .hidden-xs-up { display: none !important; }
    }

@media (min-width: 600px) and (max-width: 767px) {
    .hidden-xs { display: none !important; }
}

    @media (max-width: 767px) {
      .hidden-xs-down { display: none !important; }
    }

    @media (min-width: 768px) {
      .hidden-sm-up { display: none !important; }
    }

@media (min-width: 768px) and (max-width: 1024px) {
    .hidden-sm { display: none !important; }
}

    @media (max-width: 1024px) {
      .hidden-sm-down { display: none !important; }
    }

    @media (min-width: 1025px) {
      .hidden-md-up { display: none !important; }
    }

@media (min-width: 1025px) and (max-width: 1199px) {
    .hidden-md { display: none !important; }
}

    @media (max-width: 1199px) {
      .hidden-md-down { display: none !important; }
    }

@media (min-width: 1200px) {
    .hidden-lg { display: none !important; }
}


/**
 * Screen Readers
 */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
}


/**
 * Print
 */

.visible-print,
.visible-print-block,
.visible-print-inline,
.visible-print-inline-block { display: none !important; }

@media print {
    .visible-print      { display: block !important; }
    table.visible-print { display: table; }
    tr.visible-print    { display: table-row !important; }
    th.visible-print,
    td.visible-print    { display: table-cell !important; }

    .visible-print-block        { display: block !important; }
    .visible-print-inline       { display: inline !important; }
    .visible-print-inline-block { display: inline-block !important; }

    .hidden-print { display: none !important; }
}



/**
 * Clears
 */
.clear--left    { clear: left !important; }
.clear--right   { clear: right !important; }
.clear--both    { clear: both !important; }
.clear--contain { overflow: hidden !important; }


/**
 * Text alignment
 */
.text--left     { text-align:left  !important; }
.text--center   { text-align:center!important; }
.text--right    { text-align:right !important; }


/**
 * Font weights
 */
.weight--light      { font-weight:300!important; }
.weight--normal     { font-weight:400!important; }
.weight--semibold   { font-weight:600!important; }
.weight--bold       { font-weight:700!important; }


/**
 * Borders
 */
.border--top    { border-top:       1px solid #eee }
.border--bottom { border-bottom:    1px solid #eee }
.border--left   { border-left:      1px solid #eee }
.border--right  { border-right:     1px solid #eee }
.border--all    { border:           1px solid #eee }


/**
 * Add/remove margins
 */
.push           { margin:       20px!important; }
.push--top      { margin-top:   20px!important; }
.push--right    { margin-right: 20px!important; }
.push--bottom   { margin-bottom:20px!important; }
.push--left     { margin-left:  20px!important; }
.push--ends     { margin-top:   20px!important; margin-bottom:20px!important; }
.push--sides    { margin-right: 20px!important; margin-left:  20px!important; }

.push-half          { margin:       10px!important; }
.push-half--top     { margin-top:   10px!important; }
.push-half--right   { margin-right: 10px!important; }
.push-half--bottom  { margin-bottom:10px!important; }
.push-half--left    { margin-left:  10px!important; }
.push-half--ends    { margin-top:   10px!important; margin-bottom:10px!important; }
.push-half--sides   { margin-right: 10px!important; margin-left:  10px!important; }

.flush          { margin:       0!important; }
.flush--top     { margin-top:   0!important; }
.flush--right   { margin-right: 0!important; }
.flush--bottom  { margin-bottom:0!important; }
.flush--left    { margin-left:  0!important; }
.flush--ends    { margin-top:   0!important; margin-bottom:0!important; }
.flush--sides   { margin-right: 0!important; margin-left:  0!important; }


/**
 * Add/remove paddings
 */
.soft           { padding:       20px!important; }
.soft--top      { padding-top:   20px!important; }
.soft--right    { padding-right: 20px!important; }
.soft--bottom   { padding-bottom:20px!important; }
.soft--left     { padding-left:  20px!important; }
.soft--ends     { padding-top:   20px!important; padding-bottom:20px!important; }
.soft--sides    { padding-right: 20px!important; padding-left:  20px!important; }

.soft-half           { padding:       10px!important; }
.soft-half--top      { padding-top:   10px!important; }
.soft-half--right    { padding-right: 10px!important; }
.soft-half--bottom   { padding-bottom:10px!important; }
.soft-half--left     { padding-left:  10px!important; }
.soft-half--ends     { padding-top:   10px!important; padding-bottom:10px!important; }
.soft-half--sides    { padding-right: 10px!important; padding-left:  10px!important; }

.hard           { padding:       0!important; }
.hard--top      { padding-top:   0!important; }
.hard--right    { padding-right: 0!important; }
.hard--bottom   { padding-bottom:0!important; }
.hard--left     { padding-left:  0!important; }
.hard--ends     { padding-top:   0!important; padding-bottom:0!important; }
.hard--sides    { padding-right: 0!important; padding-left:  0!important; }


/**
 * Positioning
 */

.affix--top    { position: fixed!important; top:    0!important; }
.affix--bottom { position: fixed!important; bottom: 0!important; }
.affix--left   { position: fixed!important; left:   0!important; }
.affix--right  { position: fixed!important; right:  0!important; }

.pull--right { float: right!important; }
.pull--left  { float: left !important; }

.center-block {
    display: block;
    margin-left: auto;
    margin-right: auto;
}