/*

    ____  ____ ___  __/ /    ( )___ _______   __( )____
   / __ \/ __ `/ / / / /    / / __ `/ ___/ | / / / ___/
  / /_/ / /_/ / /_/ / /    / / /_/ / /   | |/ / (__  ) 
 / .___/\__,_/\__,_/_/  __/ /\__,_/_/    |___/_/____/  
/_/                    /___/ 



Theme Name:				rats
Theme URI:				https://pjrvs.com
Author:						Paul Jarvis
Author URI:				https://pjrvs.com
Description:			If you're not me, GTFO.
Version:					1.0
Text Domain:			rats
Tags:							one-column

font sizes:				16, 20, 24, 34
"europa":					300, 300 italic, 400, 400 italic

dark							#222
medium						#555
light							#999 / #f5f5f5

teal							#00d1bc
pink							#f9415d
purple						#9100dc
blue							#159fff

*/










/* = structure ------------------- */

::-moz-selection { background: #00d1bc; color: #fff; text-shadow: none; }
::selection { background: #00d1bc; color: #fff; text-shadow: none; }

::-webkit-input-placeholder { color: #999; padding-top: 2px; }
::-moz-placeholder { color: #999; } 
:-ms-input-placeholder { color: #999; }
input:-webkit-autofill, select:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #f5f5f5 inset; }

canvas { display: block; position: fixed; z-index: 1; pointer-events: none; top: 0; left: 0; width: 100%; height: 100%; }

.clearfix { zoom: 1; width: 100%; }
.clearfix:before, .clearfix:after { content:" "; display: table; }
.clearfix:after { clear: both; }


* { margin: 0; padding: 0; background: transparent; border: 0; outline: 0; font-size: 100%; vertical-align: top; line-height: 1.4; }

body { font: 300 20px/1.4 "europa", sans-serif; color: #555; text-align: center; padding: 12px; background: #fff; }

	section { text-align: left; margin-top: 12px; }

.wp-caption, .wp-caption-text, .sticky, .screen-reader-text, .gallery-caption, .bypostauthor, .alignright, .alignleft, .aligncenter {}

.updated { display: none; }

.rcp_terms_fieldset input { width: auto !important; appearance: checkbox !important; -webkit-appearance: checkbox; }
.rcp_terms_fieldset label small { width: auto; display: inline-block; }






/* = navigation ------------------ */

.logo { max-width: 32px; }
	svg path { transition: ease all .4s; }	
	svg:hover path { fill: #222; }

.menu { margin-top: 24px; }
	.menu a { color: #999; text-decoration: none; transition: ease all .4s; }
	.menu a:hover { color: #00d1bc; }
	.menu li { display: inline-block; font-size: 16px; font-weight: 300; margin-right: 12px; }
	.menu li.current-menu-item a { border-bottom: 4px solid #f5f5f5; }
	.menu li.nav-progress { font-weight: 400; color: #00d1bc; }










/* = typography ------------------ */

h1, h2, h3, h4 { line-height: 1.2; color: #222; font-weight: 400; margin-bottom: 24px; text-align: top; }
h1, h2 { font-size: 34px; }
	
h3 { font-size: 24px; margin-top: 48px; }
	.category h3 { margin-bottom: 12px; font-size: 20px; }
	.wide-section h3 { font-size: 20px; margin-bottom: 12px; }
	.wide-section h3:before { content: ""; background: #00d1bc; width: 24px; height: 2px; display: block; margin: 0 0 20px 0; }
	.wide-section-centered h3 { line-height: 1.6; max-width: 528px; margin: 0 auto 48px auto; }
	.col-text-end h3:before { background: #fff; }
	
h4 { font-size: 24px; margin-top: 48px; }
	.page-template-page-dashboard-new h4 { margin-top: 0; }

article h2 a, article h3 a { text-decoration: none; }

article p, article blockquote, article ul, article ol, article small { margin-bottom: 24px; line-height: 1.4; }
	article ol li { margin-left: 24px; padding-bottom: 8px; }
	article ul li { padding-bottom: 8px; list-style: none; margin-left: 24px; position: relative; }
	article ul li:before { background: #00d1bc; content: ""; width: 4px; height: 4px; display: inline-block; margin: 0 20px 0 -24px; color: #00d1bc; position: absolute; top: 10px; }
	.page-template-page-dashboard article ul li { margin-left: 0; }
	.page-template-page-dashboard article ul li a { color: #222; border-bottom: 2px solid #f5f5f5; }	
	.page-template-page-dashboard article ul li:before { background: none; width: 0; height: 0; margin: 0; }
	
b, strong { font-weight: 400; }
em { }

a { }
	article a { color: #00d1bc; font-weight: 400; transition: ease all .4s; text-decoration: none; border-bottom: 1px solid #00d1bc; }
	article a:hover { color: #222; border-bottom: 2px solid #222; }
	article .share-btn { border-bottom: 4px solid #f5f5f5; display: inline-block; cursor: pointer; transition: ease all .4s; }
	article .share-btn:hover { color: #00d1bc; }
	article a.button { border: none; }
	article a.button:hover { color: #fff; }

img { }
	article img { max-width: 100%; margin-bottom: 24px; height: auto; }
	img.seen { height: 28px; display: inline-block; width: auto; margin-right: 20px; }
	.seen-logos { margin: 8px auto; display: block; }
	.payment { max-width: 190px; }

blockquote { border-left: 4px solid #f5f5f5; padding-left: 20px; }
	cite { font-weight: 400; color: #00d1bc; font-size: 16px; display: block; font-style: normal; padding-top: 12px; }

	.col-text-end blockquote { border: none; padding: 0; font-size: 24px; }
	
small, .rcp_lost_password { color: #999; font-size: 16px; display: block; line-height: 1.6; }
	small a, .rcp_lost_password a { color: #999; font-weight: 300; text-decoration: none; border-bottom: 4px solid #f5f5f5; vertical-align: text-top; }
	small.seen { margin: 48px 0; }
	
.edit { position: fixed; top: 24px; right: 24px; }

hr { display: block; margin: 24px 0; color: #999; }
	hr:after { content: "· · ·"; display: block; }

table { width: 100%; }
th, td { padding: 8px 0; font-size: 16px; }
th { font-weight: 400; }
.rcp-table { border-top: 2px solid #f5f5f5; margin: 24px 0; border-bottom: 2px solid #f5f5f5; }

.number-big { font-size: 60px; font-weight: 300; color: #222; }

.video { position: relative; height: 0; overflow: hidden; padding-bottom: 56.25%; border: 2px solid #f5f5f5; box-sizing: border-box; margin: 24px 0 48px 0; }
	.video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.highlight { font-size: 16px; margin: 24px 0; font-weight: 400; border-left: 4px solid #00d1bc; padding-left: 20px; }
	.wide-section-centered .highlight { border: none; padding-left: 0; }
	.countdown { color: #00d1bc; }

.new-lessons { font-size: 16px; margin: 24px 0; font-weight: 400; border-left: none; padding: 12px; background: #222; color: #fff; }
.new-lessons a { color: #fff !important; text-decoration: underline; border: none; }


.wpc-bar-progress { padding-bottom: 24px; }
.wpc-bar-progress .wpc-numbers { display: none !important; }
.wpc-bar-progress.wpc-rounded .wpc-progress-track, .wpc-bar-progress.wpc-rounded .wpc-progress-fill { border-radius: 0 !important; }
.wpc-bar-progress .wpc-progress-fill { position: relative; background: #00d1bc; height: 4px !important; width: 0%; color: #fff; text-align: center; font-size: 0; line-height: 0; }

.wpc-button, .wpc-button:hover { border-bottom: none !important; color: #fff; opacity: 1 !important; transition: ease all .4s; margin-bottom: 24px; }
.wpc-button:hover { background: #222; }

li .wpc-lesson { }
li .wpc-lesson-complete {}
li .wpc-lesson-completed { text-decoration: line-through !important; color: #999 !important; border-bottom: none !important; }

.wide-section-centered * { text-align: center; }

.post-date { display: none; }








/* = forms ----------------------- */

form { padding-bottom: 12px; }
article form { margin-bottom: 24px; }
.page-id-9 article form { margin-bottom: 48px; }
.search-results #footer form, .search-results #footer h4 { display: none; }

label { font-size: 16px; }

input, button, select, textarea, .button { border-radius: 0; border: none; outline: none; background: #fff; font: 300 16px/1.4 "europa", sans-serif; padding: 12px; box-sizing: border-box; cursor: pointer; width: 100%; vertical-align: top; -webkit-appearance: none; -webkit-border-radius: 0; }

	.mc4wp-form input, .search-form input { background: #f5f5f5; margin-bottom: 4px; color: #222; }
	button, .button, #rcp_submit, #rcp_profile_editor_submit, #rcp_login_submit { background: #00d1bc; color: #fff; font-weight: 400; transition: ease all .4s; }
	button:hover, #rcp_submit:hover, #rcp_profile_editor_submit:hover, #rcp_login_submit:hover { background: #222; }
	.search-form input { border: none; }
	
	.button-main, .button-alt, .wpc-button, .affwp-form .button { padding: 12px 24px; box-sizing: border-box; cursor: pointer; width: 100%; vertical-align: top; -webkit-appearance: none; -webkit-border-radius: 0; font-weight: 400; transition: ease all .4s; font-size: 16px; display: inline-block; text-decoration: none; border: none; }
	.button-main, .affwp-form .button { background: #00d1bc; color: #fff; }
	.button-alt { background: #f5f5f5; color: #999; }

	.button-main:hover, .button-alt:hover, .affwp-form .button:hover { background: #222; color: #fff; border: none; }










/* = rcp ----------------------- */

#rcp_subscription_levels, #rcp_payment_gateways { float: left; width: 100%; display: block; margin: 24px 0; }
#rcp_subscription_levels li { list-style: none; margin: 0; padding: 0; }
#rcp_subscription_levels li:before { display: none; }
#rcp_subscription_levels label, #rcp_payment_gateways span { border: 2px solid #f5f5f5; padding: 24px; display: block; color: #999; margin-bottom: 8px; }
#rcp_subscription_levels input, #rcp_payment_gateways input { display: none; }
#rcp_subscription_levels input:checked ~ label, #rcp_payment_gateways input:checked ~ span { border: 2px solid #00d1bc; color: #00d1bc; font-weight: 400; }
#rcp_subscription_levels label:active, #rcp_payment_gateways span:active { transform: scale(.98); }

.rcp_form {}
	.rcp_form input, select, .affwp-form input, .affwp-form textarea { background: #f5f5f5; border: none; }
	.affwp-form textarea { width: 100%; }

#rcp_apply_discount { background: #555; transition: ease all .4s; }
#rcp_apply_discount:hover { background: #222; }
#rcp_submit { margin-top: 24px; }

.rcp_discount { font-weight: 400; color: #00d1bc; }

#rcp_user_remember, #affwp-referral-notifications, #rcp_auto_renew, #affwp-user-remember, #affwp-tos { width: auto !important; appearance: checkbox; -webkit-appearance: checkbox; }

#rcp_auto_renew_wrap, div.rcp_message { margin-top: 24px; }
p.rcp_error { color: #00d1bc; font-weight: 400; }


article ul#affwp-affiliate-dashboard-tabs {}
	article ul#affwp-affiliate-dashboard-tabs li { list-style: none; font-size: 16px; }
	article ul#affwp-affiliate-dashboard-tabs li:before { display: none; }
	article ul#affwp-affiliate-dashboard-tabs li.active a { border-bottom: 4px solid #f5f5f5; color: #222; }



input[type=checkbox] { display: none; }
input[type=checkbox] + label { width: 16px; height: 16px; vertical-align: bottom; }
input[type=checkbox] + label:before { content: "\00a0"; display: inline-block; width: 16px; height: 16px; font-size: 16px; background: #f5f5f5; cursor: pointer; margin-right: 8px; text-align: center; font-size: 12px; }   
input[type=checkbox]:checked + label:before { content: "\00d7"; color: #fff; background: #00d1bc; }







/* = media queries --------------- */

@media screen and (min-width: 828px) {
	body { padding: 0; }
	section { margin: 24px auto 48px auto; max-width: 528px; }
	section.wide-section { max-width: 864px; margin: 96px auto; }
	.page-template-page-lesson-free section, .page-template-page-free section, .page-template-page-buy section, .page-template-page-lesson section, .page-template-page-dashboard-new section, .page-template-page-dashboard section, .home section, .page-template-page-live section, .page-id-5 section { margin: 24px auto 48px auto; max-width: 864px; }
	.home section.skinny { margin: 24px auto 48px auto; max-width: 528px; }
	section.wide-section-centered { margin: 96px auto; }
	section.skinny { margin: 24px auto 48px auto; max-width: 528px !important; }

	#header .logo { margin-top: 24px; }

	.mc4wp-form input{ width: 65%; border-left: 4px solid #00d1bc; margin: 0; transition: ease all .4s; }
	.mc4wp-form input:focus { border-left: 4px solid #222; }
	button { width: 35%; }	
	.search-form input { border: none; max-width: 516px; }
	.button-main, .button-alt, .wpc-button { width: auto; }
	.col-text-end input, .col-text-end button { width: 100%; border: none; margin-bottom: 4px; }
	
	#rcp_subscription_levels label, #rcp_payment_gateways span { display: block; width: 252px; box-sizing: border-box; float: left; margin: 0 12px 0 0; }
	.rcp_user_fieldset p, .rcp_login_data p, #rcp_card_cvc_wrap, #rcp_card_zip_wrap, .rcp_card_exp_month, .rcp_card_exp_year { float: left; width: 252px; margin-right: 12px; box-sizing: border-box; }
	.rcp_user_fieldset p.full-email { width: 516px; }
	#rcp_submit, #rcp_card_number_wrap, #rcp_card_name_wrap { width: 516px; }
	
	.rcp_login_data p:last-child { width: 516px; float: none; }
	
	.rcp-table{ max-width: 516px; }
	
	#rcp_discount_code { width: 390px; }
	#rcp_apply_discount { width: 126px; }
	
	.col { width: 408px; float: left; margin-right: 48px; font-size: 16px; }
	.col p, .col ul, .col ol { line-height: 1.6; }
	.col-end { margin-right: 0; }
	
	.col-text { width: 528px; float: left; margin: 68px 48px 0 0; }
	.col-text-end { width: 264px; font-size: 16px; margin-right: 0; }
	.page-template-page-buy .col-text-end { margin-top: 80px; color: #999; }
	.page-template-page-buy .col-text { margin: 48px 48px 0 0; }
	.page-template-page-lesson .col-text, .page-template-page-free .col-text { margin: 0 48px 0 0; }
	.page-template-page-live .col-text { margin: 0 48px 0 0; }

	.main-logo, .logo { display: block; float: left; width: 32px; height: 32px; }
	#header .menu { float: right; margin: 28px 0 0 20px;  }
	
}

@media screen and (min-width: 1104px) {
	section.wide-section { max-width: 1004px; margin: 96px auto; }
	.page-template-page-lesson-free section, .page-template-page-free section, .page-template-page-buy section, .page-template-page-lesson section, .page-template-page-dashboard-new section, .page-template-page-dashboard section, .home section, .page-template-page-live section, .page-id-5 section { margin: 24px auto 48px auto; max-width: 1004px; }
	
	.col-text { width: 608px; float: left; margin: 68px 48px 0 0; }
	.col { width: 448px; float: left; margin-right: 48px; font-size: 16px; }
	.col-text-end { width: 264px; font-size: 16px; margin-right: 0; }

}