/*
 * Place styles that should apply globally to the theme here
 *
 */

:root {
	--circle-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cg clip-path='url(%23clip0_1665_3418)'%3E%3Cpath d='M5.14258 10.2857L7.77829 12.3943C7.84908 12.4525 7.93197 12.4943 8.02093 12.5166C8.10989 12.5388 8.20269 12.5409 8.29258 12.5228C8.38333 12.5058 8.46935 12.4694 8.54478 12.4162C8.62021 12.3629 8.68329 12.2941 8.72972 12.2143L12.8569 5.14282' stroke='%23213F97' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3Cpath d='M8.99972 17.3571C13.6152 17.3571 17.3569 13.6155 17.3569 8.99996C17.3569 4.38444 13.6152 0.642822 8.99972 0.642822C4.3842 0.642822 0.642578 4.38444 0.642578 8.99996C0.642578 13.6155 4.3842 17.3571 8.99972 17.3571Z' stroke='%23213F97' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_1665_3418'%3E%3Crect width='18' height='18' fill='white'%3E%3C/rect%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
	--spain-flag: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAAlCAMAAAAgENppAAABKVBMVEWtFRn6vQCoABrrpAr7vwD+wAD/wwDosAD1uhPaqimWez/uthn5vQ7yuBrPoya1kTfrmgCeekbokgW2jzLfrCbotiScIx6gICKkICuOSRCnHCuXNR2sACTJoCbnqgfbpACNUCiDXBiOVRCHTRa7gwrDigRwPAbfmQ+sbBFzKhCMMzCcYleZf1PlvFSiagCXYAmOfVGQOxikHBi5Ymu8tLy3hZ6wpLioi0Dqw2S4urd6ZQW5mK/JWKLpu0DXwY3Mu5SuRSuoTUavSBV8ayagL063q6m8cKDEq7+qZE2zVjmeQzHCkGeRIiwpU4uCS2C2n6y3hYe2oJS+WTBZPHGFJEWWMQCGMwDKgVG0Q0GfTxe5qJKgknPHp1m6nVqGemphZXGqjHqXUU7Qoz/+r4YYAAABFklEQVRIiWNgGAXDAjCRCRiYyQQMLBiAFVMIC2BgRAes7KwYYlgAhkYOTi5Obh6SNfLy8QsICglzipCokVVUTFxCUkpaRpagc1E1yrHJKygqKSqrsHFwkKCRVVWNRV1DU0tbR5dDT5+NBI18BiwyhkbGJqZmuvzmBByL4lQLSzYZK0ljaxsTWzt7EjTyODg6yTgru7i6uXt4eqmzEO9UbxNmcS0fXz9Xf9uAQDnibWQJMuZRUpIODgkNEwiPIEEjq7clo6RSpJOhsrSAXRQz8RoZbaNZgRoNQ6WlmWNiSQgc1rh4PlVJhYRE8Uie+HheEjQmJYmwcVjExIiw8SQlEdKIkhNZWcEEmCSUH8kuAcguc0bBsAAA4zMk5KbuvHQAAAAASUVORK5CYII=");
}

*::selection {
	background-color: var(--e-global-color-f59547a);
	color: var(--e-global-color-text);
}
 
 /* Header */

a#elementor-menu-cart__toggle_button {
	padding: inherit;
	background-color: inherit;
	border: inherit;
}

/* Special style for the last nav menu item on the main nav bar */

div.main-nav nav > ul:first-child > li:last-child a {
 	background-color: var(--e-global-color-primary);
 	color: var(--e-global-color-f59547a) !important;
 	font-size: 1rem !important;
 	padding: 12px 15px !important;
 	border-radius: 20px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	max-height: 40px;
	align-self: center;

	svg {
		width: 15px;
		path { transition: .4s; }
	}

	&::after {
		content: '';
		position: relative;
		width: 15px;
		background-color: inherit;
	}

	&:has(svg) {
		&::after {
			display: none !important;
		}
	}

	&:hover {
		background-color: var(--e-global-color-f59547a);
		color: var(--e-global-color-primary) !important;

		svg > path {
			fill: var(--e-global-color-primary);
		}
	}
}

.language-switcher {
	a.elementor-item {
		font-weight: 700 !important;
		color: var(--e-global-color-f59547a) !important;

		&::after {
			content: '';
			position: relative;
			background-image: var(--spain-flag);
			background-size: contain;
			background-position: center;
			background-repeat: no-repeat;
			background-color: #0000 !important;
			width: 15px !important;
			height: 20px !important;
			margin-inline-start: 10px;
			opacity: 1 !important;
		}
	}	
}

 /* Footer */

.marketing-susbcribe {
	.elementor-field-group.elementor-column.elementor-field-type-submit {
		flex-basis: content;
		flex-shrink: 0;
	}
}

.footer-newsletter {
	.ctct-form {
		display: flex;
	}

	.ctct-label-top label {
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		top: -10000em;
		width: 1px;
		clip: rect(0, 0, 0, 0);
		border: 0;
 	}

	.ctct-form-field-email {
		flex-basis: 100%;

		input {
			width: 100%;
			background-color: #F7F7F7;
			outline: none !important;
			border: none;
			border-radius: 50px 0 0 50px;
			padding: 12px 15px;
			font-size: 16px !important;
		}
	}

	.ctct-form-field-submit {
		input {
			background-color: var(--e-global-color-primary) !important;
			outline: none !important;
			border: none !important;
			padding: 12px 20px !important;
			border-radius: 0px 50px 50px 0px !important;
		}
	}
}
 /* Global Style */

.elementor-heading-title span {
	display: block;
	color: var(--e-global-color-accent);

	h1 & { font-size: 2.625rem; }
	h2 & { font-size: 1.875rem; }
}

 .waves-border {
	&.only-top::after {
		display: none !important;
	}
	&.only-bottom::before {
		display: none !important;
	}

	&.dark-blue::before {
		background-image: url('/wp-content/uploads/2025/10/intersecting-waves-darkblue-up.webp') !important;
	}

	&.dark-blue::after {
		background-image: url('/wp-content/uploads/2025/10/intersecting-waves-darkblue-down.webp') !important;
	}
 }

 .elementor-widget-text-editor {
	*:first-of-type {
		margin-top: 0 !important;
	}
 }

#front-page-hero {
	height: calc(100vh - 180px);
}
 
.click-flip-box {
	max-width: unset !important;

 	.click-flip-box__content {
		position: inherit;
		width: calc(100% - 20px);
	}
}

.faq-accordion {
	&.elementor-widget-n-accordion .e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg {
		fill: #0000 !important;
	}	

	.full .e-n-accordion .e-n-accordion-item {
		display: flex !important;	
	}
}

#faq-show-more {
	cursor: pointer;
}
 
 .materials-box {
	.elementor-icon-box-title {
		margin: 0 !important;
	}
	
	.elementor-widget-text-editor p {
		margin-bottom: 0;
	}
 }

 .partners-caroussel {
	.swiper-wrapper {
		transition-timing-function: linear !important;
	}
 }

.contact-form.elementor-widget-form {
	select:focus,
	select:active {
		color: var(--e-global-color-text);
	}

	.elementor-message {
		position: absolute;
		right: 0;
		transform: translate(0px, -100%);
		margin: 0;
	}
}

.elementor-counter-title {
	text-align: center !important;
}

/* Student Materials */

.student-box {
	.student-box__image.e-con.e-flex {
		flex-shrink: 0;
	}

	.student-box__expand-button {
		position: relative;
		cursor: pointer;

		.elementor-button-icon {
			transform: rotate(90deg);
		}

		&::after {
			content: '';
			position: absolute;
			width: 100%;
			height: 2px;
			bottom: -5px;
			left: 0px;
			background-color: var(--e-global-color-accent);
		}
	}

	.student-box__expand-container {
        grid-column: 1/3;
        transform: translateY(0%);
        opacity: 1;
        max-height: 2000px;
        overflow: hidden;
        will-change: transform, opacity;
        transition:
            transform 800ms cubic-bezier(.2, .9, .2, 1),
            opacity 500ms ease,
            max-height 500ms ease 0s,
            padding 0ms ease 0ms;
    }

    .student-box__expand-container:not(.expanded) {
        max-height: 0;
        padding: 0;
        pointer-events: none;
        opacity: 0;
        transform: translateY(-100%);
        transition:
            transform 800ms cubic-bezier(.2, .9, .2, 1),
            opacity 500ms ease,
            max-height 500ms ease 100ms,
            padding 0ms ease 500ms;
    }

	.student-box__white-container {
		overflow: hidden;

		&::after {
			content: '';
			position: absolute;
			background-color: var(--e-global-color-primary);
			width: 30px;
			height: 15px;
			bottom: -0.2px;
			left: 450px;
			clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
			transition:	transform 300ms ease;
            transform: translateY(100%);
		}
				
		&:has(~ .student-box__expand-container.expanded)::after {
            transform: translateY(0%);
		}
	}
}

 /* Store */

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: none !important;
	color: var(--e-global-color-accent);
}

.ap-store-feed {

	.woocommerce-LoopProduct-link img {
		height: 320px !important;
		object-fit: contain;
	}

	.woocommerce-ordering {
		display: flex;
		align-items: center;
		margin-bottom: 40px;

		select {
			border: none !important;
			outline: none !important;
			border-radius: 50px;
			background-color: #F7F7F7;
			padding: 8px 36px 8px 16px;
			color: #545454;
			font-family: var(--e-global-typography-text-font-family), Sans-serif;
			font-size: var(--e-global-typography-text-font-size);
			font-weight: var(--e-global-typography-text-font-weight);
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
		}

			&:has(select:active)::after,
			&:has(select:focus)::after {
				transform: rotate(0deg) scale(0.8);
			}

		&::after {
			content: url('/wp-content/uploads/2025/10/up-circle-arrow-gray.svg');
			position: absolute;
			right: 10px;
			width: 20px;
			height: 20px;
			transform: rotate(180deg) scale(0.8);
		}
	}

	.woocommerce ul.products li.product .button {
		height: 0;
		padding: 0 !important;
		margin: 0 !important;
	}
}

.product-detail {

	.price {
		margin: 0;
	}

	.quantity {
		margin: 0 !important;

		.qty {
			width: 4.631em;
			outline: none;
		}
	}

	.elementor-widget-woocommerce-product-content {
		ul {
			padding-inline-start: 0px;
		    display: flex;
    		flex-flow: column;
			gap: 10px;

			li {
				list-style: none;
				display: flex;
				align-items: center;
				
				&::before {
					content: '';
					display: inline-block;
					width: 15px;
					height: 15px;
					background-image: var(--circle-check);
					background-size: contain;
					background-repeat: no-repeat;
					margin-right: 5px;
				}
			}
		}
	}
}

.related-materials .product a img {
 	height: 250px !important;
 	object-fit: contain;
}

.woocommerce-message {
 	border: none;
 	color: var(--e-global-color-text);
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
 	margin: 0;
	outline: none !important;

	&::before {
		color: var(--e-global-color-accent);
		top: 50%;
		transform: translateY(-50%);
	}

	&::after {
		display: none;
	}

	a.button{
		padding: 10px 15px;
		border-radius: 30px;
		background-color: var(--e-global-color-accent);
		color: #fff;
	}
}

.woocommerce-page {
	main#content {
		max-width: 1100px;
		margin: 80px auto;
	}

	.wc-block-cart-items th, .wc-block-cart__totals-title {
		color: var(--e-global-color-primary) !important;
	}

	.wc-block-components-product-name {
		font-family: 'Lato', sans-serif;
		font-weight: 600;
		text-decoration: none;
	}

	.wc-block-components-product-metadata {
		display: none !important;
	}

	.wc-block-components-totals-item__label {
		font-size: 1rem !important;
	}

	.wc-block-cart__submit-button {
		border-radius: 30px;
		background-color: var(--e-global-color-accent);
		color: #fff !important;
	}

	.wc-block-components-totals-coupon__form {
		gap: 0;

		.wc-block-components-totals-coupon__input {
			input {
				background-color: #F7F7F7 !important;
				color: var(--e-global-color-text);
				height: 100%;
				border-radius: 30px 0px 0px 30px;
				padding-inline-start: 15px !important;
				outline: none !important;
				border: none !important;
			}
			label {
				margin-inline-start: 10px;
			}
		}

		.wc-block-components-totals-coupon__button {
			border-radius: 0px 30px 30px 0px !important;
		}
	}

	hr.wp-block-separator.has-alpha-channel-opacity.is-style-dots {
		display: none;
	}

	.wp-block-woocommerce-empty-cart-block {
		.wp-block-heading {
			font-family: 'Lato', sans-serif;
			color: var(--e-global-color-primary);

			&.wc-block-cart__empty-cart__title {
				margin-bottom: 120px;

				&::before {
					transform: scale(0.7);
					margin: 0 auto 1em;
				}
			}

			&:not(.wc-block-cart__empty-cart__title) {
				font-size: var(--e-global-typography-f054856-font-size);
				margin-bottom: 20px;
			}
		}

		.wp-block-product-new {
			ul {
				gap: 40px
			}

			.wc-block-grid__product {
				margin: 0;
				flex-basis: calc(40px - (100% / 4));
			}

			.wc-block-grid__product-link {
				text-decoration: none;
			}

			.wc-block-grid__product-add-to-cart a {
				background-color: var(--e-global-color-accent);
				color: #fff;
				font-size: 1rem;
			}
		}
	}
}

.woo-search-result {
	span.elementor-icon-list-text.elementor-post-info__item {
		display: flex;
		flex-wrap: wrap;

		a:not(:first-child) {
			margin-inline-start: 5px;
		}
	}
}


/* Teacher Resources Center */

.trc-widget {
	.trc-widget__title {
		grid-column: 1/-1;
	}

	.elementor-widget-text-editor {
		ul {
			padding-left: 0px;
			display: flex;
			flex-direction: column;
			gap: 10px;

			li {
				list-style: none;

				&::before {
					content: '';
					display: inline-block;
					width: 15px;
					height: 15px;
					background-image: var(--circle-check);
					background-size: contain;
					background-repeat: no-repeat;
					margin-right: 8px;
				}
			}
		}
	}
}

.trc-lightbox {
	opacity: 0;
	visibility: hidden;
	transition: opacity 300ms ease, visibility 300ms ease;
	pointer-events: none;

	&.trc-lightbox--active {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
}

@media (max-width: 768px) {

	.ap-store-feed {
		.woocommerce-ordering {
			position: relative;
			width: fit-content;
			margin: 0 auto 40px auto;
			float: none;
		}

		.woocommerce-LoopProduct-link img {
			height: auto !important;
		}

		.woocommerce-loop-product__title {
			font-size: initial !important;
		}
	}
 }