/*
 * Longform — self-hosted grid + responsive utilities + icon font.
 *
 * This file replaces the Bootstrap 3.4.1 CDN stylesheet. It is a faithful,
 * self-contained reproduction of the *only* parts of Bootstrap the theme and
 * its content actually depend on:
 *
 *   1. The 12-column grid (.container, .container-fluid, .row, .col-*) with
 *      Bootstrap 3's exact widths, 15px gutters and 768/992/1200 breakpoints.
 *   2. The responsive visibility utilities (.visible-*/.hidden-*) used by the
 *      mobile menu toggle and potentially by post content.
 *   3. The Glyphicons Halflings icon font (search / chevrons / list), served
 *      from the theme's own bundled /fonts/ files.
 *
 * Widths, breakpoints and percentages are copied verbatim from Bootstrap
 * 3.4.1 so existing layout is pixel-identical. Component CSS (navbar, buttons,
 * forms, etc.) is intentionally omitted — the theme styles those itself.
 */

/* ==========================================================================
   Global box-sizing reset.
   The theme was authored against Bootstrap's universal border-box reset and
   does NOT declare a global box-sizing of its own. Reproducing it verbatim
   here is essential: without it every .col-* (and many other elements) would
   fall back to content-box and the 15px gutters would break all widths.
   ========================================================================== */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* ==========================================================================
   Grid: containers
   ========================================================================== */

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

@media (min-width: 768px) {
	.container { width: 750px; }
}
@media (min-width: 992px) {
	.container { width: 970px; }
}
@media (min-width: 1200px) {
	.container { width: 1170px; }
}

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

/* Bootstrap clearfix (applied to containers and rows) */
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
	content: " ";
	display: table;
}
.container:after,
.container-fluid:after,
.row:after {
	clear: both;
}

/* ==========================================================================
   Helper utilities (Bootstrap 3.4.1).
   .clearfix is used directly in the theme markup — e.g. the trailing
   <div class="clearfix"> that contains the floated featured-post columns and
   the floated header columns. The theme never defined these itself; it relied
   on Bootstrap's. Omitting .clearfix collapses every floated row at >=768px.
   ========================================================================== */

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}

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

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

/* ==========================================================================
   Grid: columns
   ========================================================================== */

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

/* Extra small (always applied) */
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
	float: left;
}
.col-xs-12 { width: 100%; }
.col-xs-11 { width: 91.66666667%; }
.col-xs-10 { width: 83.33333333%; }
.col-xs-9  { width: 75%; }
.col-xs-8  { width: 66.66666667%; }
.col-xs-7  { width: 58.33333333%; }
.col-xs-6  { width: 50%; }
.col-xs-5  { width: 41.66666667%; }
.col-xs-4  { width: 33.33333333%; }
.col-xs-3  { width: 25%; }
.col-xs-2  { width: 16.66666667%; }
.col-xs-1  { width: 8.33333333%; }
.col-xs-offset-12 { margin-left: 100%; }
.col-xs-offset-11 { margin-left: 91.66666667%; }
.col-xs-offset-10 { margin-left: 83.33333333%; }
.col-xs-offset-9  { margin-left: 75%; }
.col-xs-offset-8  { margin-left: 66.66666667%; }
.col-xs-offset-7  { margin-left: 58.33333333%; }
.col-xs-offset-6  { margin-left: 50%; }
.col-xs-offset-5  { margin-left: 41.66666667%; }
.col-xs-offset-4  { margin-left: 33.33333333%; }
.col-xs-offset-3  { margin-left: 25%; }
.col-xs-offset-2  { margin-left: 16.66666667%; }
.col-xs-offset-1  { margin-left: 8.33333333%; }
.col-xs-offset-0  { margin-left: 0; }

/* Small (>= 768px) */
@media (min-width: 768px) {
	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
	.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
		float: left;
	}
	.col-sm-12 { width: 100%; }
	.col-sm-11 { width: 91.66666667%; }
	.col-sm-10 { width: 83.33333333%; }
	.col-sm-9  { width: 75%; }
	.col-sm-8  { width: 66.66666667%; }
	.col-sm-7  { width: 58.33333333%; }
	.col-sm-6  { width: 50%; }
	.col-sm-5  { width: 41.66666667%; }
	.col-sm-4  { width: 33.33333333%; }
	.col-sm-3  { width: 25%; }
	.col-sm-2  { width: 16.66666667%; }
	.col-sm-1  { width: 8.33333333%; }
	.col-sm-offset-12 { margin-left: 100%; }
	.col-sm-offset-11 { margin-left: 91.66666667%; }
	.col-sm-offset-10 { margin-left: 83.33333333%; }
	.col-sm-offset-9  { margin-left: 75%; }
	.col-sm-offset-8  { margin-left: 66.66666667%; }
	.col-sm-offset-7  { margin-left: 58.33333333%; }
	.col-sm-offset-6  { margin-left: 50%; }
	.col-sm-offset-5  { margin-left: 41.66666667%; }
	.col-sm-offset-4  { margin-left: 33.33333333%; }
	.col-sm-offset-3  { margin-left: 25%; }
	.col-sm-offset-2  { margin-left: 16.66666667%; }
	.col-sm-offset-1  { margin-left: 8.33333333%; }
	.col-sm-offset-0  { margin-left: 0; }
}

/* Medium (>= 992px) */
@media (min-width: 992px) {
	.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
	.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
		float: left;
	}
	.col-md-12 { width: 100%; }
	.col-md-11 { width: 91.66666667%; }
	.col-md-10 { width: 83.33333333%; }
	.col-md-9  { width: 75%; }
	.col-md-8  { width: 66.66666667%; }
	.col-md-7  { width: 58.33333333%; }
	.col-md-6  { width: 50%; }
	.col-md-5  { width: 41.66666667%; }
	.col-md-4  { width: 33.33333333%; }
	.col-md-3  { width: 25%; }
	.col-md-2  { width: 16.66666667%; }
	.col-md-1  { width: 8.33333333%; }
	.col-md-offset-12 { margin-left: 100%; }
	.col-md-offset-11 { margin-left: 91.66666667%; }
	.col-md-offset-10 { margin-left: 83.33333333%; }
	.col-md-offset-9  { margin-left: 75%; }
	.col-md-offset-8  { margin-left: 66.66666667%; }
	.col-md-offset-7  { margin-left: 58.33333333%; }
	.col-md-offset-6  { margin-left: 50%; }
	.col-md-offset-5  { margin-left: 41.66666667%; }
	.col-md-offset-4  { margin-left: 33.33333333%; }
	.col-md-offset-3  { margin-left: 25%; }
	.col-md-offset-2  { margin-left: 16.66666667%; }
	.col-md-offset-1  { margin-left: 8.33333333%; }
	.col-md-offset-0  { margin-left: 0; }
}

/* Large (>= 1200px) */
@media (min-width: 1200px) {
	.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
	.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
		float: left;
	}
	.col-lg-12 { width: 100%; }
	.col-lg-11 { width: 91.66666667%; }
	.col-lg-10 { width: 83.33333333%; }
	.col-lg-9  { width: 75%; }
	.col-lg-8  { width: 66.66666667%; }
	.col-lg-7  { width: 58.33333333%; }
	.col-lg-6  { width: 50%; }
	.col-lg-5  { width: 41.66666667%; }
	.col-lg-4  { width: 33.33333333%; }
	.col-lg-3  { width: 25%; }
	.col-lg-2  { width: 16.66666667%; }
	.col-lg-1  { width: 8.33333333%; }
	.col-lg-offset-12 { margin-left: 100%; }
	.col-lg-offset-11 { margin-left: 91.66666667%; }
	.col-lg-offset-10 { margin-left: 83.33333333%; }
	.col-lg-offset-9  { margin-left: 75%; }
	.col-lg-offset-8  { margin-left: 66.66666667%; }
	.col-lg-offset-7  { margin-left: 58.33333333%; }
	.col-lg-offset-6  { margin-left: 50%; }
	.col-lg-offset-5  { margin-left: 41.66666667%; }
	.col-lg-offset-4  { margin-left: 33.33333333%; }
	.col-lg-offset-3  { margin-left: 25%; }
	.col-lg-offset-2  { margin-left: 16.66666667%; }
	.col-lg-offset-1  { margin-left: 8.33333333%; }
	.col-lg-offset-0  { margin-left: 0; }
}

/* ==========================================================================
   Responsive visibility utilities (Bootstrap 3.4.1 breakpoints)
   ========================================================================== */

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

@media (max-width: 767px) {
	.visible-xs { display: block !important; }
	.hidden-xs { display: none !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
	.visible-sm { display: block !important; }
	.hidden-sm { display: none !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	.visible-md { display: block !important; }
	.hidden-md { display: none !important; }
}
@media (min-width: 1200px) {
	.visible-lg { display: block !important; }
	.hidden-lg { display: none !important; }
}

/* ==========================================================================
   Glyphicons Halflings — self-hosted from the theme's /fonts/ directory.
   Only the glyphs the theme renders are declared. Matches Bootstrap 3.4.1
   codepoints so icons are visually identical to the CDN version.
   ========================================================================== */

@font-face {
	font-family: 'Glyphicons Halflings';
	src: url('../fonts/glyphicons-halflings-regular.eot');
	src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
		 url('../fonts/glyphicons-halflings-regular.woff') format('woff'),
		 url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),
		 url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

.glyphicon {
	position: relative;
	top: 1px;
	display: inline-block;
	font-family: 'Glyphicons Halflings';
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.glyphicon-search:before         { content: "\e003"; }
.glyphicon-list:before           { content: "\e056"; }
.glyphicon-chevron-left:before   { content: "\e079"; }
.glyphicon-chevron-right:before  { content: "\e080"; }
