﻿:root {
	--jmc_header_notification_height: 40px;
	--jmc_header_height: 116px;
	--jmc_footer_height: 270px;
	--jmc_Hover: var(--jmc-state-layers-light-on-surface-opacity-008);
}
/* Reset some default styles */
/** {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}*/

body {
	font-family: 'Roboto', Arial, sans-serif;
}

A:hover {
	text-decoration: none !important;
}

/*override for style_new start*/

	.textbox-large:focus {
		border-bottom: 2px solid var(--jmc-sys-light-on-surface-variant) !important;
	}

	.textbox-large:focus ~ .floating_label_box-large {
		color: var(--jmc-sys-light-on-surface-variant) !important;
	}


.avatar {
	border-radius: 8px;
}
/*override for style_new end*/


.MainContent {
	padding-bottom: 40px;
	/*min-height: 594px;*/
	/*height: calc(100% - ((var(--jmc_footer_height)) + (var(--jmc_header_height))));*/
}

.MainContent_with_notification {
	padding-bottom: 40px;
	/*min-height: 554px;*/
	/*height: calc(100% - (var(--jmc_header_notification_height) + var(--jmc_footer_height) + var(--jmc_header_height)));*/
}


.GS_body {
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	margin: 0px;
	width: 100%;
	/* display: flex;*/
}

/* notification and header */
.notification_and_header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
/* Notification Bar */
.notification_bar {
	background-color: var(--School_Primary_color);
	display: flex;
	width: 100%;
	padding: 10px;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 10px;
}

.notification_bar_text {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: var(--jmc-font-weight-regular);
	font-size: 14px !important;
	line-height: 20px;
	/* letter-spacing: 0.25px; */
	color: var(--School_Header_text_color);
}



/* Header */
.GS_header {
	display: flex;
	height: 116px;
	padding: 0px 30px;
	justify-content: space-between;
	align-items: start;
	align-self: stretch;
	background: var(--jmc_White);
	flex-wrap: wrap;
}

.mobile_menu_and_logo {
	display: flex;
	align-items: center;
	gap: 25px;
}

.mobile_menu_icon {
	display: none;
}

.logo {
	display: flex;
	width: 145px;
	height: 106px;
	padding: 25.5px 16px 10px 16px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	order: 1;
	background-position: center;
	/*background-size: contain;*/
	background-repeat: no-repeat;
}

	.logo img {
		border-width: 0px;
		width: -webkit-fill-available;
		height: -webkit-fill-available;
	}

/* Navigation Menu */
.nav_menu {
	display: flex;
	/*height: 116px;*/
	padding: 56px 0px 0px 0px;
	align-items: flex-end;
	gap: 53px;
	order: 2;
}

.nav_item {
	display: flex;
	padding: 10px 10px 14px 10px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

	.nav_item:hover {
		padding: 10px 10px 12px 10px;
		border-bottom: 2px solid var(--School_Primary_color);
	}

/* Utility Links */
.utility_links {
	display: flex;
	min-width: 140px;
	height: 100%;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	order: 3;
	padding: 19px 0px 19px 0px;
}

.utility_links_Text {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 24px;
	align-self: stretch;
}

.link_Text_item {
	/*padding-bottom: 1px;*/
	cursor: pointer !important;
	border-bottom: 1px solid var(--jmc_Transparent);
	padding: 3px 0px;
}

	.link_Text_item:hover {
		text-decoration: underline !important;
		text-decoration-color: var(--School_Primary_color) !important;
		text-underline-offset: 3px;
	}

.utility_links_Icons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	align-self: stretch;
}

.utility_links_Icon {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.account_icon {
	display: none;
}

.utility_links_Icon_statelayer {
	display: flex;
	padding: 8px;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

	.utility_links_Icon_statelayer:hover {
		border-radius: 100px;
		background: var(--jmc-state-layers-light-on-surface-opacity-008);
	}

.cart-container {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
}
.cart-badge {
	position: absolute;
	top: -10px;
	right: -5px;
	background-color: var(--jmc-ref-neutral-variant-neutral-variant30);
	color: var(--jmc_White);
	text-align: center;
	font-family: Roboto;
	font-size: 10px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	border-radius: 50%;
	padding-left: 5px;
	padding-right: 5px;
	min-width: 8px;
	height: 18px;
	align-content: center;
}

@media all and (max-width: 1280px) {
	.GS_header {
		flex-wrap: wrap;
		height: 184px;
	}

	.nav_menu {
		height: 61px;
		width: 100%;
		padding: 0px 0px;
		align-items: start;
		order: 3;
		justify-content: center;
	}

	.utility_links {
		width: auto;
		order: 2;
		max-height: 107px;
		padding: 19px 0px 0px 0px;
	}
}

@media all and (max-width: 768px) {
	.GS_header {
		flex-wrap: nowrap;
		height: 116px;
		padding: 0px 16px;
		align-items: center;
	}

	.mobile_menu_and_logo {
		gap: 0px !important;
	}

	.mobile_menu_icon {
		display: flex;
	}

	.nav_menu {
		display: none;
		order: 3;
	}

	.utility_links_Text {
		display: none;
	}

	.utility_links {
		height: auto;
		order: 2;
		padding: 0px;
	}

	.favorites_icon {
		display: none;
	}

	.account_icon {
		display: flex;
	}

	.footer {
		padding: 43px 32px 0px 32px !important;
	}

	.footer_logo {
		display: none !important;
	}

	.footer_info_links {
		gap: 31px !important;
	}
}




/* Dropdown styling */
.dropdown_nav_container {
	display: none;
	align-items: flex-start;
	flex-direction: row;
	justify-content: center;
	position: absolute;
	left: 0;
	background-color: #fff;
	box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.1);
	padding: 16px 20px 20px 20px;
	gap: 30px;
	width: 100%;
	z-index: 999;
}

	.dropdown_nav_container.open {
		display: flex !important;
	}

.dropdown_column {
	min-width: 150px;
}

.dropdown_column_highlighted_fields {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 17px;
}

.dropdown_column_section_fields {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}

.dropdown_column_section_items {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

/* cart_popup styling */
.cart_popup {
	flex-direction: column;
	width: 0px;
	background-color: var(--jmc_White);
	position: fixed;
	top: 0;
	right: 0px;
	height: 100%;
	overflow-y: auto;
	/*padding: 20px;*/
	/*padding-right: 16px;*/
	display: none;
	z-index: 901;
	align-items: center;
	overflow: hidden;
}

/*.cart_popup_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
}*/

.cart_messages {
	display: flex;
	width: calc(100% - 52px);
	padding: 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	align-self: stretch;
	border-radius: 20px;
	border: 1px solid var(--School_Primary_color);
	background: var(--jmc_Card_Background_Gray);
	margin-left: 24px; 
	margin-bottom: 16px;
}

.cart_message_text_wraper {
	display: flex;
	align-items: flex-start;
	align-self: stretch;
}

.cart_message_text_frame {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	flex: 1 0 0;
}

.cart_message_images {
	display: flex;
	align-items: center;
	gap: 16px;
}
.cart_message_product_images {
	max-width: 50px;
	max-height: 50px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	flex-shrink: 0;
}

.cart_popup_content_wrapper {
	padding-right: 10px;
	width: 100%;
	height: 100%;
}

.cart_popup_content {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 0px 10px 0px 24px;/* top | right | bottom | left */
	flex-direction: column;
	align-items: center;
	gap: 16px;
	min-height: 112px;
	/* max-height: 538px; */
	overflow: hidden;
	overflow-y: scroll;
}

.cart_popup_products {
	display: flex;
	width: 100%;
	/*padding-top: 12px;*/
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	/*max-width:388px;*/
	/*min-height: 112px;*/
	/*max-height: 538px;*/
	/*overflow: hidden;
	overflow-y: scroll;*/
}

.cart_popup_products_row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	align-self: stretch;
}

.cart_popup_products_row_frame {
	display: flex;
	width: 329px;
	align-items: center;
	gap: 24px;
	align-self: stretch;
}

.cart_popup_products_row_details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	flex: 1 0 0;
	align-self: stretch;
}

.cart_popup_products_row_details_title_price {
	display: flex;
	padding-top: 8px;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	align-self: stretch;
}

.cart_popup_products_row_price_size {
	display: flex;
	align-items: flex-start;
	column-gap: 8px;
	flex-wrap: wrap; /* 💡 allow items to wrap */
}

.cart_popup_products_remove {
	background: none;
	border: none;
	cursor: pointer;
}

.cart_popup_footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
	position: static;
	width: 100%;
	padding: 0px 32px 24px;/* top | left and right | bottom */
}

.cart_popup_footer_subtotal {
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
	margin-top: 16px;
}

.cart_popup_footer_buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	align-self: stretch;
}

.cart_popup_footer_buttons_frame {
	display: flex;
	align-items: center;
	gap: 24px;
	align-self: stretch;
}

/* End cart_popup */

/* My Account popup */

.popup_header {
	display: flex;
	/*height: 60px;*/
	padding: 24px 24px 14px;/* top | left and right | bottom */
	justify-content: space-between;
	/*align-items: flex-start;*/
	align-items: center;
	flex-shrink: 0;
	align-self: stretch;
}

.my_account_popup_items {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
}

.my_account_popup_footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
	position: static;
	width: 100%;
}

.my_account_popup_footer_buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	align-self: stretch;
}

.my_account_popup_footer_buttons_frame {
	display: flex;
	align-items: center;
	gap: 24px;
	align-self: stretch;
}


/*End My Account popup */
.button_school_primary_outline {
	height: 40px;
	background-color: transparent;
	border-radius: 100px;
	font-family: 'Roboto' !important;
	font-style: normal;
	font-weight: var(--jmc-button-text-weight);
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	width: auto;
	border: 1px solid var(--School_Primary_color);
	color: var(--jmc-ref-neutral-neutral30);
	box-sizing: border-box;
	vertical-align: middle;
	padding-left: 24px;
	padding-right: 24px;
	cursor: pointer;
}

	.button_school_primary_outline:hover {
		color: var(--jmc-ref-neutral-neutral30);
		background-color: var(--jmc-state-layers-light-on-surface-opacity-008);
		border: 1px solid var(--School_Primary_color) !important;
		outline: none;
	}



/* Login Sign up styling */


.login_signup_popup {
	flex-direction: column;
	width: 0px;
	background-color: var(--jmc_White);
	position: fixed;
	top: 0;
	right: 0px;
	height: 100%;
	overflow-y: auto;
	/*padding: 20px;*/
	display: none;
	z-index: 901;
	align-items: center;
}

.login_signup_popup_header {
	/*display: flex;
	justify-content: space-between;
	align-items: center;
	align-self: normal;*/
	padding: 24px 24px 10px;/* top | left and right | bottom */
}

.login_signup_popup_content {
	display: flex;
	max-width: 356px;
	padding: 40px 24px 24px 24px;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

	.login_signup_popup_content .button_gray {
		margin-top: 3px;
	}

@media (max-width: 394px) {

	.login_signup_popup_content {
		padding: 40px 16px 24px 16px;
	}

}

.login_signup_popup_frame {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.login_signup_popup_title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	align-self: stretch;
}

.login_signup_popup_title_center {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	align-self: stretch;
	text-align: center;
}

.login_signup_popup_body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	align-self: stretch;
}

.login_signup_popup_required {
	display: flex;
	align-items: flex-start;
	gap: 6px;
}

.login_signup_popup_required_field {
	color: var(--jmc_Red);
	text-align: center;
	font-family: Roboto;
	font-size: 14px;
	font-style: normal;
	font-weight: var(--jmc-font-weight-regular);
	line-height: 20px; /* 142.857% */
}

.login_signup_popup_edit_Email {
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
}

.login_signup_popup_edit_Email_button {
	display: flex;
	padding: 10px 16px 10px 12px;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.login_signup_popup_buttons {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 29px;
	align-self: stretch;
}

.login_signup_input_buttons {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0px;
	align-self: stretch;
}

.login_signup_buttons_pad {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-items: center;
}

.login_signup_input_fields {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0px;
	align-self: stretch;
}

.login_signup_popup_sso {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.login_signup_popup_sso_icons {
	display: flex;
	align-items: center;
	gap: 13px;
}

.login_signup_popup_footer_links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
}

.login_signup_popup_footer_links_forgot {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.login_div_spacer{
	width: 0px;
	display: flex;
}

.login_signup_password_requirements {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding-bottom: 28px;
	width: 100%;
}
.login_signup_password_requirement {
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: stretch;
}
.login_signup_password_requirement_icon {
	display: flex;
	width: 24px;
	height: 24px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.login_signup_password_requirement_text {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.login_signup_pin_container {
	padding: 16px 0px;
	margin: auto;
}

.login_signup_pin_buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: auto;
}

	.login_signup_pin_buttons .button_gray {
		margin-top: 0px !important;
	}

.mobile_menu {
	flex-direction: column;
	width: 336px;
	background-color: var(--jmc_White);
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	/*overflow-y: auto;*/
	padding: 20px;
	display: none;
	z-index:999;
}

.mobile_menu_frame {
	display: flex;
	/*  padding: 0px 24px;*/
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	flex: 1 0 0;
	align-self: stretch;
	overflow:auto;
}

.mobile_menu_frame_navigation {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	align-self: stretch;
	padding-bottom: 20px;
	width:295px;
}

.mobile_menu_frame_footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.mobile_menu_header {
	display: flex;
	/*height: 60px;*/
	padding: 0px 0px 18px 0px;
	justify-content: space-between;
	align-items: flex-end;
	flex-direction: column;
}

.mobile_menu_close {
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	height: fit-content;
	width: fit-content;
}

.mobile_menu_layer1_group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}

.mobile_menu_layer1_row {
	display: flex;
	height: 30px;
	padding: 2px 0px;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
}

.mobile_menu_layer2_submenu {
	display: none;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}


.mobile_menu_layer2_submenu_frame {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	align-self: stretch;
}

.mobile_menu_layer2_row {
	display: flex;
	height: 30px;
	padding: 2px 0px;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
}

.mobile_menu_layer3_submenu_frame {
	display: none;
	width: 276px;
	padding: 0px 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	border-left: 1px solid var(--School_Primary_color);
}

.mobile_menu_layer3_submenu_frame_open {
	display: flex;
	width: 276px;
	padding: 0px 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	border-left: 1px solid var(--School_Primary_color);
}

.mobile_menu_open_submenu {
	display: flex !important;
}

.mobile_menu_layer .toggle {
	position: absolute;
	right: 0;
	font-size: 20px;
	cursor: pointer;
}

.mobile_menu_horizontal_line {
	width: 288px;
	height: 1px;
	background: var(--jmc-outline-variant);
}

/* Footer */
.footer {
	display: flex;
	padding: 40px 64px 0px 64px;
	flex-direction: column;
	align-items: flex-start;
	gap: 44px;
	align-self: stretch;
	background-color: var(--jmc_White);
	border-top: 1px solid var(--jmc-ref-neutral-neutral90);
}

.footer_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-self: stretch;
	flex-wrap: wrap;
	gap: 30px;
}

.footer_main_section {
	display: flex;
	padding-right: 16px;
	align-items: center;
	gap: 8px;
	/* flex: 1 0 0;*/
	flex-wrap: wrap;
}

.footer_social {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 14px;
}

.footer_logo {
	display: flex;
	width: 161px;
	padding: 16px 16px 10px 16px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex: 0;
}

.footer_logo_img {
	border-width: 0px;
	width: -webkit-fill-available;
	height: -webkit-fill-available;
}

.footer_info_links {
	display: flex;
	align-items: flex-start;
	gap: 54px;
	flex-wrap: wrap;
}

.footer_info {
	display: flex;
	/*height: 138px;*/
	padding-left: 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	border-left: 1px solid var(--School_Primary_color);
	cursor: default;
}

.footer_address {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.footer_links {
	display: flex;
	padding-left: 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	border-left: 1px solid var(--School_Primary_color);
}

.footer_social {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 14px;
}

.footer_social_icon {
	display: flex;
	padding: 8px;
	align-items: flex-start;
	gap: 10px;
	border-radius: 100px;
	background: var(--School_Primary_color);
	filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(var(--School_Social_Icon_color));
	cursor: pointer;
}

	.footer_social_icon:hover {
		filter: brightness(0.85);
	}

.social_icon_small {
	display: inline-block;
	width: 20px;
}

.footer_legal_info {
	display: flex;
	height: 45px;
	justify-content: center;
	align-items: flex-end;
	gap: 16px;
	align-self: stretch;
}

.footer_legal_info_links {
	display: flex;
	height: 44px;
	padding: 14px 0px;
	align-items: center;
	gap: 16px;
	flex: 1 0 0;
}

.footer_legal_info_logo {
	display: flex;
	width: 100px;
	height: 57px;
	padding: 4px 8px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 2px;
	border-radius: 16px 16px 0px 0px;
	background: var(--jmc-sys-light-primary);
	box-shadow: 0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px 0px rgba(0, 0, 0, 0.30);
}

.no_content {
	display: flex;
	padding: 40px 0px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 9px;
	align-self: stretch;
}

.back_arrow {
	display: flex;
	cursor: pointer;
	border-radius: 100%;
}

.back_arrow:hover {
	box-shadow: 0 0 0 5px var(--jmc_Hover);
	background-color: var(--jmc_Hover);
}

.nowrap {
	white-space: nowrap;
}