@font-face {
	font-family: 'Source Sans Pro';
	src: url('sourcesanspro-regular-puu.eot');
    src: local('Source Sans Pro Regular'),
		url('sourcesanspro-regular-puu.eot') format('embedded-opentype'),
		url('sourcesanspro-regular-puu.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Sans Pro';
	font-weight: 600;
	src: url('sourcesanspro-semibold-puu.eot');
    src: local('Source Sans Pro Semibold'),
		url('sourcesanspro-semibold-puu.eot') format('embedded-opentype'),
		url('sourcesanspro-semibold-puu.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Serif Pro';
	src: url('sourceserifpro-regular-puu.eot');
    src: local('Source Serif Pro Regular'),
		url('sourceserifpro-regular-puu.eot') format('embedded-opentype'),
		url('sourceserifpro-regular-puu.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Serif Pro';
	font-weight: 600;
	src: url('SourceSerifPro-Semibold.eot');
    src: local('Source Serif Pro Semibold'),
		url('SourceSerifPro-Semibold.eot') format('embedded-opentype'),
		url('SourceSerifPro-Semibold.ttf') format('truetype');
}

@font-face {
	font-family: 'Source Serif Pro';
	font-weight: bold;
	src: url('SourceSerifPro-Bold.eot');
    src: local('Source Serif Pro Bold'),
		url('SourceSerifPro-Bold.eot') format('embedded-opentype'),
		url('SourceSerifPro-Bold.ttf') format('truetype');
}

body {
	font-size: 1.0625em; /* 17/16 */
	line-height: 1.3529; /* 23/17 */
	font-family: 'Source Serif Pro';
	color: #00060d;
	background-color: #fff;
	margin: 0;
	-webkit-font-smoothing: antialiased;
	text-align: center;
	min-width: 240px;
}

body > *,
header .puu-grp {
	max-width: 290px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

header .puu-grp {
	margin-left: 15px;
	margin-right: 15px;
	padding-bottom: 10px;
}

body > header {
	background-color: #f5f5f5;
	padding-top: 20px;
	border-bottom: 10px solid #f0f0f0;
	max-width: none;
	position: relative;
}

figure {
	margin: 0;
}

figure .puu-wrp {
	position: relative;
	display: block;
}

figure .puu-wrp:after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: linear-gradient(0deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0) 60px );
	z-index: 1;
}

figure .puu-wnd {
	color: #fff;
	position: absolute;
	right: 10px;
	bottom: 10px;
	z-index: 2;
}

figure img {
	width: 100%;
	height: auto;
	display: block;
}

figure figcaption {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 0.7647em; /* 13/17 */
	line-height: 1.3077; /* 17/13 */
	border-bottom: 1px solid #e5e5e5;
}

*[type="radio"] + span:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 9999px;
	border: 1px solid #bdbdbd;
}

*[type="radio"]:checked + span:before {
	width: 4px;
	height: 4px;
	border: 6px solid #006bff;
}

.puu-sty[type="radio"] {
	display: none;
}

.puu-sty[type="radio"] + span {
	position: relative;
	padding-left: 28px;
}

.puu-js figure .puu-gal {
	display: none;
}

.puu-galleried *[data-puu_gallery] .puu-wrp {
	cursor: pointer;
}

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

abbr {
	border-bottom: none;
	text-decoration: none;
}

article a[href] {
	color: #006bff;
}

article a[href]:hover {
	color: #033478;
}

.puu-bnr, .advertisement {
	text-align: center;
}

.puu-bnr iframe {
	overflow: hidden;
}

.puu-jmp {
	position: absolute;
	left: -9999px;
	top: auto;
	z-index: 10;
}

.puu-jmp a:focus {
	position: absolute;
	margin-left: 9999px;
	white-space: nowrap;
	color: #000;
	background-color: #fff;
}

.puu-lgo {
	font-size: 1.1765em; /* 20/17 */
	color: #033478;
	text-transform: uppercase;
	font-weight: bold;
	white-space: nowrap;
	display: inline-block;
	max-width: calc(100vw - 118px);
	min-width: 125px;
}

.puu-lgo h1 {
	font-size: 1.0000em; /* 20/20 */
	margin: 0;
}

.puu-lgo img {
	max-width: 100%;
}

.puu-usr {
	font-size: 0.8824em; /* 15/17 */
	display: block;
	position: absolute;
	top: 62px;
	left: 0;
	right: 0;
	color: #fff;
	background-color: #006bff;
	padding: 0;
	height: 0;
}

.puu-lin {
	display: block;
	right: 0;
	width: 21px;
	height: 21px;
	background-color: transparent;
	background-image: url('usr.svg');
	background-repeat: no-repeat;
	background-size: cover;
	border: none;
	float: right;
	text-indent: -9999px;
	cursor: pointer;
	position: relative;
	top: -42px;
}

.puu-lin + * {
	display: none;
}

.puu-acc .puu-usr {
	display: none;
}

body > header nav em {
	font-style: inherit;
	color: #006bff;
}

.puu-ham {
	border: none;
	background-color: transparent;
	display: block;
	width: 24px;
	height: 20px;
	background-image: url('ham.svg');
	background-position: 50% 50%;
	background-size: 24px 20px;
	background-repeat: no-repeat;
	float: left;
	padding: 0;
	margin-right: 10px;
	margin-top: 1px;
}

.puu-ham + * {
	margin-left: 10px;
}

.puu-js header .puu-hdr {
	display: none;
}

.puu-show_menu header .puu-hdr {
	display: block;
}

.puu-pof {
	display: none;
}

body > header .puu-wrp_fnd {
	height: 0;
	transition: height .12s;
	overflow: hidden;
}

.puu-flt {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 1.0667em; /* 16/15 */
	margin-top: 20px;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}

.puu-js.puu-show_flt .puu-flt p:after {
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	transition: transform .12s;
}

.puu-js .puu-flt p:after {
	content: "";
	display: block;
	width: 12px;
	height: 9px;
	background-image: url('arr.svg');
	background-size: 12px 9px;
	position: absolute;
	right: 0;
	top: 10px;
}

.puu-flt p {
	font-size: 1.1333em; /* 17/15 */
	font-weight: 600;
	position: relative;
	cursor: pointer;
}

.puu-flt input + span {
	text-transform: lowercase;
}

.puu-flt .puu-guide {
	color: #e56a3d;
}

.puu-js .puu-realms {
	display: none;
}

.puu-realms {
	padding-left: 0;
}

.puu-realms li {
	display: block;
	padding-top: 2px;
	padding-bottom: 2px;
}

.puu-realms *[type="radio"] + span:before {
	top: 2px;
}

.puu-res {
	padding-left: 0;
}

.puu-res li {
	display: block;
	border-top: 1px solid #e5e5e5;
	padding-top: 15px;
	padding-bottom: 15px;
}

.puu-res a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.puu-res img {
	width: 100%;
	height: auto;
}

.puu-res h2,
.puu-res a > div {
	font-family: 'Source Serif Pro';
}

.puu-res h2 {
	font-size: 1.0667em; /* 16/15 */
	font-weight: 600;
	margin: 0;
}

.puu-res h2 + p {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 0.9333em; /* 14/15 */
	text-transform: uppercase;
	margin: 0;
	margin-top: 5px;
}

.puu-res h2 + p > span:first-child {
	font-weight: 600;
}

.puu-res h2 + p > span + time:before {
	content: " - ";
}

.puu-res a > div,
.puu-res a > div > p {
	margin: 0;
}

.puu-res a > div {
	margin-top: 5px;
}

.puu-ank {
	padding-top: 20px;
	padding-bottom: 20px;
}

.puu-ank h5 {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 1.2105em; /* 23/19 */
	margin-top: 0;
	margin-bottom: 33px;
}

.puu-ank h5 a {
	border-bottom: 4px solid #e1dede;
}

.puu-ank ul {
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 30px;
}

.puu-ank li {
	display: table;
}

.puu-ank li + li {
	margin-top: 30px;
}

.puu-ank a {
	color: inherit;
	text-decoration: none;
}

.puu-ank li > a {
	display: table-row;
}

.puu-ank a > div {
	display: table-cell;
	vertical-align: top;
}

.puu-ank a > div + div {
	vertical-align: middle;
}

.puu-ank img {
	margin-right: 18px;
	display: block;
}

.puu-ank h6 {
	font-size: 0.8947em; /* 17/19 */
	margin: 0;
	font-weight: 600;
}

.puu-ank h6 + p {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 0.7368em; /* 14/19 */
	text-transform: uppercase;
	margin: 0;
}

.puu-ank .puu-fup {
	font-size: 0.7500em; /* 15/20 */
}

.puu-prm {
	display: block;
	width: 58px;
	height: 30px;
	text-indent: -9999px;
	background-image: url('wall.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 50%;
	margin-top: 20px;
}

.puu-free,
.puu-eng {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 0.8500em; /* 17/20 */
	background-color: #e9f1fd;
	padding: 22px;
	margin-top: 20px;
}

.puu-eng:first-child {
	margin-top: 0;
}

.puu-eng a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.puu-eng a .puu-hot {
	color: #006bff;
	font-weight: 600;
}

.puu-free h6,
.puu-eng h6 {
	font-size: 1.3529em; /* 23/17 */
	margin: 0;
}

.puu-eng .puu-cta:before {
	content: "";
	position: absolute;
	display: block;
	width: 15px;
	background-image: url('lock.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 0 50%;
	top: 0;
	bottom: 0;
	left: 20px;
}

.puu-eng .puu-cta {
	display: inline-block;
	position: relative;
	padding-left: 46px;
	padding-right: 24px;
}

.puu-eng a > *:last-child {
	margin-bottom: 0;
}

.puu-free .puu-cta {
	display: inline-block;
}

.puu-free_alt {
	background-color: #faf1ee;
}

.puu-free_alt .puu-fup {
	background-image: url('larr_alt.svg');
}

.puu-free_pic {
	background-color: #fff;
	border: 1px solid #e1dede;
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
}

.puu-free_pic > * {
	padding-left: 21px;
	padding-right: 21px;
}

.puu-free_pic > img {
	padding-left: 0;
	padding-right: 0;
	margin-top: -1px;
	margin-left: -1px;
	margin-right: -1px;
	margin-bottom: 1em;
	width: calc(100% + 2px);
	height: auto;
}

.puu-free_alt .puu-cta {
	background-color: #e56a3d;
}

.puu-free_alt .puu-cta:hover {
	background-color: #dd5726;
}

.puu-free_pic > .puu-cta {
	margin-left: 21px;
	margin-right: 21px;
}

.puu-mq_marker {
	z-index: 0;
}

.puu-sty[type="checkbox"] + span:before,
.puu-sty[type="radio"] + span:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 9999px;
	border: 1px solid #006bff;
}

.puu-sty[type="checkbox"] + span:before {
	border-radius: 0;
}

.puu-sty[type="checkbox"]:checked + span:before,
.puu-sty[type="radio"]:checked + span:before {
	width: 4px;
	height: 4px;
	border: 6px solid #006bff;
}

.puu-sty[type="checkbox"],
.puu-sty[type="radio"] {
	position: absolute;
	opacity: 0;
}

.puu-sty[type="checkbox"] + span,
.puu-sty[type="radio"] + span {
	position: relative;
	display: block;
	padding-left: 28px;
}

.puu-sty[type="radio"]:checked + span {
	color: #006bff;
}

@media screen and (max-width: 366px) {

	aside .puu-logolink {
		overflow: hidden;
	}

}

.puu-ask {
	font-size: 1.1176em; /* 19/17 */
	display: block;
	border-left: 4px solid #e1dede;
	padding-left: 16px;
	color: #919191;
	text-decoration: none;
	margin-bottom: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-weight: 600;
}

.puu-ask > p {
	margin-top: 0;
	margin-bottom: 0;
}

.puu-ask > span {
	display: block;
	color: #00060d;
	background-image: url('ask.png');
	background-size: 28px 28px;
	background-repeat: no-repeat;
	background-position: 0 50%;
	padding-left: 38px;
	min-height: 28px;
	margin-top: 5px;
}

.puu-cnt .puu-soc {
	padding-left: 0;
	margin: 0;
}

.puu-cnt .puu-soc li {
	display: inline-block;
	margin-right: 3px;
}

.puu-cnt .puu-soc li:last-child {
	border-right: 0;
}

.puu-cnt .puu-soc li a {
	display: inline-block;
	width: 28px;
	height: 28px;
	text-indent: -9999px;
	border: 2px solid #f5f5f5;
	border-radius: 9999px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.puu-cnt .puu-soc .puu-fb a {
	border-color: #033478;
	background-image: url('fb.svg');
	background-size: 11px 19px;
}

.puu-cnt .puu-soc .puu-mail a {
	border-color: #686868;
	background-image: url('share_mail.svg');
	background-size: 20px 14px;
}

.puu-cnt .puu-soc .puu-link a {
	border-color: #006bff;
	background-image: url('share_link.svg');
	background-size: 20px 14px;
}

.puu-cnt .puu-soc .puu-tw a {
	border-color: #02a5ec;
	background-image: url('share_tw.svg');
	background-size: 18px 15px;
}

.puu-cnt .puu-soc .puu-prn a {
	border-color: #e56a3d;
	background-image: url('share_prn.svg');
	background-size: 18px 18px;
}

@media screen and (min-width: 320px) {

	header .puu-grp {
		margin-left: auto;
		margin-right: auto;
	}

	.puu-mobile .advertisement.leaderboard {
		margin-left: -15px;
		margin-right: -15px;
	}
}

@media screen and (min-width: 336px) {

	.puu-mobile .advertisement.rectangle {
		margin-left: -23px;
		margin-right: -23px;
	}

}

@media screen and (min-width: 768px) {

	body {
		font-size: 1.2500em; /* 20/16 */
	}

	body > *,
	header .puu-grp,
	body > header .puu-hdr > * {
		max-width: 740px;
	}

	.puu-bnr.puu-leaderboard {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	main .puu-leaderboard {
		margin-top: 30px;
		margin-bottom: 30px;
	}

	.puu-ham {
		margin-top: 4px;
	}

}

@media screen and (min-width: 1200px) {

	.puu-mq_marker {
		z-index: 1200;
	}

	main:before,
	main:after,
	.puu-cnt:before,
	.puu-cnt:after {
		content: "";
		display: table;
	}

	main:after,
	.puu-cnt:after {
		clear: both;
	}

	.puu-cnt {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	main {
		width: 770px;
		float: left;
	}

	main + aside {
		width: 370px;
		float: right;
	}

	body > *,
	header .puu-grp,
	body > header .puu-hdr > * {
		max-width: 1170px;
	}

	body > header {
		background-color: transparent;
		border-top: 1px solid #e4e4e4;
		border-bottom: 1px solid #e4e4e4;
	}

	.puu-ham + * {
		margin-left: 0;
	}

	.puu-lgo img {
		width: 437px;
		height: 48px;
	}

	.puu-pof {
		font-family: 'Source Serif Pro';
		font-size: 0.6667em; /* 16/24 */
		display: block;
		font-weight: bold;
		text-transform: none;
	}

	.puu-ham {
		display: none;
	}

	.puu-js header .puu-hdr {
		border-top: 1px solid #e4e4e4;
		display: block;
	}

	body > header nav > ul:before,
	body > header nav > ul:after {
		content: "";
		display: table;
	}

	body > header nav > ul:after {
		clear: both;
	}

	body > header nav li {
		float: left;
	}

	body > header nav li + li {
		margin-left: 40px;
	}

	body > header nav li ul {
		display: none;
	}

	.puu-srv {
		clear: both;
		position: relative;
	}

	.puu-srv .puu-acc {
		font-size: 1.0000em; /* 15/15 */
		font-size: 0.8824em; /* 15/17 */
		text-transform: uppercase;
		max-width: 600px;
		position: absolute;
		right: 0;
		top: -144px;
	}

	.puu-srv .puu-cta {
		font-size: 0.8824em; /* 15/17 */
		display: inline;
	}

	.puu-srv .puu-cta .puu-lng {
		display: none;
	}

	.puu-usr {
		position: static;
		background-image: none;
		text-indent: 0;
		width: auto;
		height: auto;
	}

	.puu-exp {
		max-width: 246px;
		position: absolute;
		right: 0;
		top: -57px;
	}

	body > header .puu-fnd {
		display: none;
	}

	body > header .puu-srv .puu-chn ~ .puu-fnd {
		display: inline-block;
	}

	body > header .puu-exp {
		max-width: 350px;
	}

	body > header .puu-exp .puu-chn:before,
	body > header .puu-exp .puu-chn:after {
		display: none;
	}

	body > header .puu-exp .puu-chn {
		font-size: 0.7500em; /* 15/20 */
		border-top: none;
		border-bottom: none;
		margin-top: 30px;
		margin-bottom: 0;
		display: inline-block;
	}

	body > header .puu-exp .puu-chn li {
		width: auto;
		text-align: left;
		margin: 0;
		padding-left: 18px;
		margin-right: 18px;
	}

	body > header .puu-tgl_fnd {
		display: inline-block;
		width: 20px;
		height: 20px;
		background-image: url('fnd.svg');
		background-size: 20px 20px;
		background-repeat: no-repeat;
		background-position: 100% 60%;
		cursor: pointer;
		border-left: 2px solid #d7d7d7;
		padding-left: 18px;
	}

	.puu-show_fnd .puu-wrp_fnd {
		display: block;
		border-top: 20px solid transparent;
	}

	body > header .puu-hdr {
		margin-top: 20px;
	}

	body > header .puu-hdr nav {
		font-size: 0.9500em; /* 19/20 */
	}

	body > header .puu-hdr nav > ul {
		padding-top: 0;
		margin-bottom: 0;
	}

	body > header .puu-hdr nav > ul > li,
	body > header .puu-hdr nav > ul > li:first-child {
		border: none;
	}

	body > header .puu-hdr nav li a {
		padding-top: 2px;
		padding-bottom: 6px;
	}

	.puu-lgo + .puu-usr {
		display: none;
	}

	.puu-acc .puu-cta,
	.puu-acc .puu-usr {
		vertical-align: top;
	}

	.puu-acc .puu-usr {
		display: inline-block;
		color: #006bff;
		background-color: transparent;
		margin-left: 10px;
	}

	.puu-acc .puu-usr .puu-lin {
		position: static;
		text-indent: 0;
		margin-left: 18px;
		padding-left: 28px;
		padding-right: 10px;
		width: auto;
		height: auto;
		background-size: 21px 21px;
	}

	.puu-flt {
		font-size: 0.8947em; /* 17/19 */
		width: 280px;
		float: left;
		border: none;
		font-weight: 600;
	}


	.puu-flt + * {
		width: 470px;
		float: right;
	}

	.puu-flt p {
		display: none;
	}

	.puu-flt {
		font-size: 0.8500em; /* 17/20 */
		border-left: 2px solid #e1dede;
	}

	.puu-flt ul {
		margin-top: 0;
		margin-bottom: 0;
	}

	.puu-js .puu-realms {
		display: block;
	}

	.puu-realms li {
	    padding-bottom: 11px;
	    padding-top: 11px;
	}

	.puu-realms *[type="radio"] + span:before {
		display: none;
	}

	.puu-realms *[type="radio"]:checked + span:before {
		display: block;
		width: 3px;
		height: 31px;
		border: none;
		border-radius: 0;
		background-color: #006bff;
		top: -4px;
		left: -2px;
	}

	aside .puu-large_rectangle {
		background-color: #f2f2f2;
		text-align: center;
	}

	aside .puu-large_rectangle > * {
		border-top: 12px solid transparent !important;
		border-bottom: 12px solid transparent !important;
	}

	body .puu-hdr nav ul .puu-subbed > a:after,
	body .puu-hdr nav ul .puu-subbed > em > a:after {
		display: none;
	}

	aside .puu-pop:first-child h6 {
		margin-top: 0;
	}

	.puu-lin[href] {
		background-image: none;
	}

	body .puu-acc .puu-usr .puu-lin[href] {
		margin-left: 0;
		padding-left: 10px;
	}

	.puu-prm {
		margin-top: 0;
	}

}
