/*!
	Theme Name: Team SIMA
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: A plain-vanilla & lightweight theme for Elementor page builder
	Author: SIMA
	Version: 2.4.1
	Stable tag: 2.4.1
	Requires at least: 4.7
	Tested up to: 5.6
	Requires PHP: 5.6
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: sima-academy
  Template: hello-elementor
*/

/* Force DM Sans everywhere 
body,
body *:not(i) {
    font-family: 'DM Sans', sans-serif !important;
}

.fa,
.fas,
.far,
.fal,
.fab,
.elementor-icons,
.elementor-icons *,
.elementor-icon,
.elementor-icon i {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands" !important;
}
*/

/* Checkout Page */

body.page-id-2372 {
    background-color: #141415;
}

.center{
	text-align: center;
}

.checkout-container p{
	font-weight: 300;
	font-size: 20px;
	line-height: 24px;
}

.checkout-info{
	color:#fff;
}

.checkout-info a{
	font-weight: 300;
	font-size: 20px !important;
	line-height: 24px;
	color: #9e9e9e;
	text-decoration: underline;
}

.checkout-info a:hover{
	color: #fff;
}

.checkout-container .checkout-info{
	flex: 0 0 40%;
	padding-right: 6%;
}

.checkout-container .checkout-form{
	flex: 0 0 60%;
	padding-left: 10%;
}

.checkout-body{
	background-color: #141414;
	padding: 80px 0px;
}

.checkout-body h1, .checkout-body h2{
	font-weight: 600 !important;
}

.checkout-container{
	display: flex;
	max-width: 950px;
	margin: 0 auto;
}

h2+p.title{
	margin-top: 35px;
}

p.title{
	margin-bottom: 0;
	font-weight:600;
}

.divider {
	height: 1px;
	background: #fff;
	margin: 25px 0px;
	width: 110%;
}

.form-container {
	background: #fff;
	border-radius: 4px;
	padding: 80px 60px;
}

.form-container h4{

	margin-bottom: 15px;
}


.form-container h4+p{
	font-weight: 500;
	font-size: 18px;
	color: #000;
	margin-bottom: 25px;
}

.form-container h4+p a{
	color: #41bded;
	font-size: 18px;
	font-weight: 500;
}


.form-container input, .form-container select {
	border-radius: 5px !important;
	border: 2px solid #b6b6b6 !important;
	margin-bottom: 10px;
	padding: 14px !important;
}

.form-container .btn {
	width: 100%;
	display: block;
	text-align: center;
	background: #c14c46;
	color:#fff !important;
	padding: 12px !important;
	border: none !important;
	font-weight: 500;
	font-size: 18px;
	border-radius: 5px;
	cursor: pointer;
}

.form-container p.tos {
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
	color: #000;
	margin-top: 20px;
	margin-bottom: 25px;
}

#faculty-check{
	font-weight: 600;
	padding-left: 6px;
}

.faculty-checkbox {
	display: flex;
	margin-top: 20px;
	margin-bottom: 25px;
}

span.wait, span.error, span.success {
	display: block;
	padding: 20px 0px;
	margin: 10px 0px;
	text-align: center;
	color: #000;
	font-style: italic;
}

span.wait{
	border: 1px solid chocolate;
}

span.error{
	border: 1px solid red;	
}

span.success{
	border: 1px solid green;	
}


.checkout-body.act4sdgst .checkout-container{
	max-width: 850px;
}

.post-password-required {
    background: #202020;
    min-height: 395px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.post-password-required h4{
    color: #fff !important;    
   	font-weight: 400 !important;
    margin-bottom: 30px;
}

.post-password-required input[type="submit"] {
    background-color: #535353;
    text-transform: uppercase;
    border-radius:0;
    border: 1px solid #7b7b7b;
    color: #ffffff;
    padding: 10px 40px;
    height: 55px;
}

.post-password-required input#pwbox-5541 {
    background-color: #303030;
    border-radius:0;
    border: 1px solid #7b7b7b;
    height: 55px;
    color: #fff;
}

.post-password-required form{
    width: 500px;
}

.post-password-required form p{
    display: flex;
    gap: 10px;
}


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

	.fields-wrapper {
		display: flex;
	}

	.fields-wrapper	input:first-child{
		margin-right: 4px;
	}

	.fields-wrapper	input:last-child{
		margin-left: 4px;
	}
}


@media only screen and (max-width:767px){
	
	.post-password-required form{
		width: 100%;
		padding: 0 25px;
	}
	.post-password-required form p {
		flex-direction: column;
		gap: 10px;
	}

	.post-password-required form br{
		display: none;
	}
	
	.checkout-container {
    flex-direction: column;
	}

	.checkout-container .checkout-info {
    flex: 0 0 50%;
    padding-right: 20px;
    padding-left: 20px;
	}

	.checkout-container .checkout-form {
    flex: 0 0 50%;
    padding-left: 20px;
    padding-right: 20px;
	}

	.form-container {
    background: #fff;
    border-radius: 4px;
    padding: 40px;
	}

	.checkout-body {
    background-color: #141414;
    padding: 45px 0px;
	}

	div#sub-filter{
		width:100%;
	}
	.divider{
		width: 100%;
	}
}



/* Institutional Membership Registration */
.checkout-body.im-reg{
	background-color: #000;
}

.im-reg .form-container h4 {
    margin-bottom: 30px;
}


.im-reg .form-container input, .im-reg .form-container textarea{
	border-radius: 0px !important;
}

#register-member {
    margin: 40px 0;
}

.im-reg p.tos {
    font-weight: 500;
}

.im-reg p.title{
    margin-bottom: 20px;
}

.im-reg .checkout-info h2{
    margin-bottom: 30px;
}

.how-works{
	display: flex;
	gap: 8px;
}

.divider-im-reg {
    height: 1px;
    background: #b6b6b6;
    margin: 20px 0px;
    width: 100%;
}


/* Stripe Payment Element Styling */
.payment-heading {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
	margin-top: 20px;
    margin-top: 15px;
    color: #000;
}

#payment-element {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    background: #fafafa;
}

.error-message {
    color: #dc3232;
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 10px;
    background: #ffe6e6;
    border-radius: 4px;
    display: none;
}

.error-message:not(:empty) {
    display: block;
}

.success-message {
    color: #46b450;
    font-size: 16px;
    font-weight: 600;
    margin: 20px 0;
    padding: 15px;
    background: #e6ffe6;
    border-radius: 4px;
    text-align: center;
}

#register-member:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Stripe Elements customization */
.StripeElement {
    padding: 12px;
    border: 2px solid #b6b6b6;
    border-radius: 5px;
    background: white;
}

.StripeElement--focus {
    border-color: #0570de;
    box-shadow: 0 0 0 2px rgba(5, 112, 222, 0.1);
}

.StripeElement--invalid {
    border-color: #dc3232;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}

/* Payment Summary Section */

.summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 16px;
    color: #333;
}

.summary-row.total-row {
    font-weight: 600;
    font-size: 18px;
    color: #000;
}

.summary-label {
    font-weight: 600;
}

.summary-value {
    font-weight: 700;
}

.page-id-7111 .elementor-element-41355b5, .page-id-7111 .elementor-element-13b934c {
    display: none;
}



.givewp-form-switcher .form-selector{
	margin-bottom: 20px;
}

.givewp-form-switcher .radio-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.5;
    padding: 8px 0;
}

.givewp-form-switcher .radio-label input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #d0d0d0;
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
    margin: 0 12px 0 0;
    background-color: white;
}

.givewp-form-switcher .radio-label input[type="radio"]:checked {
    border-color: #cf4040;
}

.givewp-form-switcher .radio-label input[type="radio"]:checked::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #cf4040;
}

.givewp-form-switcher .radio-text {
    color: #333;
}

.givewp-form-switcher .radio-text strong {
    font-weight: 600;
    color: #000;
}

