
/*
mixins.less
Common functions used throughout the site. Useful for defining styles that are
vendor sepcific or have vendor specific prefixes.
*/
.bg_flip_vertical {
	-webkit-transform: scaleY(-1);
	-moz-transform: scaleY(-1);
	-ms-transform: scaleY(-1);
	-o-transform: scaleY(-1);
	transform: scaleY(-1);
}

.bg_flip_horizontal {
	-webkit-transform: scaleX(-1);
	-moz-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	-o-transform: scaleX(-1);
	transform: scaleX(-1);
}

.bg_flip_both {
	-webkit-transform: scaleX(-1) scaleY(-1);
	-moz-transform: scaleX(-1) scaleY(-1);
	-ms-transform: scaleX(-1) scaleY(-1);
	-o-transform: scaleX(-1) scaleY(-1);
	transform: scaleX(-1) scaleY(-1);
}

.full_width {
	width: 960px;
	margin: auto;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	overflow: auto;
	min-height: 1px;
}

.one_third {
	width: 320px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.two_thirds {
	width: 640px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.one_half {
	width: 480px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.one_quarter {
	width: 240px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.three_quarters {
	width: 720px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.one_sixth {
	width: 160px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.one_eighth {
	width: 120px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.three_eighths {
	width: 360px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	float: left;
	overflow: auto;
	min-height: 1px;
}

.padded {
	padding: 0px 10px;
}

.wrapper {
	width: 100%;
	margin: auto;
}

@media screen and (min-width:720px) and (max-width:974px) {
	.hide_on_tablet {
		display: none;
	}
}

@media screen and (min-width:480px) and (max-width:719px) {
	.hide_on_largemobile {
		display: none;
	}
}

@media screen and (min-width:240px) and (max-width:479px) {
	.hide_on_smallmobile {
		display: none;
	}
}

@media screen and (min-width:720px) and (max-width:974px), screen and (min-width:480px) and (max-width:719px), screen and (min-width:240px) and (max-width:479px) {
	#content {
		width: 100%;
	}
}

#content .product ul.tabs {
	display: none;
}

/** common **/
.wc_ff_button {
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.wc_ff_product_list {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.wc_ff_product_list li {
	max-width: 300px;
	width: 32%;
	float: left;
	display: block;
	margin-right: 2%;
	padding-bottom: 30px;
}

.wc_ff_product_list li:nth-child(3n) {
	margin-right: 0px;
}

.wc_ff_product_list li img {
	width: 100%;
	height: auto;
}

.woocommerce {}

.woocommerce input, .woocommerce button {
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	font-family: "Nunito", sans-serif;
	padding: 5px;
}

.woocommerce dl.variation {
	margin: 0px;
}

.woocommerce dl.variation dt {
	font-weight: bold;
}

.woocommerce dl.variation dt, .woocommerce dl.variation dd {
	display: inline-block;
	margin: 0px;
}

.woocommerce dl.variation dt p, .woocommerce dl.variation dd p {
	margin-bottom: 0px;
}

.woocommerce .checkout.woocommerce-checkout label, .woocommerce .checkout.woocommerce-checkout input {
	display: block;
}

.woocommerce .checkout.woocommerce-checkout label.input-checkbox, .woocommerce .checkout.woocommerce-checkout input.input-checkbox {
	width: auto;
	float: right;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th.product-name {
	width: 70%;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th.product-total {
	width: 30%;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td.product-total {
	text-align: center;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .cart_item td {
	vertical-align: bottom;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .cart_item:not(:last-child) td {
	border-bottom: 1px #782471 solid;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .cart_item:last-child td {
	padding-bottom: 30px;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .cart_item .product-quantity {
	text-align: center;
}

.woocommerce .checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table .cart_item .product-quantity input {
	width: 60%;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods li {
	margin-bottom: 10px;
	clear: both;
	display: block;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods li input {
	float: left;
	width: auto;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods li label {
	float: left;
	font-weight: bold;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods li div {
	clear: both;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods .payment_method_Purchase_Order input#purchase_order_file {
	display: block;
	clear: both;
	width: 100%;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods .payment_method_Purchase_Order #purchase_order_file_status {
	display: block;
}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods .payment_method_paypal {}

.woocommerce .checkout.woocommerce-checkout ul.payment_methods.methods .payment_method_paypal img {
	display: none;
}

.woocommerce .checkout.woocommerce-checkout .form-row.place-order {
	clear: both;
}

.woocommerce-message {
	padding: 20px !important;
	border-bottom: 0px !important;
	background-color: lightblue !important;
	margin-top: 10px;
	margin-bottom: 10px;
}

.woocommerce-pagination {
	text-align: center;
	padding-top: 10px;
	clear: both;
}

.woocommerce-pagination ul {
	display: block;
	margin: 0px;
	padding: 0px;
	list-style: none;
	text-align: center;
}

.woocommerce-pagination ul li {
	display: inline-block;
}

.woocommerce-pagination ul li a {
	background-color: #782471;
	padding: 10px;
	color: white;
	font-size: .75em;
	display: inline-block;
}

.woocommerce-pagination ul li a:hover {
	background-color: #ea008c;
	text-decoration: none;
}

.woocommerce-pagination ul li span {
	font-size: .75em;
	padding: 10px 5px;
	display: inline-block;
}

/** Single Product **/
.single-product .woocommerce > div {
	padding-top: 20px !important;
}

.single-product .product_data {
	width: 33.3333%;
	float: left;
	padding-right: 10px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

@media screen and (min-width:480px) and (max-width:719px), screen and (min-width:240px) and (max-width:479px) {
	.single-product .product_data {
		width: 100%;
		padding: 0px;
	}
}

.single-product .product_data .images img {
	display: block;
	max-width: 100%;
	margin: auto;
	height: auto;
}

.single-product .product_data .testimonial {
	margin-top: 20px;
	background-color: #782471;
	color: white;
	padding: 10px;
	box-sizing: border-box;
}

.single-product .summary.entry-summary {
	width: 66.6666%;
	float: left;
	padding-left: 10px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

@media screen and (min-width:480px) and (max-width:719px), screen and (min-width:240px) and (max-width:479px) {
	.single-product .summary.entry-summary {
		width: 100%;
		padding: 0px;
	}
}

.single-product .related.products, .single-product .upsells.products {
	padding-top: 30px;
	width: 100%;
	clear: both;
}

.single-product .related.products ul, .single-product .upsells.products ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.single-product .related.products ul li, .single-product .upsells.products ul li {
	max-width: 300px;
	width: 32%;
	float: left;
	display: block;
	margin-right: 2%;
	padding-bottom: 30px;
}

.single-product .related.products ul li:nth-child(3n), .single-product .upsells.products ul li:nth-child(3n) {
	margin-right: 0px;
}

.single-product .related.products ul li img, .single-product .upsells.products ul li img {
	width: 100%;
	height: auto;
}

.single-product table.variations td {
	padding-right: 5px;
}

.single-product .summary .product_meta {
	padding-top: 10px;
}

.single-product .single_add_to_cart_button {
	margin-top: 10px;
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

/** Archive **/
.tax-product_cat .products, .post-type-archive-product .products, .single-product .products, .tax-product_cat .related_products, .post-type-archive-product .related_products, .single-product .related_products {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.tax-product_cat .products li, .post-type-archive-product .products li, .single-product .products li, .tax-product_cat .related_products li, .post-type-archive-product .related_products li, .single-product .related_products li {
	max-width: 300px;
	width: 32%;
	float: left;
	display: block;
	margin-right: 2%;
	padding-bottom: 30px;
}

.tax-product_cat .products li:nth-child(3n), .post-type-archive-product .products li:nth-child(3n), .single-product .products li:nth-child(3n), .tax-product_cat .related_products li:nth-child(3n), .post-type-archive-product .related_products li:nth-child(3n), .single-product .related_products li:nth-child(3n) {
	margin-right: 0px;
}

.tax-product_cat .products li img, .post-type-archive-product .products li img, .single-product .products li img, .tax-product_cat .related_products li img, .post-type-archive-product .related_products li img, .single-product .related_products li img {
	width: 100%;
	height: auto;
}

.tax-product_cat .products li, .post-type-archive-product .products li, .single-product .products li, .tax-product_cat .related_products li, .post-type-archive-product .related_products li, .single-product .related_products li {
	text-align: center;
}

.tax-product_cat .products li .product_type_simple.button, .post-type-archive-product .products li .product_type_simple.button, .single-product .products li .product_type_simple.button, .tax-product_cat .related_products li .product_type_simple.button, .post-type-archive-product .related_products li .product_type_simple.button, .single-product .related_products li .product_type_simple.button, .tax-product_cat .products li .product_type_variable.button, .post-type-archive-product .products li .product_type_variable.button, .single-product .products li .product_type_variable.button, .tax-product_cat .related_products li .product_type_variable.button, .post-type-archive-product .related_products li .product_type_variable.button, .single-product .related_products li .product_type_variable.button {
	margin-top: 10px;
}

.tax-product_cat .products li a, .post-type-archive-product .products li a, .single-product .products li a, .tax-product_cat .related_products li a, .post-type-archive-product .related_products li a, .single-product .related_products li a {
	display: block;
	position: relative;
}

.tax-product_cat .products li a .overlay, .post-type-archive-product .products li a .overlay, .single-product .products li a .overlay, .tax-product_cat .related_products li a .overlay, .post-type-archive-product .related_products li a .overlay, .single-product .related_products li a .overlay {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background-color: black;
	opacity: 0;
}

.tax-product_cat .products li a .overlay > div, .post-type-archive-product .products li a .overlay > div, .single-product .products li a .overlay > div, .tax-product_cat .related_products li a .overlay > div, .post-type-archive-product .related_products li a .overlay > div, .single-product .related_products li a .overlay > div {
	display: table;
	width: 100%;
	height: 100%;
}

.tax-product_cat .products li a .overlay > div > div, .post-type-archive-product .products li a .overlay > div > div, .single-product .products li a .overlay > div > div, .tax-product_cat .related_products li a .overlay > div > div, .post-type-archive-product .related_products li a .overlay > div > div, .single-product .related_products li a .overlay > div > div {
	display: table-cell;
	vertical-align: middle;
	color: white;
}

.tax-product_cat .products li a img, .post-type-archive-product .products li a img, .single-product .products li a img, .tax-product_cat .related_products li a img, .post-type-archive-product .related_products li a img, .single-product .related_products li a img {
	display: block;
}

.tax-product_cat .woocommerce-ordering, .post-type-archive-product .woocommerce-ordering, .single-product .woocommerce-ordering {
	padding: 10px 0px;
}

.tax-product_cat .button, .post-type-archive-product .button, .single-product .button {
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.tax-product_cat .added_to_cart, .post-type-archive-product .added_to_cart, .single-product .added_to_cart {
	margin-top: 10px;
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.tax-product_cat .price, .post-type-archive-product .price, .single-product .price {
	display: block;
	margin: 0px 5px;
}

/* Cart */
.woocommerce-cart table.shop_table.cart {
	width: 100%;
}

.woocommerce-cart table.shop_table.cart td, .woocommerce-cart table.shop_table.cart th {
	padding: 10px;
}

.woocommerce-cart table.shop_table.cart .product-remove {
	width: 3%;
	min-width: 25px;
	text-align: center;
}

.woocommerce-cart table.shop_table.cart .product-remove a {
	display: block;
	width: 25px;
	height: 25px;
	border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-border-radius: 100%;
	line-height: 22px;
	background-color: #782471;
	font-size: 1em;
	color: white;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail {
	display: none;
}

.woocommerce-cart table.shop_table.cart .product-price, .woocommerce-cart table.shop_table.cart .product-subtotal, .woocommerce-cart table.shop_table.cart .product-quantity {
	vertical-align: bottom;
}

.woocommerce-cart table.shop_table.cart .product-name {
	padding: 10px;
	vertical-align: bottom;
}

.woocommerce-cart table.shop_table.cart .cart_item:not(:nth-last-child(2)) td {
	border-bottom: 1px #782471 solid;
	padding-bottom: 10px;
}

.woocommerce-cart table.shop_table.cart .cart_item:not(:first-child) td {
	padding-top: 20px;
}

.woocommerce-cart table.shop_table.cart .cart_item .product-quantity {
	text-align: center;
}

.woocommerce-cart table.shop_table.cart .cart_item .product-quantity div {
	display: inline-block;
}

.woocommerce-cart table.shop_table.cart .cart_item .product-quantity input {
	width: 90%;
}

.woocommerce-cart table.shop_table.cart .actions input[type=submit] {
	margin-top: 20px;
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.woocommerce-cart .cart_totals {
	width: 100%;
}

.woocommerce-cart .cart_totals th, .woocommerce-cart .cart_totals td {
	text-align: left;
	vertical-align: middle;
	padding-right: 10px;
}

.woocommerce-cart .wc-proceed-to-checkout {
	margin-top: 20px;
}

.woocommerce-cart .wc-proceed-to-checkout a {
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	padding: 5px;
	background-color: #782471;
	color: white !important;
	text-align: center;
	border: none;
	font-size: 1em;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	margin-top: 40px;
}

/* Datepicker */
#ui-datepicker-div {
	background-color: #782471;
	color: white;
	padding: 5px;
}

#ui-datepicker-div a {
	color: white;
}

#ui-datepicker-div .ui-datepicker-prev {
	display: block;
	float: left;
	cursor: pointer;
}

#ui-datepicker-div .ui-datepicker-next {
	display: block;
	float: right;
	cursor: pointer;
}

#ui-datepicker-div .ui-datepicker-title {
	display: block;
	clear: both;
	text-align: center;
}

#ui-datepicker-div .ui-datepicker-calendar td {
	text-align: center;
}

#rp_filter_form ul {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

#rp_filter_form ul .select2 {
	clear: both;
	width: 100% !important;
	text-align: center;
}

#rp_filter_form #rp_event_date {
	background-color: #782471;
	color: white;
	border: 0px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	font-family: "Nunito", sans-serif;
	font-weight: normal;
	font-size: 16px;
}

/* Breadcrumbs */
nav.woocommerce-breadcrumb {
	margin-top: 10px;
	margin-bottom: 10px;
}

#rp_event_date {
	text-align: center;
}

#order_comments {
	width: 100%;
	height: 200px;
}

#accept-t-and-cs {
	padding-top: 30px;
}

#accept-t-and-cs label, #accept-t-and-cs input {
	display: block;
}

#accept-t-and-cs label.input-checkbox, #accept-t-and-cs input.input-checkbox {
	width: auto;
	float: right;
}

.woocommerce-error {
	list-style: none;
	padding: 10px;
	background-color: pink;
}

.course-datetime {
	display: inline-block;
	margin-bottom: 10px;
	font-weight: bold;
	color: #51ade5;
}

#order_review .shipping ul, .cart_totals .shipping ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

#order_review .shipping ul li, .cart_totals .shipping ul li {
	display: block;
	float: left;
	clear: both;
}

#order_review .shipping ul li input, .cart_totals .shipping ul li input {
	float: left;
	width: auto;
}

#order_review .shipping ul li label, .cart_totals .shipping ul li label {
	float: right;
}

.login label.inline {
	display: block;
	margin-top: 15px;
}

.login label.inline input, .login label.inline label {
	display: block;
}

.login label.inline input#rememberme, .login label.inline label#rememberme {
	width: auto;
	float: right;
}

.cart-subtotal, .order-total {
	text-align: center;
}

h2.woocommerce-loop-product__title {
	font-size: 1.35em;
}

#payment .payment_methods li img.stripe-icon {
	display: none;
}

#wc-stripe-upe-form {
	border: none !important;
	padding: 0 0 15px 0 !important;
}
