html, body {
    width: 100%;
    min-height: 100%;
    font-size: 1rem;
    background-color: white;
    padding: 0;
    margin: 0;
}

html, body, .pure-g [class *="pure-u"] {
    font-family: 'Open Sans', sans-serif;
    box-sizing: border-box;
}

img {
    max-width: 100%;
	border: none;
}

a, a:visited, a:active,
a.line-inverse:hover {
    color: #337ab7;
    text-decoration: underline;
}

a.line-inverse, a.line-inverse:visited, a.line-inverse:active, a.no-line {
    text-decoration: none;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.bigger {
    font-size: 1.2em;
}
.smaller {
    font-size: .8em;
}

.text-left {
    text-align: left !important;
}
.text-center {
    text-align: center !important;
}
.text-right {
    text-align: right !important;
}
.text-justify {
    text-align: justify !important;
}

.block {
    display: block;
}
.block-center {
    margin-left: auto;
    margin-right: auto;
}
.block-vcenter {
	display: flex;
	align-items: center;
}

.text-white {
    color: white !important;
}

.text-black {
    color: black !important;
}

.text-red {
    color: maroon !important;
}

.no-shadow {
    box-shadow: none !important;
    text-shadow: none !important;
}

.no-padding-t, .no-padding {
    padding-top: 0 !important;
}
.no-padding-b, .no-padding {
    padding-bottom: 0 !important;
}
.no-padding-l, .no-padding {
    padding-left: 0 !important;
}
.no-padding-r, .no-padding {
    padding-right: 0 !important;
}

.padding-t, .padding {
    padding-top: 1rem;
}
.padding-b, .padding {
    padding-bottom: 1rem;
}
.padding-r, .padding {
    padding-right: 1rem;
}
.padding-l, .padding {
    padding-left: 1rem;
}

.padding-half-t, .padding-half {
    padding-top: .5rem;
}
.padding-half-b, .padding-half {
    padding-bottom: .5rem;
}
.padding-half-r, .padding-half {
    padding-right: .5rem;
}
.padding-half-l, .padding-half {
    padding-left: .5rem;
}

.no-margin-t, .no-margin {
    margin-top: 0;
}
.no-margin-b, .no-margin {
    margin-bottom: 0;
}
.no-margin-l, .no-margin {
    margin-left: 0;
}
.no-margin-r, .no-margin {
    margin-right: 0;
}

/* xs */
@media screen and (max-width: 35.45em) {
    body.a-on .no-margin-xs {
        margin: 0 !important;
    }
    body.a-on .no-padding-xs {
        padding: 0 !important;
    }
}
/* sm */
@media screen and (min-width: 35.5em) and (max-width: 47.95em) {
    body.a-on .no-margin-sm {
        margin: 0 !important;
    }
    body.a-on .no-padding-sm {
        padding: 0 !important;
    }
}
/* md */
@media screen and (min-width: 48em) and (max-width: 63.95em) {
    body.a-on .no-margin-md {
        margin: 0 !important;
    }
    body.a-on .no-padding-md {
        padding: 0 !important;
    }
}
/* lg */
@media screen and (min-width: 64em) and (max-width: 79.95em)	{
    .no-margin-lg {
        margin: 0 !important;
    }
    .no-padding-lg {
        padding: 0 !important;
    }
}
/* xl */
@media screen and (min-width: 80em)	{
    .no-margin-xl {
        margin: 0 !important;
    }
    .no-padding-xl {
        padding: 0 !important;
    }
}


.margin-t, .margin {
    margin-top: 1rem !important;
}
.margin-b, .margin {
    margin-bottom: 1rem !important;
}
.margin-r, .margin {
    margin-right: 1rem !important;
}
.margin-l, .margin {
    margin-left: 1rem !important;
}

.margin-half-t, .margin-half {
    margin-top: .5rem;
}
.margin-half-b, .margin-half {
    margin-bottom: .5rem;
}
.margin-half-r, .margin-half {
    margin-right: .5rem;
}
.margin-half-l, .margin-half {
    margin-left: .5rem;
}

.full-width {
    width: 100%;
    box-sizing: border-box;
}

/* xs */
@media screen and (max-width: 35.45em) {
    .hidden-xs {
        display: none !important;
    }
}
/* sm */
@media screen and (min-width: 35.5em) and (max-width: 47.95em) {
    .hidden-sm {
        display: none !important;
    }
}
/* md */
@media screen and (min-width: 48em) and (max-width: 63.95em) {
    .hidden-md {
        display: none !important;
    }
}
/* lg */
@media screen and (min-width: 64em) and (max-width: 79.95em)	{
    .hidden-lg {
        display: none !important;
    }
}
/* xl */
@media screen and (min-width: 80em)	{
    .hidden-xl {
        display: none !important;
    }
}

.photo-cover {
    background: no-repeat center center;
    background-size: cover;
}

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

body .sticky-footer, body > main {
    flex: 1 0 auto;
}

.video-wrapper-16-9 {
    position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}

.video-wrapper-16-9 iframe,
.video-wrapper-16-9 embed,
.video-wrapper-16-9 video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hint {
    color: #AAA;
}

.circle {
    border-radius: 50%;
    border: .7em solid rgba(255, 255, 255, 0.03);
    box-sizing: border-box;
}

.container {
    margin-left: -.5em;
    margin-right: -.5em;
}

.container > * {
    padding-left: .5em;
    padding-right: .5em;
}

.max-width {
	max-width: 77rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 0 auto;
	position: relative;
}

body.a-off {
	min-width: 63.95em;
}

/* md- */
@media screen and (max-width: 63.95em)	{
    body.a-off .pure-u-1.pure-u-lg-1-3,
	body.a-off .pure-u-1.pure-u-md-1-3 {
		width: 33%;
	}
	
	body.a-off .pure-u-1.pure-u-lg-1-4,
	body.a-off .pure-u-1.pure-u-md-1-4 {
		width: 25%;
	}
	body.a-off .pure-u-1.pure-u-lg-3-4 {
		width: 75%;
	}
	
	body.a-off .pure-u-1.pure-u-md-1-5 {
		width: 20%;
	}
	body.a-off .pure-u-1.pure-u-md-4-5 {
		width: 80%;
	}
	
	body.a-off .pure-u-1.pure-u-md-2-3 {
		width: 66%;
	}
	body.a-off .pure-u-1.pure-u-md-1-2 {
		width: 50%;
	}
	
	body.a-off .hidden-md, body.a-off .hidden-lg, body.a-off .hidden-xl {
		display: none !important;
	}
	
	body.a-off .hidden-xs, body.a-off .hidden-sm {
		display: block !important;
	}
}