/*
---------------------------------------------------------------------------------------------------
General
---------------------------------------------------------------------------------------------------
*/
body * {
	box-sizing: border-box;
}

/* WPForms honeypot */
.wpforms-field-number, .wpforms-field-number * {
	height: 2px !important;
	visibility: hidden !important;
}

/*
---------------------------------------------------------------------------------------------------
Standard WP login screen
---------------------------------------------------------------------------------------------------
*/
.login h1 a {
	background-image: none,url(../images/icon-128x128.png);
}

/*
---------------------------------------------------------------------------------------------------
Modal
---------------------------------------------------------------------------------------------------
*/

.mp-modal-backdrop {
	background-color: black;
	opacity: 0.3;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 100;
}

.mp-modal {
	background-color: white;
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	z-index: 110;
}

.mp-modal-content {
	flex: 1;
}

@media screen and (max-width: 600px) {
	.mp-modal {
		top: 0; left: 0; bottom: 0; right: 0;
		transform: none;
	}
}

/*
---------------------------------------------------------------------------------------------------
Tabs
---------------------------------------------------------------------------------------------------
*/
.mp-tabs { }

.mp-tabs-nav {
	border: 1px solid lightgray;
	display: flex;
	margin-bottom: 15px;
	overflow: auto;
}

.mp-tab {
	align-items: center;
	border-bottom: 2px solid white;
	color: #2271b1;
	cursor: pointer;
	display: flex;
	padding: 16px;
	text-decoration: none;
}

.mp-tab:hover {
	background-color: #e9f0f5;
}

.mp-tab.mp-active {
	border-bottom: 2px solid black;
	color: black;
}

.mp-tab-content {
	border: 1px solid lightgray;
	overflow: auto;
	padding: 20px;
}

/* Remove top padding from h2 headings inside tabs */
.mp-tabs h2 {
	margin-top: 0;
}



/*
---------------------------------------------------------------------------------------------------
Login
---------------------------------------------------------------------------------------------------
*/

.mp-login-modal {
	min-height: 575px;
	max-height: 90vh;
	max-width: 90vw;
	overflow-y: auto;
	width: 700px;
}

.mp-login-modal .mp-modal-content {
	display: flex;
}

.mp-login-splash {
	align-items: center;
	background-color: #0073aa;
	border-right: 1px solid lightgray;
	color: white;
	display: flex;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	padding: 20px;
	width: 50%;
}

.mp-login-splash-title {
	font-size: 32px;
	margin-bottom: 30px;
}

.mp-login-splash img {
	margin-bottom: 20px;
	width: 128px;
}

.mp-login {
	display: flex;
	flex-direction: column;
	padding: 20px;
	width: 50%;
}

.mp-login-tabs {
	cursor: pointer;
	display: flex;
	margin-bottom: 24px;
}

button.mp-login-tab, button.mp-login-tab:active {
	align-items: center;
	box-shadow: none;
	display: flex;
	font-size: inherit;
	height: 48px;
	justify-content: center;
	width: 50%;
}

button.mp-login-tab {
	border-bottom: 2px solid white;
	background-color: white;
	border: none;
}

button.mp-login-tab:hover {
	background-color: #e8e8e8;
	color: #007cba;
}

button.mp-login-tab.mp-active {
	border-bottom: 2px solid black;
}

.mp-login form {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.mp-login-main {
	flex: 1;
}

.mp-login-row {
	padding: 5px;
	margin: 10px 0 3px 0;
}

.mp-login-label {
	margin-bottom: 5px;
}

.mp-login input {
	border: 1px solid gray;
	font-size: 24px;
	max-width: 100%;
	padding: 10px;
	outline-color: #007cba;
}

.mp-login input[type='checkbox'] {
	border: 1px solid black;
	margin-right: 10px;
}

.mp-login-hint {
	font-size: 14px;
	font-style: italic;
	margin-top: 5px;
}

.mp-login-toolbar {
	padding: 10px;
	text-align: right;
}

.mp-login-toolbar button {
	margin-top: 20px;
}

.mp-login-form-error {
	border-left: 4px solid #dc3232;
	padding: 12px;
	margin-left: 0;
	margin-bottom: 20px;
	background-color: #fff;
}

.mp-login-field-error input, .mp-login-field-error input:focus {
	outline: 1px solid red;
}

.mp-login-error-msg {
	font-size: 12px;
	line-height: 12px;
	margin-top: 5px;
	min-height: 12px;
}

@media screen and (max-width: 600px), (max-height: 600px) {
	.mp-login-modal {
		height: 100vh;
		width: 100vw;
		max-height: none;
		max-width: none;
	}
}

@media screen and (max-width: 600px) {
	.mp-login-modal .mp-modal-content {
		flex-direction: column;
	}
	.mp-login, .mp-login-splash {
		width: auto;
	}
	.mp-login {
		flex: 1;
	}
}

/*
---------------------------------------------------------------------------------------------------
Account screen
---------------------------------------------------------------------------------------------------
*/

/* min height avoids 'jumping' scrollbar for different-sized tabs */
#mp-account {}

/*
---------------------------------------------------------------------------------------------------
User Profile
---------------------------------------------------------------------------------------------------
*/
.mp-profile-row {
	align-items: center;
	display : flex;
	margin: 10px 0;
	max-width: 500px;
}

.mp-profile-label {
	margin-right: 20px;
	min-width: 125px;
	text-align: right;
}

.mp-profile-value {
	flex: 1;
}

.mp-profile-value input {
	font-size: inherit;
	padding: 5px;
	width: 100%;
}

.mp-profile-help {
	color: gray;
	font-size: 13px;
	font-style: italic;
	margin-top: 5px;
}


/*
---------------------------------------------------------------------------------------------------
Pricing table
---------------------------------------------------------------------------------------------------
*/

.pricing-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 25px auto;
}

/* Note that setting font size here controls all other elements (in em) */
.pricing-table {
	font-size: 10px !important;
	margin: 0 10px;
	text-align: center;
	width: 300px;
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,0.4);
	box-shadow: 0 0 15px rgba(0,0,0,0.4);
	-webkit-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

.pricing-table:hover {
	-webkit-transform: scale(1.06);
	-ms-transform: scale(1.06);
	-o-transform: scale(1.06);
	transform: scale(1.06);
}

/* Recommended pricing (first table ) */
.pricing-table:first-of-type .pricing-title {
	background: #40b4dc;
}

.pricing-title {
	color: #FFF;
	background: #00749c;
	padding: 20px 0;
	font-size: 20px;
	text-transform: uppercase;
	text-shadow: 0 1px 1px rgba(0,0,0,0.4);
}

.pricing-price {
	background: #403e3d;
	color: white;
	padding: 20px 0;
	text-shadow: 0 1px 1px rgba(0,0,0,0.4);
}

.pricing-price .pricing-amount {
	font-size: 34px;
	font-weight: 700;
}

.pricing-price .pricing-period {
	font-size: 20px;
}

.pricing-table a {
	color: #e95846;
	text-decoration: none;
}

.pricing-features {
	background: #FFF;
	border-bottom: 1px solid lightgray;
	color: #403d3a;
}

.pricing-feature {
	display: flex;
	font-size: 14px;
	font-weight: 700;
	padding: 20px 10px;
	justify-content: center;
}

.pricing-feature-checkmark:before {
	content: "\f00c";
	font-family: 'Font Awesome 5 Free';
	color: #3fab91;
	display: inline-block;
	position: relative;
	right: 5px;
	font-size: 16px;
}

.pricing-feature-label {}

.pricing-feature:nth-child(2n) {
	background: #e8e8e8;
}

/* Dummy purchase button used to login/register */
.pricing-login {
	color: #FFF;
	background: #00749c;
	padding: 10px 16px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	font-weight: 700;
	font-size: 14px;
	text-shadow: 0 1px 1px rgba(0,0,0,0.4);
	-webkit-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

.pricing-login:hover {
	background: #00547c;
}

@media only screen and (max-width: 767px) {
	.pricing-table {
		width: 420px;
	}
}

.pricing-payment {
	border-top: 1px solid lightgray;
	padding: 25px 10px 10px 10px;
}

/*
---------------------------------------------------------------------------------------------------
	Table formatting
---------------------------------------------------------------------------------------------------
*/

.mp-nvp-table th {
	font-weight: bold;
}

.mp-table  {
	border-collapse: collapse;
	table-layout: auto;
	width: auto;
}

.mp-table thead {
	border-bottom: 2px solid black;
}

.mp-table th {
	padding-left: 10px;
	text-align: left;
}

.mp-table td, .mp-table th {
	border-bottom: 1px solid lightgray;
	white-space: pre-wrap;
	word-break: normal;
	padding: 16px 8px;
}

.mp-table th, .mp-table td:first-of-type {
	background-color: #f1f3f4;
}

/*
---------------------------------------------------------------------------------------------------
	Features table
---------------------------------------------------------------------------------------------------
*/

.mp-features-table {
	overflow: initial !important;	/* Required for stick headers */
}

.mp-features-table th {
	background-color: #2094bc;
	color: white;
	padding: 20px;
	position: sticky;
	top: 0;
	z-index: 2;
}

.mp-features-table td {
	border-bottom: 1px solid lightgray !important;
	padding: 10px;
}

.mp-features-table th:last-of-type {
	background-color: #40b4dc;
}

/*
---------------------------------------------------------------------------------------------------
Buttons
---------------------------------------------------------------------------------------------------
*/
/* Pseudo-buttons, to avoid theme styles */
.mp-button, .mp-link-button, .mp-button-primary {
	align-items: center;
	background-color: white;
	border: 1px solid lightgray;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	line-height: normal;
	padding: 10px;
	text-transform: uppercase;
	white-space: nowrap;
}

.mp-button:disabled, .mp-link-button:disabled, .mp-button-primary:disabled {
	color: #fff6;
}

.mp-link-button {
	color: #4285F4;
}

.mp-button:hover:enabled {
	background-color: #eee;
}

.mp-button-primary {
	background-color: #0073aa;
	border: 1px solid lightgray;
	color: white;
}

.mp-button-primary:hover:enabled {
	background-color: #006ba1;
}

.mp-button-busy:after {
	background: transparent url(../images/spinner-2x.gif) no-repeat center center;
	background-size: 20px 20px;
	content: '';
	height: 20px;
	margin-left: 10px;
	opacity: 0.5;
	width: 20px;
}

/*
---------------------------------------------------------------------------------------------------
Misc
---------------------------------------------------------------------------------------------------
*/

.mp-notice {
	background-color: lightyellow;
	border: 1px solid yellow;
	padding: 10px;
	margin-bottom: 10px;
}

/* License active/inactive */
.mp-license-active {
	color: green;
}

.mp-license-expired {
	color: red;
}

