/*
Reset
Config
Typography
Layout
Components
Themes
Media Queries
*/

/* RESET
-------------------------------------*/
* {
margin: 0;
padding: 0; 
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block; 
}

img {
border: none; 
}

a {
text-decoration: none; 
}

/* CONFIG
----------------------------------*/
html {
font-size: 62.5%;
}

/* TYPOGRAPHY
-------------------------------------*/
.section-header h2, .article h2 {
padding: 0.5rem;
font-size: 1.8rem;
line-height: 2.2rem;
font-weight: 200;
}

.article h1 {
padding: 0 0 .5rem 0;
font-size: 1.6rem;
line-height: 1.8rem;
font-weight: 200;
}
.article h3 {
padding: .5rem;
font-size: 1.4rem;
line-height: 1.6rem;
font-weight: 600;
}

.large h1 {
padding: 0 0 0.5rem 0;
font-size: 2.2rem;
line-height: 2.2rem;
font-weight: 200;
}

.hero h1 {
padding: 0 0 .5rem 0;
font-size: 1.8rem;
line-height: 2rem;
font-weight: 200;
}

.article p, .article h1 {
padding: 5px;
padding: 0.5rem;
}

.article p {
font-size: 1.4rem;
line-height: 1.8rem;
}

/* LAYOUT
-------------------------------------*/
.page-section {
position: relative;
width: auto;
padding: 1rem 0;
}

.inner-section {
max-width: 1024px;
margin: 0 auto;
}

.flexwrap {
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row wrap;
-moz-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-ms-flex-pack: distribute;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between; 
}

.flexcolumn {
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: column nowrap;
-moz-flex-flow: column nowrap;
-ms-flex-flow: column nowrap;
flex-flow: column nowrap;
-ms-flex-pack: distribute;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
}

.justify-end {
-webkit-justify-content: flex-end;
-moz-justify-content: flex-end;
justify-content: flex-end;
}

.flex1 {
-webkit-box-flex: 1;
-webkit-flex: 1 0 0%;
-moz-box-flex: 1;
-moz-flex: 1 0 0%;
-ms-flex: 1 0 0%;
flex: 1 0 0; 
}

.flex2 {
-webkit-box-flex: 2;
-webkit-flex: 2 0 0%;
-moz-box-flex: 2;
-moz-flex: 2 0 0%;
-ms-flex: 2 0 0%;
flex: 2 0 0%; 
}

.flexcolumn .flexwrap {
-webkit-box-flex: 1;
-webkit-flex: 1 0 auto;
-moz-box-flex: 1;
-moz-flex: 1 0 auto;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
min-height: 1px; /* Fixes IE11 flexcolumn image sizing bug */
}

/* COMPONENTS
----------------------------------*/
/* Buttons */
.btn-more {
float: right;
padding: .5rem;
font-size: 2.6rem;
line-height: 2.2rem;
text-align: center;
}

/* Boxes */
.section-header {
overflow: hidden;
margin: 0.5rem;
}

.section-header h2 {
float: left;
}

.article, .ordered-list {
-webkit-box-flex: 1 0 180px;
-webkit-flex: 1 0 180px;
-moz-box-flex: 1 0 180px;
-moz-flex: 1 0 180px;
-ms-flex: 1 0 180px;
flex: 1 0 180px;
margin: 0.5rem;
min-height: 1px; /* Fixes IE11 flexcolumn image sizing bug */
}

.article img {
display: block;
width: 100%;
max-width: 620px;
margin: 0 auto 0.5rem auto;
}

.ordered-list ol {
list-style: decimal inside none;
}

.ordered-list ol li:last-child {
border-bottom: none;
}

.ordered-list ol li {
padding: 0.75rem 0;
font-size: 1.4rem;
line-height: 1.8rem;
font-weight: 200;
border-bottom: 1px solid #ccc;
}

.article-text ul {
font-size: 1.4rem;
line-height: 1.8rem;
font-weight: 200;
margin: 0 0 0 0.5rem;
padding: 0 0 0 0.5rem;
list-style: disc inside none;
}

.advert {
-webkit-box-flex: 0 0 300px;
-webkit-flex: 0 0 300px;
-moz-box-flex: 0 0 300px;
-moz-flex: 0 0 300px;
-ms-flex: 0 0 300px;
flex: 0 0 300px; 
margin: .5rem;
text-align: center;
}

#most-read li {
min-height: 30px;
}

/* Slide */
.slide {
display: none;
}
.slide-animate {
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
display: block;
}

.ng-hide {
display: none;
}

.slide.ng-hide-remove {
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
opacity: 0;
}

/* THEMES
----------------------------------*/

/* Media queries - desktop
------------------------------*/
@media screen and (min-width: 1281px) {
	
}

/* Media queries - large tablet
------------------------------*/
@media screen and (min-width: 1025px) and (max-width: 1280px) {
	
}

/* Media queries - large tablet
------------------------------*/
@media screen and (min-width: 801px) and (max-width: 1024px) {


}
/* Media queries - Medium devices
------------------------------*/
@media screen and (min-width: 541px) and (max-width: 800px) {
	.flex1 {
	-webkit-box-flex: 1 0 90%;
	-webkit-flex: 1 0 90%;
	-moz-box-flex: 1 0 90%;
	-moz-flex: 1 0 90%;
	-ms-flex: 1 0 90%;
	flex: 1 0 90%; 
	}

	.flex2 {
	-webkit-box-flex: 2 0 90%;
	-webkit-flex: 2 0 90%;
	-moz-box-flex: 2 0 90%;
	-moz-flex: 2 0 90%;
	-ms-flex: 2 0 90%;
	flex: 2 0 90%; 
	}

	/* Force four single columns to resize correctly */
	.flex1 .flex1.flexcolumn {
	-webkit-box-flex: 1;
	-webkit-flex: 1 0 0%;
	-moz-box-flex: 1;
	-moz-flex: 1 0 0%;
	-ms-flex: 1 0 0%;
	flex: 1 0 0%; 
	}

	.article h1, .article p {
	max-width: 620px;
	}
	.ordered-list ul {
	max-width: 620px;
	margin: 0 auto;
	}

	.sidebyside {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flexbox;
	display: flex;
	}

	.sidebyside figure {
	flex: 1 0 0%;
	max-width: 100%;
	}

	.sidebyside figure img {
	width: 98.55%;
	margin: 0;
	}

	.sidebyside .article-text {
	flex: 1 0 0%;
	max-width: 100%;
	}

	.advert {
	-webkit-box-flex: 1 0 300px;
	-webkit-flex: 1 0 300px;
	-moz-box-flex: 1 0 300px;
	-moz-flex: 1 0 300px;
	-ms-flex: 1 0 300px;
	flex: 1 0 300px;
	}
}

/* Media queries - Small devices
------------------------------*/
@media screen and (max-width: 540px) {
	.page-section {
	padding: 2rem 0 0 0;
	}

	.flex1, .article, .article-wrap, .flexcolumn, .ordered-list {
	-webkit-box-flex: 1 0 95%;
	-webkit-flex: 1 0 95%;
	-moz-box-flex: 1 0 95%;
	-moz-flex: 1 0 95%;
	-ms-flex: 1 0 95%;
	flex: 1 0 95%; 
	}

	.advert {
	-webkit-box-flex: 1 0 300px;
	-webkit-flex: 1 0 300px;
	-moz-box-flex: 1 0 300px;
	-moz-flex: 1 0 300px;
	-ms-flex: 1 0 300px;
	flex: 1 0 300px;
	margin: 1rem 0 0 0;
	padding: 0;
	}

	.flex2 {
	-webkit-box-flex: 2 0 95%;
	-webkit-flex: 2 0 95%;
	-moz-box-flex: 2 0 95%;
	-moz-flex: 2 0 95%;
	-ms-flex: 2 0 95%;
	flex: 2 0 95%; 
	}

	.ordered-list ol li:last-child {
	border-bottom: 1px solid #ccc;
	}

	.ordered-list ol li:nth-child(5) {
	margin: 0;
	}
}
