/*
-------------------------------------------------------------|
---                   Custom Stylesheet                   ---|
---                    MyNouriti.co.za                    ---|
-------------------------------------------------------------|
                                                       INDEX |
-------------------------------------------------------------|
- FONT IMPORT
- VARIABLES
- TYPOGRAPHY & RESETS
- GENERAL STYLES
- HEADER
- CF7
- FOOTER
- FRONT PAGE
- WOOCOMMERCE PRODUCTS
- FAQ
- SECONDARY GENERAL
- WOOCOMMERCE ACCOUNT
- WOOCOMMERCE CART/CHECKOUT
- RESPONSIVE
-------------------------------------------------------------|
                                                 FONT IMPORT |
-------------------------------------------------------------|
*/

@import url('https://fonts.googleapis.com/css2?family=Monoton&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/*
-------------------------------------------------------------|
                                                   VARIABLES |
-------------------------------------------------------------|
*/

:root {

	--color-green: #85ad55;
	--color-green-lighter: #a3c468;
	--color-pink: #F36F63;
	--color-navy: #231e41;

	--fontsize-heading-title: 48px;
	--fontsize-heading-primary: 36px;
	--fontsize-heading-secondary: 32px;
	--fontsize-heading-tertiary: 26px;
	--fontsize-heading-quarternary: 22px;
	--fontsize-body-large: 18px;
	--fontsize-body-normal: 16px;
	--fontsize-body-small: 14px;
	--fontsize-body-tiny: 11px;

	--fontfamily-body: "Rubik", sans-serif;
	--fontfamily-headings: "Rubik", sans-serif;

	/*for animate lib - cut down delays in half*/
	--animate-delay: 0.2s !important;

	color-scheme: only light;
}

/*
-------------------------------------------------------------|
                                         TYPOGRAPHY & RESETS |
-------------------------------------------------------------|
*/

html {
 	scroll-behavior: smooth;
}

body * {
 	scroll-margin-top: 105px;
}

body {
	color: var(--color-navy);
	font-size: 14px;
	font-weight: 400;
	font-family: var(--fontfamily-body);
	margin: 0;
	line-height: 1.6;
	background-color: #fff;
}

body,
button, 
input, 
select, 
optgroup, 
textarea {
	font-family: var(--fontfamily-body);
}

.post, 
.page {
	margin: 0;
}

body > * {
	max-width: 1920px;
	margin: auto;
}

a,
a:visited,
a:hover,
a:focus,
a:active {
	outline: 0;
	text-decoration: none;
	color: var(--color-pink);
}

h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
	font-weight: 600;
	font-family: var(--fontfamily-headings);
}

h1 {
	line-height: 1.1;
	margin: 0 0 25px;
	font-size: var(--fontsize-heading-primary);
}

h2 {
	font-size: var(--fontsize-heading-secondary);
	margin-bottom: 0.5em;
	line-height: 1.1;
}

h3 {
	font-size: var(--fontsize-heading-tertiary);
	text-transform: uppercase;
	margin: 0;
}

h4,
h5,
h6 {
	font-size: var(--fontsize-heading-quarternary);
}

p {
	font-size: var(--fontsize-body-normal);
	line-height: 1.5;
}

ul,
ol {
	margin: 0;
	padding-left: 20px;
	font-size: var(--fontsize-body-normal);
}

mark, 
ins {
	background: transparent;
}

fieldset {
	padding: 0 20px 20px;
}

.max-width-container {
	max-width: 1165px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.max-width-container .max-width-container {
	width: 100%;
}

body.logged-in .show-logged-out,
body:not(.logged-in) .show-logged-in {
	display: none;
}

.entry-footer {
	display: none;
}

.entry-content,
.hentry {
	margin: 0;
}

.button, 
.wc-block-components-button,
.wpcf7-form-control.wpcf7-submit {
	padding: 0 25px;
	display: inline-block;
	font-size: var(--fontsize-body-normal);
	transition: all 0.1s ease 0s;
	border: 0px solid var(--color-green) !important;
	position: relative;
	z-index: 1;
	color: #ffffff !important;
	background-color: var(--color-green) !important;
	border-radius: 0;
	height: 40px;
	line-height: 40px;
	cursor: pointer;
	font-weight: 400;
	text-transform: uppercase;
	font-family: var(--fontfamily-body);
}

.button:hover,
.wc-block-components-button:hover,
.wpcf7-form-control.wpcf7-submit:hover {
	background-color: var(--color-pink) !important;
}

.clear:after,
.clear::before,
.clear::after,
.clear {
	clear: both;
}

.parent-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.half {
	width: 50%;
}

.third {
	width: 33.3%;
}

.twothirds {
	width: 66.6%;
}

.overflow-container {
	overflow: hidden;
}

#page {
  	overflow-x: hidden !important;
}

.entry-footer {
	display: none;
}

.entry-content,
.hentry {
	margin: 0;
}

#primary {
	margin-top: 80px;
}

.custom_animate {
	opacity: 0;
}

.custom_animate.custom_animation_in-complete {
	opacity: 1;
}

.blur-this {
	filter: blur(3px);
	transition: all 0.3s ease 0s !important;
	pointer-events: none;
}

#wpadminbar {
	z-index: 999999;
}

.impact {
	font-family: "Monoton", sans-serif;
}

/*
-------------------------------------------------------------|
                                              GENERAL STYLES |
-------------------------------------------------------------|
*/

input::-webkit-input-placeholder {
/*  color: red !important;*/
}

input::-moz-placeholder {
/*  color: red !important;*/
  opacity: 1;
}

input:-ms-input-placeholder {
/*  color: red !important;*/
}

input::-ms-input-placeholder {
/*  color: red !important;*/
}

.custom-dropdown {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.custom-dropdown, 
span.ui-selectmenu-button.ui-button {
	width: 100%;
	display: block;
	border-radius: 0;
	border-width: 0;
	font-size: var(--fontsize-body-small);
	background-color: var(--color-green);
	height: 40px;
	color: #ffffff;
	font-family: var(--fontfamily-body);
	margin-bottom: 2px;
	padding: 0 20px;
	line-height: 40px;
}

span.ui-selectmenu-button.ui-button .ui-icon {
	display: none;
}

span.ui-selectmenu-button.ui-button::after {
	content: "\f078";
	position: absolute;
	top: 50%;
	right: 20px;
	font-family: fontawesome;
	color: #fff;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 12px;
}

ul.ui-menu > li > .ui-menu-item-wrapper {
	background-color: #fff;
	font-size: var(--fontsize-body-small);
	padding-left: 20px;
	color: var(--color-pink);
	font-family: var(--fontfamily-body);
}

ul.ui-menu > li > .ui-menu-item-wrapper.ui-state-active {
	background-color: var(--color-pink);
	color: #ffffff;
	border-color: var(--color-pink);
}

.ui-selectmenu-open {
	z-index: 9999;
}

input[type="text"], 
input[type="email"], 
input[type="url"], 
input[type="password"], 
input[type="search"], 
input[type="number"], 
input[type="tel"], 
input[type="range"], 
input[type="date"], 
input[type="month"], 
input[type="week"], 
input[type="time"], 
input[type="datetime"], 
input[type="datetime-local"], 
input[type="color"], 
textarea {
	border-radius: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	font-family: var(--fontfamily-body) !important;
	font-size: var(--fontsize-body-normal) !important;
	color: var(--color-navy) !important;
	min-height: 45px;
}

::-webkit-input-placeholder {
  color: var(--color-navy);
  font-style: italic;
}
::-moz-placeholder {
  color: var(--color-navy);
  font-style: italic;
  opacity: 1;
}
:-ms-input-placeholder {
  color: var(--color-navy);
  font-style: italic;
}
:-moz-placeholder {
  color: var(--color-navy);
  font-style: italic;
  opacity: 1
}

/*
-------------------------------------------------------------|
                                                      HEADER |
-------------------------------------------------------------|
*/

#masthead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background-color: #fff;
	z-index: 999;
}

#masthead .max-width-container {
	height: 100%;
	position: relative;
}

.site-branding {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.site-branding img {
	width: 120px;
}

#site-navigation {
	position: absolute;
	top: 50%;
	right: 0;
	width: auto;
	transform: translateY(-50%);
}

#primary-menu > li > a {
	text-transform: uppercase;
	font-weight: 500;
	font-size: 15px;
	padding: 0 5px;
	margin-left: 15px;
	position: relative;
	line-height: 80px;
}

#primary-menu > li > a::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 3px;
	background-color: var(--color-pink);
	transition: all 0.3s ease-out 0s;
}

#primary-menu > li > a:hover::before {
	width: calc(100% - 10px);
	left: 5px;
}

#primary-menu > li.current-menu-item a::before, 
#primary-menu > li.current_page_item a::before {
	width: calc(100% - 10px);
	left: 5px;
	background-color: var(--color-green);
}

.main-navigation ul li:hover > ul, 
.main-navigation ul li.focus > ul {
	left: 50%;
	transform: translateX(-50%);
	margin-left: 10px;
}

.main-navigation ul ul.sub-menu {
	display: block;
}

.main-navigation ul ul.sub-menu a {
	background-color: #ffffff;
	text-align: center;
	font-size: 15px;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--color-pink);
	line-height: 1.1em;
	padding: 15px 10px;
	width: 250px;
}

.main-navigation ul ul.sub-menu a:hover {
	background-color: var(--color-pink);
	color: #fff;
}

/*
-------------------------------------------------------------|
                                                         CF7 |
-------------------------------------------------------------|
*/

.wpcf7-form input, 
.wpcf7-form textarea {
	margin-top: 10px;
	font-size: var(--fontsize-body-small) !important;
	padding: 10px 15px;
	width: 100%;
	min-height: 40px !important;
}

.wpcf7-form textarea {
	resize: none;
	height: 150px;
	padding: 12px 25px;
}

.wpcf7-form input.wpcf7-not-valid {
	outline-width: 2px !important;
	outline-color: var(--color-pink) !important;
	outline-style: solid !important;
	outline-offset: -2px !important;
}

.wpcf7-not-valid-tip {
	color: var(--color-pink);
	font-size: var(--fontsize-body-small);
	font-style: italic;
	font-weight: 300;
	display: inline-block;
}

#wpcf7-f3268-o2 p {
	margin-bottom: 0;
}

#wpcf7-f3268-o2 input {
	margin-top: 10px;
}

.wpcf7-form-control.wpcf7-submit.has-spinner + .wpcf7-spinner {
	position: absolute;
	margin-top: 14px;
}

.wpcf7-form input.wpcf7-text {
	border-bottom: 2px solid var(--color-green) !important;
	border-right: 2px solid var(--color-green) !important;
}

/*
-------------------------------------------------------------|
                                                      FOOTER |
-------------------------------------------------------------|
*/

#colophon {
	margin-top: 0;
	background-color: var(--color-green);
	color: #fff;
	position: relative;
}

#colophon::before {
	content: "";
	position: absolute;
	top: 5%;
	left: 5%;
	width: 90%;
	height: 90%;
	background-image: url(/wp-content/themes/mn_dvm/images/nouriti-large-white.png);
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.1;
	background-position: right;
	z-index: 0;
}

#colophon .max-width-container {
	z-index: 1;
	position: relative;
}

.footer-columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px;
	padding: 75px 0;
}

.footer-column:nth-child(2) {
	text-align: right;
}

.footer-branding img {
	width: 250px;
	display: block;
}

.footer-socials {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 15px;
	margin: 20px 0;
}

.footer-socials a {
	color: #ffffff;
	font-size: 24px;
}

.footer-socials + p {
	font-size: 12px;
	margin: 0;
}

.footer-column h3 {
	margin-top: 0;
}

#footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

#footer-menu a {
	color: #fff;
	text-transform: uppercase;
	font-size: 14px;
}

.site-info {
	background-color: var(--color-green);
	padding: 20px 0;
	text-align: right;
}

.site-info p {
	margin: 0;
	font-size: 13px;
	font-style: italic;
	border-top: 1px solid #fff;
	padding-top: 20px;
}

.site-info p a {
	color: #fff;
	opacity: 0.5;
}

.subscription-banner {
	padding: 100px 0 150px;
	position: relative;
}

.subscription-banner .max-width-container {
	position: relative;
}

.subscription_banner-container {
	background-color: rgba(255,255,255,0.95);
	padding: 35px 50px;
	width: 100%;
	max-width: 700px;
	margin: auto;
	position: relative;
}

.subscription_banner-container > :first-child {
	margin-top: 0;
}

.subscription_banner-container > :last-child {
	margin-bottom: 0;
}

.subscription_banner-green_block {
	width: 100%;
	height: 100%;
	position: absolute;
	max-width: 700px;
	left: calc(50% + 50px);
	top: calc(50% + 50px);
	transform: translate(-50%, -50%);
}

.subscription_banner-green_static {
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: var(--color-green);
}

/*
-------------------------------------------------------------|
                                                  FRONT PAGE |
-------------------------------------------------------------|
*/

.banner {
	position: relative;
	height: 250px;
}

.banner.home-banner {
	height: 500px;
}

.banner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.75), transparent);
}

.banner .max-width-container {
	height: 100%;
	position: relative;
	z-index: 2;
}

.banner-container {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: #fff;
}

.banner-container h1 {
	font-size: var(--fontsize-heading-title);
	margin-bottom: 0;
}

.banner-container h1 + p {
	margin: 0;
	font-size: var(--fontsize-heading-quarternary);
}

.about-content {
	background-color: #ffffff;
	padding: 75px 0;
}

.about-content .max-width-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.about-left {
	width: calc(100% - 500px);
	align-self: center;
}

.about-left h2 {
	margin-top: 0;
}

.about-right {
	width: 400px;
}

.dual-image {
	position: relative;
	padding-right: 50px;
	padding-bottom: 50px;
}

.dual-image img {
	display: block;
	position: relative;
	z-index: 5;
}

.dual_image-floater {
	position: absolute;
	bottom: 0;
	right: 0;
	width: calc(100% - 50px);
	height: calc(100% - 50px);
	background-color: var(--color-green);
}

/*
-------------------------------------------------------------|
                                        WOOCOMMERCE PRODUCTS |
-------------------------------------------------------------|
*/

.woocommerce-product-gallery {
	width: calc(50% - 100px);
	margin-right: 100px;
	float: left !important;
}

.woocommerce-product-gallery + .summary.entry-summary {
	float: right;
	width: 50%;
}

#secondary {
	display: none !important;
}

.product_meta {
	display: none;
}

.woocommerce-notices-wrapper {
	width: 90%;
	max-width: 1165px;
	margin: 0px auto;
	padding: 20px 0;
}

.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error, 
.woocommerce-noreviews, 
p.no-comments {
	border-left: 5px solid;
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.4);
	padding: 10px 20px;
	background-color: #fafafa;
	outline: 0 !important;
}

/*body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,*/
body.post-type-archive-product #primary {
	width: 90%;
	max-width: 1165px;
	margin: 100px auto 50px;
}
/*
body.woocommerce-checkout #primary, 
body.woocommerce-cart #primary, 
body.single-product #primary {
	background-color: #fff;
	padding-bottom: 25px;
}*/

ul.products li.product .button {
	text-align: center;
	margin-top: 10px;
}

.woocommerce-result-count, 
.woocommerce-ordering {
	display: none;
}

.quantity-select, .single-product .quantity {
	width: 70px;
	border: 1px solid var(--color-green);
	padding: 5px 0;
	display: inline-block;
	vertical-align: top;
	position: relative;
	height: 40px;
	margin-left: 70px;
}

.single-product .quantity::before {
	content: "Quantity";
	position: absolute;
	right: calc(100% + 10px);
	font-size: var(--fontsize-body-small);
	font-weight: 500;
	color: var(--color-green);
	top: 7px;
}

#cdw-li-quantityinput::-webkit-outer-spin-button,
#cdw-li-quantityinput::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantity-select input, .single-product #cdw-li-quantity {
	-moz-appearance: textfield;
	text-align: center;
	border: 0;
	outline: none;
	font-size: var(--fontsize-body-small) !important;
	font-weight: 400;
	display: inline-block;
	width: 40px;
	color: var(--color-green) !important;
	height: 30px;
	min-height: 30px;
}


.cdw-li-quantity-change {
	color: var(--color-green);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	position: absolute;
	top: 3px;
	right: 10px;
}

.cdw-li-quantity-change:first-child {
	top: 17px;
}

.wc-pao-addons-container > .wc-pao-addon-container {
	margin-bottom: 25px;
}

.woocommerce-variation-price {
	margin-bottom: 20px;
	font-size: var(--fontsize-body-large);
	font-weight: 700;
}

.variations_form.cart .variations {
	position: relative;
	margin-bottom: 0;
}

.reset_variations {
	position: absolute;
}

.wc-pao-addon-field.wc-pao-addon-checkbox {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	visibility: hidden;
}

.wc-pao-addon-field.wc-pao-addon-checkbox + label {
	display: block;
	position: relative;
	padding-left: 20px;
}

.wc-pao-addon-field.wc-pao-addon-checkbox + label::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 17px;
	height: 17px;
	border: 1px solid var(--color-green);
}

.wc-pao-addon-field.wc-pao-addon-checkbox + label::after {
	content: "x";
	color: var(--color-pink);
	position: absolute;
	top: 0;
	left: 0;
	font-size: 19px;
/*	display: block;*/
	font-weight: 400;
	line-height: 15px;
	width: 17px;
	text-align: center;
	display: none;
}

.wc-pao-addon-field.wc-pao-addon-checkbox:checked + label::after {
	display: block;
}

.wc-block-components-shipping-rates-control__package.wc-block-components-shipping-rates-control__package--first-selected.wc-block-components-shipping-rates-control__package .wc-block-checkout__shipping-option--free {
	display: none;
}

#shipping-option {
	display: none;
}

body.woocommerce-checkout .subscription-banner {
	display: none;
	padding: 0;
	height: 1px;
	overflow: hidden;
}

.wc-block-components-totals-shipping {
	display: none;
}

.wc-pao-addons-container .wc-pao-addon-container, 
.variations_form.cart .variations tbody {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.variations_form.cart .variations tbody tr,
.woocommerce-variation-add-to-cart.variations_button {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.wc-pao-addons-container .wc-pao-addon-container .wc-pao-addon-condition-data {
	width: 100%;
}

.wc-pao-addons-container .wc-pao-addon-container .wc-pao-addon-name, 
table.variations th.label, 
.variations_form.cart .variations td.label {
	width: 200px;
	text-align: center;
	align-content: center;
	font-weight: 700;
	text-align: left;
}

.wc-pao-addons-container .wc-pao-addon-container .wc-pao-addon-wrap, 
table.variations td.value {
	width: calc(100% - 200px);
	margin: 0;
	border: 0;
	padding: 0;
}

.wc-pao-addons-container .wc-pao-addon-container .wc-pao-addon-name[data-addon-name="Exclusions"], 
.wc-pao-addons-container .wc-pao-addon-container .wc-pao-addon-name[data-addon-name="Exclusions"] + * {
	align-content: flex-start;
	margin-top: 8px;
}

.wc-pao-addons-container .wc-pao-addon-container .wc-pao-addon-name .required {
	display: none;
}

.woocommerce-variation-add-to-cart.variations_button {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.woocommerce-variation-add-to-cart.variations_button .quantity {
	margin-right: 9px;
	margin-left: 120px;
}

.woocommerce-variation-add-to-cart.variations_button {
	margin-top: 20px;
}

div.product-addon-totals {
	font-size: 12px;
	background-color: #fafafa;
	padding: 20px 30px;
}

div.product-addon-totals .wc-pao-col2 {
	display: none;
}

div.product-addon-totals li {
	font-size: 14px;
	padding: 0 !important;
	text-align: left;
}

div.product-addon-totals li strong {
	font-weight: 400;
	font-style: italic;
}

div.product-addon-totals .wc-pao-subtotal-line {
	text-align: left;
	justify-content: flex-start !important;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--color-green);
	padding-top: 20px !important;
	color: var(--color-navy);
}

body.single-product .product_cat-meal-plans .single_variation_wrap .woocommerce-variation.single_variation {
	display: none !important;
}

.wc-pao-validation-notice {
	display: none;
}

body.single-product .product_cat-meal-plans .related.products {
	display: none;
}

body.single-product .product_cat-meal-plans .product_title.entry-title + .price > :last-child::after {
	content: "PER MEAL";
	font-size: 12px;
	/* font-style: italic; */
	color: #666;
	margin-left: 6px;
	font-weight: 600;
	color: var(--color-green);
}

.shipping.recurring-total {
	display: none;
}

/*
-------------------------------------------------------------|
                                                         FAQ |
-------------------------------------------------------------|
*/

.faqs {
	margin-top: 25px;
}

.faq-container {
	background-color: var(--color-green);
	color: #ffffff;
	padding: 50px 0 100px;
	margin-top: 0;
}

.faqs > ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.faqs > ul > li {
	background-color: #fff;
	color: var(--color-green);
	padding: 15px 30px;
	margin-bottom: 10px;
	position: relative;
}

.faqs > ul > li > h3 {
	color: var(--color-navy);
	text-transform: unset;
	font-weight: 500;
	font-size: var(--fontsize-heading-quarternary);
	position: relative;
	cursor: pointer;
	transition: all 0.1s ease 0s;
}

.faqs > ul > li > h3:hover {
	color: var(--color-pink);
}

.faqs > ul > li > h3 + ul {
	display: none;
	list-style: none;
	padding: 0;
	margin: 0;
}

.faqs > ul > li > h3::after, 
.faqs > ul > li > h3::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	width: 14px;
	height: 3px;
	background-color: var(--color-green);
	transform: rotate(45deg);
	transition: all 0.2s ease 0s;
}

.faqs > ul > li > h3::before {
	transform: rotate(-45deg);
	top: 20px;
}

.faqs > ul > li.open > h3::after {
	top: 20px;
	right: 8px;
}

.page-id-73 .faq-container h2 {
	display: none;
}

/*
-------------------------------------------------------------|
                                           SECONDARY GENERAL |
-------------------------------------------------------------|
*/

.page_intro-container {
	position: relative;
	overflow: hidden;
}

.page-intro {
	padding: 50px 0;
	max-width: 700px;
}

.petals-spinner {
	position: absolute;
	top: calc(50% - 175px);
	right: 100px;
	opacity: 0.1;
	animation: spinner 60s infinite;
}

.page_intro-container + .faq-container {
	margin-top: 0;
}

@keyframes spinner {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.our-team {
	background-color: #f5f5f5;
	padding: 50px 0;
	background-color: #fafafa;
}

.restaurant-contact-row {
	position: relative;
	min-height: 350px;
	margin-bottom: 50px;
}

.restaurant-contact-row .max-width-container .half {
	position: relative;
	z-index: 1;
}

.restaurant-contact-details ul {
	list-style: none;
	padding: 0;
}

.restaurant-contact-details li {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
	line-height: 1.1em;
	margin-bottom: 10px;
}

.restaurant-contact-details li strong {
	font-weight: 600;
	text-transform: uppercase;
	display: inline-block;
	min-width: 100px;
}

.restaurant-contact-details {
	margin-bottom: 20px;
}

.restaurant-map-row {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.restaurant-map-row .half {
	margin-left: auto;
}

.restaurant-map-row h2 {
	margin-top: 0;
}

.restaurant-map-row a {
	display: inline-block;
	text-transform: uppercase;
	font-weight: 500;
	font-size: var(--fontsize-body-small);
	vertical-align: baseline;
	margin-left: 10px;
}

.restaurant-map-row iframe {
	width: 100%;
	display: block;
	height: 300px;
}

/*
-------------------------------------------------------------|
                                         WOOCOMMERCE ACCOUNT |
-------------------------------------------------------------|
*/

body.woocommerce-account article.page {
	padding: 50px 0;
	clear: both;
}

body.woocommerce-account .entry-content > .woocommerce {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.woocommerce-MyAccount-navigation {
	width: 300px;
}

.woocommerce-MyAccount-content {
	width: calc(100% - 350px);
	background-color: #fafafa;
	padding: 25px;
	position: relative;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	text-decoration: none;
	text-align: center;
	color: #ffffff;
	background-color: var(--color-green);
	font-size: var(--fontsize-body-normal);
	padding: 0;
	cursor: pointer;
	transition: all 0.1s ease 0s;
	margin-bottom: 3px;
	border: 0px;
	font-weight: 400 !important;
	text-transform: uppercase;
	height: 40px;
	line-height: 40px;
	transition: all 0.1s ease 0s;
}

.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
	background-color: var(--color-pink);
	color: #fff;
}

.woocommerce-MyAccount-content .woocommerce-notices-wrapper {
	position: absolute;
	bottom: 100%;
	width: 100%;
	left: 0;
}

.woocommerce-MyAccount-content table, 
.woocommerce-MyAccount-content td, 
.woocommerce-MyAccount-content th {
	border: 1px solid #ccc;
	border-collapse: collapse;
	font-size: var(--fontsize-body-tiny);
	background-color: #ffffff;
	padding: 5px;
}

.woocommerce-MyAccount-content table .button,
.woocommerce-MyAccount-content .woocommerce-info .button {
	line-height: 25px;
	height: 25px;
	font-size: var(--fontsize-body-tiny);
	display: block;
	text-align: center;
}

.woocommerce-MyAccount-content .woocommerce-info .button {
	display: inline-block;
}

.woocommerce-MyAccount-content .woocommerce-info {
	background-color: #fff;
}



#customer_login {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#customer_login > div,
.edit-account fieldset,
form.woocommerce-ResetPassword {
	width: calc(50% - 20px);
	border: 1px solid #000000;
	padding: 25px;
	position: relative;
	font-size: 14px;
}

form.woocommerce-ResetPassword {
	width: 100%;
}

.edit-account fieldset {
	width: 100%;
}

#customer_login h2,
.edit-account legend {
	position: absolute;
	top: 0;
	background-color: #fafafa;
	margin: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 13px;
	padding: 0 12px;
	color: var(--color-navy);
	font-weight: 700;
	font-size: var(--fontsize-body-large);
}

#customer_login label[for="username"], 
#customer_login label[for="password"], 
#customer_login label[for="reg_email"],
.edit-account label[for="account_first_name"],
.edit-account label[for="account_last_name"],
.edit-account label[for="account_display_name"],
.edit-account label[for="account_email"],
.edit-account label[for="password_current"],
.edit-account label[for="password_1"],
.edit-account label[for="password_2"],
form.woocommerce-ResetPassword label[for="user_login"] {
	display: block;
	background-color: var(--color-green);
	color: #ffffff;
	padding: 0px 10px;
	font-size: var(--fontsize-body-small);
	text-transform: uppercase;
}

#customer_login #username, 
#customer_login #password, 
#customer_login #reg_email,
.edit-account #account_first_name,
.edit-account #account_last_name,
.edit-account #account_display_name,
.edit-account #account_email,
.edit-account #password_current,
.edit-account #password_1,
.edit-account #password_2,
form.woocommerce-ResetPassword #user_login {
	display: block;
	width: 100%;
	border-radius: 0 !important;
	border: 1px solid var(--color-green) !important;
	font-size: var(--fontsize-body-small) !important;
	padding: 0 10px !important;
}

.woocommerce-form-login__rememberme {
	display: block;
	font-size: 14px;
	color: #000000;
}

.woocommerce-EditAccountForm.edit-account {
	max-width: 600px;
}

.woocommerce-form-row .show-password-input {
	display: none;
}

#account_display_name_description {
	display: block;
	font-size: var(--fontsize-body-tiny);
	color: var(--color-green);
}

/*
-------------------------------------------------------------|
                                   WOOCOMMERCE CART/CHECKOUT |
-------------------------------------------------------------|
*/

body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header {
	display: none;
}

.shop_table.cart, 
.shop_table.cart th, 
.shop_table.cart td {
	border: 1px solid #ddd;
	border-collapse: collapse;
	background-color: #fafafa;
	font-size: var(--fontsize-body-small);
	padding: 2px 5px;
	vertical-align: top;
}

.shop_table.cart td.product-thumbnail img {
	max-width: 100px;
}

.shop_table.cart td dl {
	/* display: flex; */
	/* flex-wrap: wrap; */
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.shop_table.cart td dl dt, 
.shop_table.cart td dl dd {
/*	width: 50%;*/
	margin: 0;
}

.shop_table.cart td dl dt {
	color: var(--color-green);
	font-weight: 400;
	font-style: italic;
}

.shop_table.cart td dl dd, 
.shop_table.cart td dl dd p {
	margin: 0;
	font-size: var(--fontsize-body-small);
	font-weight: 500;
	color: var(--color-navy);
}

.shop_table.cart td .quantity input {
	font-size: var(--fontsize-body-small) !important;
	width: 80px;
	height: auto !important;
	min-height: unset;
}

.cart-collaterals {
	margin-bottom: 50px !important;
}

.wp-block-woocommerce-checkout {
	margin-top: 50px !important;
	margin-bottom: 50px !important;
}

.shop_table.order_details td.product-name ul.wc-item-meta li {
	font-size: 12px;
}

.shop_table.order_details td.product-name ul.wc-item-meta p {
	display: inline;
}

.shop_table.order_details td.product-name ul.wc-item-meta strong, 
.shop_table.order_details td.product-name ul.wc-item-meta p {
	font-size: 12px;
	margin: 0;
	line-height: 12px;
}

.cart_totals .shop_table {
	width: auto;
	font-size: 16px;
}

.cart_totals .shop_table th {
	padding-right: 30px;
}

.cart_totals .woocommerce-shipping-totals.shipping {
	display: none;
}

/*
-------------------------------------------------------------|
                                                  RESPONSIVE |
-------------------------------------------------------------|
*/

#coffeerm-button {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background-color: #fff;
	display: none;
}

#coffeerm-button span {
	background-color: var(--color-pink);
	height: 2px;
}

#responsive-menu-items {
	background-color: var(--color-green);
	background-image: url(/wp-content/themes/mn_dvm/images/nouriti-large-white.png);
	background-size: 200px;
	background-repeat: no-repeat;
	background-position: center 20px;
	min-width: 200px;
	max-width: 300px;
}

#responsive-menu-items a {
	text-transform: uppercase;
	color: #fff;
	font-weight: 400;
	padding: 0px 30px;
	display: block;
	margin-bottom: 10px;
	text-align: center;
	transition: all .2s ease 0s;
}

ul.responsive-menu-items li.menu-item-has-children::after {
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 7px solid #fff;
	top: 7px;
}

ul.responsive-menu-items li ul.sub-menu {
	background-color: var(--color-green-lighter);
	padding-top: 9px;
	padding-bottom: 1px;
	margin-bottom: 10px;
}

#responsive-menu-items .open > a {
	font-weight: 700;
}

@media(max-width:1023px) { /*768px*/
	:root {
		--fontsize-heading-title: 38px;
		--fontsize-heading-primary: 30px;
		--fontsize-heading-secondary: 26px;
		--fontsize-heading-tertiary: 22px;
		--fontsize-heading-quarternary: 18px;
		/*--fontsize-body-large: 18px;
		--fontsize-body-normal: 16px;
		--fontsize-body-small: 14px;
		--fontsize-body-tiny: 11px;*/
	}
	#coffeerm-button {
		display: block;
	}
	#site-navigation {
		display: none;
	}
	.about-right {
		width: 300px;
	}
	.about-left {
		width: calc(100% - 350px);
		align-self: center;
	}
	.about-left .button {
		display: block;
		margin: 0 auto 5px;
		text-align: center;
		max-width: 280px;
	}
	.gallery-columns-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media(max-width: 767px) {
	.about-left {
		width: 100%;
		margin-bottom: 20px;
	}
	.banner-container {
		width: 100%;
		text-align: center;
	}
	.gallery-columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.faqs > ul > li {
		padding: 15px 40px 15px 20px;
	}
	.faqs > ul > li > h3 {
		line-height: 20px;
	}
	.faqs > ul > li > h3 + ul {
		margin: 10px 0 0;
	}
	.faqs > ul > li > h3::after, 
	.faqs > ul > li > h3::before {
		top: 5px;
	}
	.faqs > ul > li > h3::before {
		top: 13px;
	}
	.faqs > ul > li.open > h3::after {
		top: 13px;
		right: -22px;
	}
	.footer-column {
		width: 100%;
		text-align: center;
	}
	.footer-column:nth-child(2) {
		text-align: center;
	}
	.footer-branding, 
	.footer-branding img {
		display: block;
		margin: auto;
	}
	.footer-socials {
		justify-content: center;
	}
	.site-info .max-width-container {
		opacity: 1 !important;
		transform: unset !important;
		text-align: center;
	}
	.footer-columns {
		padding: 50px 0;
	}
	.restaurant-contact-row .half {
		width: 100%;
	}
	.restaurant-map-row {
		position: relative;
		margin-top: 40px;
		width: 90%;
		margin: 40px auto;
	}
	.woocommerce-MyAccount-content {
		width: 100%;
		padding: 0;
		margin-top: 20px;
	}
	.woocommerce-MyAccount-navigation {
		width: 100%;
	}
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.woocommerce-MyAccount-navigation li a {
		margin: 2px;
		padding: 0 20px;
	}
	.woocommerce-product-gallery {
		width: 100%;
		margin: auto;
		max-width: 400px;
	}
	.woocommerce-product-gallery + .summary.entry-summary {
		width: 100%;
		margin-top: 25px;
	}
	.wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-product-metadata {
		font-size: 1em;
	}
}


