@font-face {
    font-family: 'Karla';
    src: url('fonts/Karla-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Karla Bold';
    src: url('fonts/Karla-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


/*---------------------------------------
	BEGIN General - Sitewide
---------------------------------------*/

body {
	font-family: 'Karla', sans-serif;
	font-size: 19px;
	word-wrap: normal;
}
h2 {
	font-size: 3rem;
}
h4 {
	font-family: 'Karla Bold';
	text-transform: none;
}

@media only screen and (max-width: 650px) {	
	.hide-650 {
		display: none;
	}
}

.container-block {
	padding: 120px 0;
}

.container-block-regular {
	padding: 90px 0;
}

.white-bg {
	background-color: white;
}

.light-bg {
	/*background-color: #f4f4fa;*/
	background-color: rgba(140, 202, 255, 0.1);
}

.top-body-border {
	/*Site top border div,
	see functions.php in child theme*/
	height:6px; 
}

#logo {
	padding-top: 4px;
}

#logo a {
	color: white;
}

#logo a:hover {
	color: white;
}

#logo img {
	width: 200px;
}

@media only screen and (max-width: 768px) {
	#logo img {
		bottom: 12px;
		position: relative;
	}
}

#primary-nav li a {
	color: white;
}

#header {
	padding-top: 20px;
	border-bottom: none;
}

#primary {
	float: initial;
	width: 100%;
	margin-bottom: 0;
}

.hentry {
	margin-bottom: 0;
}

.block {
	max-width: 960px;
	max-width: 96rem;
}

.page-intro.block { display: none; }

#content.block {
	width: 100%;
	max-width: 100%;
	border-top: none;
}



.two-col-container {
	padding: 60px 0;
}

.two-col-row {
	padding: 60px 0;
}

@media only screen and (max-width: 650px) {
	.two-col-container img{
		padding: 30px 0;
	}
	.two-col-container a{
		font-size: 14px;
	}
}




#tagline { display: none; }

.center { text-align: center; }

.text-white { color: white; }

.scale-with-grid { outline: 0; max-width: 100%; height: auto; }

/* Screen Reader Only */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.error-page {
	padding-top:120px;
	padding-bottom: 400px;
}

/* Forms */

input[type="email"], 
input[type="search"], 
input[type="text"], 
input[type="password"], 
textarea, select {
	border: 2px solid #D1D1D1;
	height: 52px;
}

input[type="email"]:focus, 
input[type="search"]:focus, 
input[type="text"]:focus, 
input[type="password"]:focus, 
textarea:focus, select:focus {
	border: 2px solid #33C3F0;
}

input[type="radio"], select {
	width:auto;
}

#loginform label[for=user_login],
#loginform label[for=user_pass],
.pmpro_checkout label {
	/* Bootstrap's sr-only class for screenreaders only, 
	need to limit only to theme my login pages (including profile edit page), 
	checkout, contact forms */
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.small-form-box {
	-moz-border-radius: 6px 6px 6px 6px;
   -webkit-border-radius: 6px 6px 6px 6px;
   border-radius: 6px 6px 6px 6px;
   border: 1px solid #D1D1D1;
   padding: 20px;
}

.forgetmenot label[for=rememberme]{
	position: relative;
	bottom:10px;
}
.entry-content ul.tml-action-links {
	list-style-type: none;
	margin: 0;
}

/* Navigation */

#primary-nav li a {
	padding-top: 6px;
	color: #D5E0E8;
	transition: 200ms;
	margin-left: 6px;
}

#primary-nav li a:hover {
	background: none;
	color: white;
}

#primary-nav li a[title="Sign Up"],
#primary-nav li a[title="Log Out"] {
	/*background: rgb(140, 202, 255);*/
	background: rgba(255, 255, 255, 0.3);
	color: white;
}

#primary-nav li a[title="Sign Up"]:hover,
#primary-nav li a[title="Log Out"]:hover {
	/*background: rgb(165, 214, 255);*/
	background: rgba(255, 255, 255, 0.5);
}

.primary-menu > li > a:hover,
.primary-menu > .sfHover > a {
	background: none;
	color: #ffffff;
}

#primary-nav .current-menu-item > a {
	background: rgba(0,0,0,0.2);
	color: white;
}

#primary-nav .current-menu-item > a:hover {
	background: rgba(0,0,0,0.3);
}

.single-page-navigation {
	border: none;
}

.custom-gradient-1 {
	background: -webkit-linear-gradient(90deg, #7474BF 1%, #5E9CD1 99%); /* Chrome 10+, Saf5.1+ */
	background:    -moz-linear-gradient(90deg, #7474BF 1%, #5E9CD1 99%); /* FF3.6+ */
	background:     -ms-linear-gradient(90deg, #7474BF 1%, #5E9CD1 99%); /* IE10 */
	background:      -o-linear-gradient(90deg, #7474BF 1%, #5E9CD1 99%); /* Opera 11.10+ */
	background:         linear-gradient(90deg, #7474BF 1%, #5E9CD1 40%); /* W3C */    

}

.hero-1 {
	margin-top: -231px;
	padding-top: 160px;
	height: auto;
}

.hero-1 h1, .hero-1 h2 {
	margin-bottom: 3rem;
}
.hero-1 h2 {
	color: #D5E0E8;
	font-size: 3rem;
}

@media only screen and (max-width: 1105px) {	
	.hero-1 h1,.hero-2 h1 {
		font-size:4rem;
	}
}

@media only screen and (max-width: 878px) {	
	.hero-1 h1,.hero-2 h1 {
		font-size:3rem;
	}
}

@media only screen and (max-width: 650px) {	
	.hero-1 h1,.hero-2 h1 {
		font-size:2rem;
	}
}

.button, button, 
input[type="submit"], 
input[type="reset"], 
input[type="button"],
.hero-1 .cta-btn-1,
.hero-2 .cta-btn-1,
.button-primary.button {
	font-family: 'NovecentowideBookBold', 'Helvetica Neue', Helvetica, sans-serif;
	color: white;
	background-color: #8CCAFF;
	border-color: #8CCAFF;
	font-size: 12px;
	transition: 200ms;
}

.button:hover, button:hover, 
input[type="submit"]:hover, 
input[type="reset"]:hover, 
input[type="button"]:hover,
.hero-1 .cta-btn-1:hover,
.hero-2 .cta-btn-1:hover,
.button-primary.button:hover,
.button:active, button:active, 
input[type="submit"]:active, 
input[type="reset"]:active, 
input[type="button"]:active,
.hero-1 .cta-btn-1:active,
.hero-2 .cta-btn-1:active,
.button-primary.button:active,
.button:focus, button:focus, 
input[type="submit"]:focus, 
input[type="reset"]:focus, 
input[type="button"]:focus,
.hero-1 .cta-btn-1:focus,
.hero-2 .cta-btn-1:focus,
.button-primary.button:focus {
	color: white;
	background-color: #A5D6FF;
	border-color: #A5D6FF;
}

.hero-2 {
	background-color: #34495E;
	margin-top: -231px;
	padding-top: 160px;
	height: auto;
}

.hero-2 h1 {
	margin: 90px 0;
	text-shadow: 4px 4px 30px rgba(0, 0, 0, 0.2);
}

.hero-2 a {
	margin-bottom: 120px;
}

.reg-header {
	margin-top: -231px;
	padding-top: 134px;
	height: auto;
}

.course-video-header {
	margin-top: -146px;
	padding-top: 134px;
	height: auto;
}

#footer { padding-top: 60px;}

#footer .iubenda-ibadge {
	margin-bottom: 0;
	margin-right: 8px;
	position: relative;
	bottom: -7px;
}

/*---------------------------------------
	END General - Sitewide
---------------------------------------*/

/*---------------------------------------
	BEGIN Home Page
---------------------------------------*/
.hero-1-callout {
	margin-bottom:0;
}

.cm-home-hero-computer {
	max-width:590px;
	width:100%;
	display: block;
	margin: 0 auto;
	padding-left:8%;
}

@media only screen and (max-width: 650px) {	
	.cm-home-hero-computer {
		padding-left:7%;
	}
}

.cm-fixed-table {
	table-layout: fixed;
	border:none;
	border-collapse: separate;
	/*-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;*/
	
}

.cm-fixed-table th, .cm-fixed-table td {
	background-color: rgba(140, 202, 255, 0.1);
	/*width: 33%;*/
	border:1px solid #5E9CD1;
	text-align: center;
	padding:20px;

}

.cm-fixed-table td {
	line-height: 3rem;
	-webkit-box-shadow: 0px 3px 0px 0px rgba(71, 87, 115, 0.75);
	-moz-box-shadow:    0px 3px 0px 0px rgba(71, 87, 115, 0.75);
	box-shadow:         0px 3px 0px 0px rgba(71, 87, 115, 0.75);
}

.cm-fixed-table tr:last-child th:first-child {
    -moz-border-radius-topleft:6px;
    -webkit-border-top-left-radius:6px;
    border-top-left-radius:6px;
}

.cm-fixed-table tr:last-child th:last-child {
    -moz-border-radius-topright:6px;
    -webkit-border-top-right-radius:6px;
    border-top-right-radius:6px;
}

.cm-fixed-table tr:last-child td:first-child {
    -moz-border-radius-bottomleft:6px;
    -webkit-border-bottom-left-radius:6px;
    border-bottom-left-radius:6px;
}

.cm-fixed-table tr:last-child td:last-child {
    -moz-border-radius-bottomright:6px;
    -webkit-border-bottom-right-radius:6px;
    border-bottom-right-radius:6px;
}
.cm-fixed-table th { border-top: 2px solid #5E9CD1; }
.cm-fixed-table th:first-child,
.cm-fixed-table td:first-child { border-left: 2px solid #5E9CD1; }
.cm-fixed-table th:last-child,
.cm-fixed-table td:last-child { border-right: 2px solid #5E9CD1; }
.cm-fixed-table td { border-bottom: 2px solid #5E9CD1; }

@media only screen and (max-width: 650px) {
	.cm-fixed-table th, .cm-fixed-table td {
		font-size:14px;
	}
}

@media only screen and (max-width: 468px) {
	.table-section {
		display:none;
	}
}

.desk-bg-1 {
	background: url(img/learn-to-code-bg-short.jpg);
	background-size: cover;
}
/*.cm-computer-bg {
	width: 590px;
	height: 370px;
	background-image: url(img/cm-home-hero-bg.png); 
	background-repeat: no-repeat;
	background-size: cover;	
}*/

/*.radial-bg {
	position: relative;
	left: 62px;
	background: -webkit-gradient(radial, center center, 0, center center, 200, from(#5E9CD1), to(transparent));
}*/

/*---------------------------------------
	END Home Page
---------------------------------------*/

/*---------------------------------------
	BEGIN About Page
---------------------------------------*/

.coffee-bg-1 {
	background: url(img/cm-coffee-bg.jpg);
	background-size: cover;
}

@media only screen and (min-width: 1442px) {
	.coffee-bg-1 {
    	background: url(img/cm-coffee-bg@2x.jpg);
    	background-size: cover;
    }
}

.about-icons-1 img{
	width: 70%;
	margin: 0 auto;
	padding-bottom: 20px;
}

.brand-logos {
	padding-bottom: 20px;
}

.avatar {
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.mini-social-a {
	border: none;
}
.mini-social-icon {
	margin-top: 5px;
	margin-right: 5px;
	width: 30px;
}
/*---------------------------------------
	END About Page
---------------------------------------*/

/*---------------------------------------
	BEGIN How It Works Page
---------------------------------------*/
body.page-how-it-works {
	background-color: #e9f0f5;
}
	

.how-it-works-header-bg {
	background: url(img/how-it-works-header.jpg);
	background-size: cover;
}

@media only screen and (min-width: 1442px) {
	.how-it-works-header-bg {
    	background: url(img/how-it-works-header@2x.jpg);
    	background-size: cover;
    }
}

#cd-timeline { 
	margin-top: 0; 
	margin-bottom: 0;
	padding: 120px 0;
}

#cd-timeline h2 { 
	margin-bottom: 0;
}


.skill-tag-wrap { line-height: 2; }
.skill-tag-wrap span {
	font-size: 1.4rem;
	background-color: #d7e4ed;
	padding: 0 6px;
	border-radius: 4px;
	color: white;
	display: inline-block;
}

.post-timeline p {
	color:#262624;
}

/*---------------------------------------
	END How It Works Page
---------------------------------------*/

/*---------------------------------------
	BEGIN Checkout Page
---------------------------------------*/

.sign-up-callout {
	padding: 90px 0 0 0;
}

@media only screen and (max-width: 878px) {	
	.sign-up-callout p{
		font-size: 14px;
	}
}

.checkout-block {
	-moz-border-radius: 8px 8px 8px 8px;
	-webkit-border-radius: 8px 8px 8px 8px;
	border-radius: 8px 8px 8px 8px;
}

.form-wrap {
	/*padding: 20px;*/
	/*margin:40px 0;*/
	background-color: white;
	-moz-border-radius: 6px 6px 6px 6px;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	border:1px solid #D1D1D1;
	margin: 30px 0px 30px 30px;
	padding: 20px;
}

/*::-webkit-input-placeholder { 
    color:    #909;
}
:-moz-placeholder { 
   color:    #909;
   opacity:  1;
}
::-moz-placeholder {
   color:    #909;
   opacity:  1;
}
:-ms-input-placeholder { 
   color:    #909;
}*/
table.pmpro_checkout, 
table.pmpro_checkout th,
table.pmpro_checkout tr,
table.pmpro_checkout td {
	border: none;
	border-bottom: none;
}

table.pmpro_checkout th {
	font-size: 3.0rem;
	padding-bottom:1rem;
	line-height: 4rem;
}

table.pmpro_checkout .pmpro_thead-msg {
	font-size: 1.5rem;
}

/*Hides the 'already have an acct sign in' link*/
.pmpro_thead-msg {
	display: none;
}

.pmpro_small {
	font-size: 1.4rem;
}

table.pmpro_checkout input[type=text],
table.pmpro_checkout input[type=password],
table.pmpro_checkout input[type=button]  {
	width: 100%;
	max-width:300px;
}


#pmpro_pricing_fields.pmpro_checkout {
	position: absolute;
	top: -9px;
	left: 60%;
	width: 37%;
	border-collapse: separate;
	border-spacing: 0px 20px;
}
#pmpro_pricing_fields.pmpro_checkout tbody{
	background-color: white;
}


#pmpro_pricing_fields.pmpro_checkout td{
   -moz-border-radius: 6px 6px 6px 6px;
   -webkit-border-radius: 6px 6px 6px 6px;
   border-radius: 6px 6px 6px 6px;
   border: 1px solid #D1D1D1;
   text-align: center;
   padding: 20px;
   line-height: 30px;
}


#pmpro_pricing_fields hr {
	margin: 1rem;
}

#other_discount_code_p {
	margin-bottom: 10px;
}


#pmpro_pricing_fields th,
#pmpro_pricing_fields td p:first-child{ 
	display: none;
}


#pmpro_payment_method a {
	border: none;
	padding-right:10px;
}

#pmpro_payment_method img{
	position: relative;
	padding-right: 8px;
	bottom: 18px;
	max-width: 48px;
}

.pmpro_checkout select {
	font-size: 1.9rem;
}

.pmpro_payment-expiration {
	display: inline-block;
}

.pmpro_payment-expiration #ExpirationMonth {
	margin-right: 4px;
}
.pmpro_payment-expiration #ExpirationYear {
	margin-left: 4px;
}
.pmpro_payment-cvv input {
	letter-spacing: 2px;
	width: 156px;
}
.pmpro_payment-cvv small {
	display: inline-block;
	font-size: 14px;
}
.pmpro_payment-discount-code {
	display: none;
}

#pmpro_paypalexpress_checkout input[type=image]{
	width: 228px;
	height: 44px;
	padding: 0;
	float: left;
}

input.pmpro_btn.pmpro_btn-submit-checkout {
	margin-left: 10px;
	max-width: 300px;
	width: 100%;
}

@media only screen and (max-width: 768px) {
	#pmpro_pricing_fields.pmpro_checkout {
		position: inherit;
		top: inherit;
		left: inherit;
		width: 100%;
		border-collapse: separate;
	}
	.form-wrap {
		margin: 30px;
	}
	.checkout-block .seven.columns {
		width: 100%;
	}
	table.pmpro_checkout input[type=text],
	table.pmpro_checkout input[type=password] {
		max-width: inherit;
	}

}

@media only screen and (max-width: 468px) {
	#pmpro_payment_method img {
		bottom: 22px;
		max-width: 34px;
	}
	input.pmpro_btn.pmpro_btn-submit-checkout {
		font-size: 10px;
		width: 80%;
	}

	.form-wrap {
		margin: 0px;
		padding: 6px;
	}
}

/*---------------------------------------
	END Checkout Page
---------------------------------------*/


/*---------------------------------------
	BEGIN Retina Styles
---------------------------------------*/



@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dppx) { 
    .cm-computer-bg {
    	width: 590px;
    	height: 370px;
    	background-image: url(img/cm-home-hero-bg@2x.png); 
    	background-repeat: no-repeat;
    	background-size: cover;
    	
    }

    .coffee-bg-1 {
    	background: url(img/cm-coffee-bg@2x.jpg);
    	background-size: cover;
    }
}

/*---------------------------------------
	END Retina Styles
---------------------------------------*/

/*---------------------------------------
	BEGIN Choose Track Page Styles
---------------------------------------*/
.choose-block h3, .choose-block p, .choose-block a {
	color: #262624;
	border: none;
}

.choose-block .track-icon {
    width: 75%;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    transition: 200ms;
}

.choose-block .track-icon:hover {
	opacity: 0.75;

}


/*---------------------------------------
	END Choose Track Page Styles
---------------------------------------*/

/*---------------------------------------
	BEGIN All Videos List Page Styles
---------------------------------------*/


#syllabus h1, #syllabus h3 { text-align: center; }
#syllabus li { list-style-position: outside;}
#syllabus li a { border: none;}
#syllabus li span {
	background: #f1f1f1;
	font-size: 1.4rem;
	padding: 2px 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	border: 1px solid #e1e1e1;
}

.rule-box {
	border: 1px solid #5E9CD1;
	padding: 20px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}
.rule-box ol {
	margin-bottom: 0;
}

.homework-box {
	background: #F1F1F1;
	border: 1px solid #E1E1E1;
	padding: 20px;
	margin: 30px 0;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}
.homework-box p {
	margin-bottom: 0;
}
/*---------------------------------------
	END All Videos List Page Styles
---------------------------------------*/


/*---------------------------------------
	BEGIN 30-Day/12-Week Track Page Styles
---------------------------------------*/
#syllabus .track-icon {
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	width:200px;
	margin-bottom: 20px;
}


/*---------------------------------------
	END Choose Track Page Styles
---------------------------------------*/

/*---------------------------------------
	BEGIN Videos Styles
---------------------------------------*/
.single-page-navigation a:hover {
	background-color:#5E9CD1; 
}

.video-block {
	margin-bottom: 120px;
}

.video-page-title {
	margin-top: -114px;
}

.video-block .signup-video-img { transition: 200ms; }
.video-block .signup-video-img:hover {
	opacity: 0.75;
}

.video-block .video-wrap {
	margin-bottom: 60px;
}

/*---------------------------------------
	END Videos Styles
---------------------------------------*/

/*---------------------------------------
	BEGIN Membership Account Styles
---------------------------------------*/

#pmpro_account .pmpro_box {
	border: none;
}

#pmpro_account ul,
.pmpro-confirmation ul  {
	list-style-type: none;
	margin-left: 0;
}

#pmpro_confirmation_table th,
#pmpro_confirmation_table td{
	padding: 10px;
}

/*The pmpro plugin is 404ing the printer icon*/
.pmpro_a-print { padding: 0; }

.pmpro-confirmation-box p:first-child {
	display: none;
}
/*---------------------------------------
	END Membership Account Styles
---------------------------------------*/

/*---------------------------------------
	BEGIN Your Profile Styles
---------------------------------------*/

#your-profile table,
#your-profile tr,
#your-profile th,
#your-profile td {
	border: none;
}
#your-profile .form-table input,
#your-profile .form-table select,
#your-profile .form-table textarea {
	font-size: 19px;
	padding:8px;
}



/*---------------------------------------
	END Your Profile Styles
---------------------------------------*/