/* 
Theme Name: 3RM
Theme URI: https://www.robineaster.com
Description: Custom Theme for Three Rivers Market
Author: Robin Easter Design
Author URI: https://www.robineaster.com
Template: hello-elementor
Version: 3.4.7
Text Domain: 3rm
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: 
*/

/* variables */
:root{
 /*colors*/
 --cream: #F8ECDC;
 --orange: #ED662B;
 --plum: #511C10;
 --lavendar: #D6B2EA;
 --green: #222B16;
 --chartreuse: #AFB222;
 /*fonts*/
 --niveau: 'niveau-grotesk',sans-serif;
 --obvious: 'obviously-condensed',sans-serif;
 --panel: 'panel',serif;
}

::-moz-selection{
  background-color: var(--lavendar);
  color: var(--plum);
}
::selection{
  background-color: var(--lavendar);
  color: var(--plum);
}
.dark ::-moz-selection{
  background-color: var(--orange);
  color: var(--plum);
}
.dark ::selection{
  background-color: var(--orange);
  color: var(--plum);
}
footer ::-moz-selection{
  background-color: var(--chartreuse);
  color: var(--plum);
}
footer ::selection{
  background-color: var(--chartreuse);
  color: var(--plum);
}

/* typography */
/** Set html to 62.5% so that all the REM measurements throughout are based on 10px sizing. ~1.5rem = 15px **/
html{
  background-color: var(--cream);
  font-size:62.5%;
}
body{
  background-color: transparent;
  color: var(--green);
  font-family: niveau-grotesk, sans-serif; 
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.67; /* 30px / 18px */
}
p{
  font-size: 1.8rem;
  font-weight: 500;
}
*{
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/** headings **/
h1, .h1 p, .callout p, .h1 h2,.callout h2{
  font-family: var(--obvious);
  font-size: 7rem;
  font-weight: 600;
  line-height: 1 !important; /* 70px / 70px */
}
h2,.h2 h1,.panel h1, .h2 p,.panel p{
  font-family: var(--panel);
  font-style: normal;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.8 !important; /* 45px / 25px */
}
.elementor-location-footer,.elementor-location-footer p{
  color: var(--plum);
  font-family: var(--niveau);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.79 !important; /* 25px / 14px */
  margin-block-end: 0;
}
.caps p{
  font-family: var(--niveau);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.79 !important; /* 25px / 14px */
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.heading p{
  font-family: var(--panel);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.8 !important; /* 45px / 25px */
}
.elementor-widget-heading .elementor-heading-title{line-height:inherit}
.elementor-widget-text-editor p{margin-block-end:3rem !important}
.elementor-widget-text-editor p:last-child{margin-bottom:0 !important}


.h1 a::after,.callout a::after{
  content: '';
  display: inline-block;
  width: 53px;height: 34px;
  background-color: currentColor;
  margin-left: 24px;
  mask: url("assets/arrow.svg") center / contain no-repeat;
   -webkit-mask: url("assets/arrow.svg") center / contain no-repeat;
  transition: all .4s ease;
  vertical-align: middle;
}
.h1 a:hover::after,.callout a:hover::after{margin-left: 32px}

.dark,.dark p{
  color: var(--cream);
}

/* site logo */
.elementor-widget-theme-site-logo img{height:95px;min-height:95px;width:228px !important}

/* nav bar */
.e-n-menu-title-text,nav{
  color: var(--plum) !important;
  font-family: var(--niveau);
  font-size: 1.4rem !important;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.elementor-nav-menu--layout-vertical a{
  font-size: 1.8rem !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  padding-right:0 !important;
  padding-left:0 !important;
  text-transform: none !important;
}
.elementor-widget-n-menu .e-n-menu:not([data-layout="dropdown"]) .e-n-menu-content{margin-left:-25px}
nav a{color:var(--plum)}
/* links */
a{color:inherit;transition:color .4s ease}
.elementor-button:focus, .elementor-button:hover, .elementor-button:visited{color:var(--plum)}
p a,button,.button,.elementor-button{color:var(--plum)}
p a:hover{color:var(--plum)}
.btn_hotbar .elementor-button-content-wrapper{flex-direction:column}
.btn_hotbar a,.btn_hotbar a:visited{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--plum);
  /* text styles */
  font-family: var(--niveau);
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px;
  text-align: center;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  /* SVG shape */
  padding: 0;
  position:relative;
  width:93px;height:93px;
  background-color: var(--lavendar);
  mask: url("assets/star.svg") center / contain no-repeat;
  -webkit-mask: url("assets/star.svg") center / contain no-repeat;
  transition: background-color .4s ease, color .4s ease;
}
.btn_hotbar a:hover,.btn_hotbar a:focus{
  background-color: var(--chartreuse) !important;
  color:var(--plum) !important;
}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded="true"] .e-n-menu-dropdown-icon-closed{display:flex!important}
.elementor-widget-n-menu .e-n-menu-dropdown-icon svg{transition: all .4s ease;transform-origin: 50% 50%}
.elementor-widget-n-menu .e-n-menu-dropdown-icon[aria-expanded="false"] svg{transform: rotate(0deg)}
.elementor-widget-n-menu .e-n-menu-dropdown-icon[aria-expanded="true"] svg{transform: rotate(-180deg)}
.elementor-widget-n-menu .e-n-menu-dropdown-icon[aria-expanded="true"] svg path{fill: var(--cream) !important}
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon[aria-expanded="false"] svg path{transition: fill .4s ease}
.e-n-menu-title-text,nav a,
.e-n-menu-title-text .e-n-menu-dropdown-ico svg path{transition: all .4s ease}
nav a:hover,.elementor-widget-n-menu .e-n-menu-item:hover .e-n-menu-title-text,
.e-n-menu-title-text:hover .e-n-menu-dropdown-ico svg path{
  color: var(--cream) !important;
}

/* non elementor page width */
body:not([class*="elementor-page-"]) .site-main{
  max-width:100% !important;
  padding:90px 70px;
}

.dialog-type-lightbox{z-index: 9999999999 !important}

/* Elementor Icons */
.elementor-icon-wrapper{display:flex}
.search .elementor-icon-wrapper a svg path{transition: fill .4s ease}
.search .elementor-icon-wrapper a:hover svg path{fill: var(--cream) !important}

/* Search popup */
.elementor-popup-modal.search{background-color: rgba(214, 178, 235, 0.95) !important}
.elementor-widget-search .e-search-form {
  position: relative !important;
}
.elementor-widget-search .e-search-label {
  inset-block-start: 50% !important;
  inset-inline-end: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  transform: translateY(-50%) !important;
}
.elementor-widget-search .e-search-label > i,
.elementor-widget-search .e-search-label > svg {
  inset: auto !important;
  position: static !important;
  transform: none !important;
}
.elementor-widget-search .e-search-input {
  padding-inline-end: 56px !important;
  padding-inline-start: 16px !important;
}

.elementor-popup-modal.search .dialog-widget-content{
  background-color: transparent !important;
  box-shadow: none !important;
}
.elementor-popup-modal.search .dialog-lightbox-widget-content{position:unset !important}
.elementor-popup-modal.search .dialog-lightbox-close-button{
  position: absolute !important;
  top:100px !important;right:210px !important;
}
.elementor-popup-modal .dialog-close-button svg{fill: var(--plum) !important}
.elementor-widget-search .e-search-input{
  border: 0 !important;
  /* border-bottom: 2px solid var(--cream) !important; */
  color: var(--plum) !important;
}
.search .e-search-input{
  background-color: transparent !important;
  padding-left: 0 !important;
}
.search ::placeholder{color: var(--plum) !important;opacity:1 !important}
.e-search-submit{
  background-color: var(--orange) !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--plum) !important;
  display: inline-block !important;
  font-family: var(--niveau) !important;
  font-weight: 700 !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.13em !important;
  padding: 20px !important;
  text-transform: uppercase !important;
}
.e-search-submit:hover{
  background-color: var(--chartreuse) !important;
  color: var(--plum) !important;
}

/* animate underlined input on search popup */
.search .e-search-input-wrapper {
  background: linear-gradient(var(--cream), var(--cream)) bottom / 0% 2px no-repeat;
  position: relative;
}
.elementor-popup-modal.search .dialog-widget-content.animated .e-search-input-wrapper {
  animation: search-border-in 0.45s ease 0.25s forwards;
}
@keyframes search-border-in {
  from {
    background-size: 0% 2px;
  }
  to {
    background-size: 100% 2px;
  }
}

/* Elementor search cards */
.elementor-post__card{
  background-color: transparent !important;
  box-shadow: none !important;
}
.elementor-post__card .elementor-post__text{
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-posts .elementor-post__excerpt p{
  color: var(--green) !important;
  font-size: 1.8rem !important;
  font-weight: 500 !important;
}

/* Elementor widgets */
/** slides **/
.elementor-slides .swiper-slide-inner{padding:0 180px !important}
.elementor-element .swiper .elementor-swiper-button-prev, .elementor-element .swiper ~ .elementor-swiper-button-prev, .elementor-lightbox .swiper .elementor-swiper-button-prev, .elementor-lightbox .swiper ~ .elementor-swiper-button-prev{left: 70px !important}
.elementor-element .swiper .elementor-swiper-button-next, .elementor-element .swiper ~ .elementor-swiper-button-next, .elementor-lightbox .swiper .elementor-swiper-button-next, .elementor-lightbox .swiper ~ .elementor-swiper-button-next{right: 70px !important}
.elementor-slide-heading{
  font-family: var(--niveau) !important;
  font-size: 9.6rem !important;
  font-weight: 500 !important;
  line-height: 99px; /* 96px / 99px */
  text-align: left !important;
}

/* marquee ‘testimonial’ carousel */
.marquee .elementor-widget-testimonial-carousel .elementor-main-swiper{width:100% !important}
.marquee{
  background-color: var(--plum) !important;
  color: var(--cream) !important;
}
.marquee .swiper-wrapper{
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.marquee .swiper-slide,.marquee__item{
  align-content: center;
  height: 50px;
  padding: 0 !important;
  max-width: fit-content !important;
  width: fit-content !important;
}
.marquee .elementor-testimonial__text{
  min-width: fit-content;
  color: #F8ECDC;
  font-family: var(--niveau) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.13em;
  line-height: inherit !important;
  text-transform: uppercase;
}
.marquee .elementor-testimonial--layout-image_right .elementor-testimonial{align-items:center !important}
.marquee .elementor-testimonial__image{display:flex !important}
.marquee .elementor-testimonial__image,.elementor-widget-testimonial-carousel .elementor-testimonial__image img{width:15px !important;height:15px !important}
.marquee .swiper .elementor-swiper-button-prev,.marquee .swiper ~ .elementor-swiper-button-prev{left:0 !important}
.marquee.swiper .elementor-swiper-button-next,.marquee .swiper ~ .elementor-swiper-button-next{right:0 !important}
/* Hide the <img> */
.marquee .elementor-testimonial__image img{display: none !important}
/* stars */
.marquee .elementor-testimonial__footer::after{
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-color: currentColor;
  -webkit-mask: url("assets/star.svg") no-repeat center / contain;
  mask: url("assets/star.svg") no-repeat center / contain;
}
/* 1st */
.marquee .marquee__item:nth-child(3n + 1) .elementor-testimonial__footer{color: var(--chartreuse)}
/* 2nd */
.marquee .marquee__item:nth-child(3n + 2) .elementor-testimonial__footer{color: var(--lavendar)}
/* 3rd */
.marquee .marquee__item:nth-child(3n) .elementor-testimonial__footer{color: var(--orange)}

/* True Marquee */
/* Marquee built from cloned testimonial content */
.marquee .marquee__viewport{overflow: hidden; width: 100%}
.marquee .marquee__track{
  display:flex;
  width:max-content;
  will-change: transform;
  animation: marquee var(--duration) linear infinite;
}
.marquee:hover .marquee__track{animation-play-state: paused}
.marquee .marquee__group{display:flex}
.marquee .marquee__item{margin-right: 20px; flex-shrink:0; white-space:nowrap}

/* Same seamless loop trick */
@keyframes marquee{
  from {transform: translateX(0)}
  to   {transform: translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .marquee .marquee__track{animation:none; transform:none}
}

/* optional fade effect at edges
.marquee__viewport{
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
  90deg,
  rgba(0,0,0,0) 0%,
  rgb(0,0,0) 3%,
  rgb(0,0,0) 5%,
  rgb(0,0,0) 95%,
  rgb(0,0,0) 97%,
  rgba(0,0,0,0) 100%
  );
  mask-image: linear-gradient(
  90deg,
  rgba(0,0,0,0) 0%,
  rgb(0,0,0) 3%,
  rgb(0,0,0) 5%,
  rgb(0,0,0) 95%,
  rgb(0,0,0) 97%,
  rgba(0,0,0,0) 100%
  );
}*/

.marquee:hover .marquee__track {animation-play-state: paused}
@media (prefers-reduced-motion: reduce){
  .marquee .marquee__track{
    animation: none;
    transform: none;
  }
}

/* Elementor Grids */
.grid_feature{grid-row:span 2}
.grid_feature .swiper-slide-bg{background-color:transparent !important}
.grid_feature .swiper-slide-inner{padding: 0 70px !important}
.grid_feature .elementor-slide-heading{
  font-family: var(--obvious) !important;
  font-size: 7rem !important;
  font-weight: 600 !important;
  line-height: 1 !important; /* 70px / 70px */
}
.grid_feature .my-slide-date{
  color: var(--plum);
  font-family: niveau-grotesk, sans-serif; 
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.67; /* 30px / 18px */
  margin: 0 0 24px 0;
}
.grid_feature .elementor-slides .swiper-slide-inner,.grid_feature  .elementor-slides .swiper-slide-inner:hover{color: var(--plum) !important}
.grid_feature .elementor-slides .swiper-slide-inner .elementor-slide-button{
  background-color: var(--lavendar) !important;
  border:none !important;
}
.grid_feature .elementor-slides .swiper-slide-inner .elementor-slide-button:hover{background-color:var(--chartreuse) !important}
.grid_feature .swiper-pagination{
  display: flex;
  padding: 60px 70px;
  position: relative;
}
.grid_feature .swiper-pagination-bullet:first-of-type{margin-left:0!important}
/* .grid_feature .swiper-pagination-bullet:last-of-type{margin-right:0!important} */


/* Announcement Slides */
.announcement-slides{
  position: relative !important;
  height: auto !important; /*fluid height! */
  min-height: auto !important;
}
.as-track{
  display: flex !important;
  height: auto !important;
}
.as-slide{
  color: var(--plum);
  flex: 0 0 100% !important;
  padding: 0 70px !important;
}
.as-title{
  font-family: var(--obvious) !important;
  font-size: 7rem !important;
  font-weight: 600 !important;
  line-height: 1 !important; /* 70px / 70px */
}
.as-date{
  color: var(--plum);
  font-family: niveau-grotesk, sans-serif; 
  font-size: 1.8rem !important;
  font-weight: 500;
  line-height: 1.67; /* 30px / 18px */
}
.as-btn{
  background-color: var(--lavendar) !important;
}
.as-btn:hover{
  background-color: var(--chartreuse) !important;
  color: var(--plum) !important;
}
.as-dots{
  justify-content: left !important;
  padding: 0 70px 0 72px !important;
}
.as-dot{
  background: var(--plum) !important;
  width: 12.5px !important;
   height: 12.5px !important;
}
.as-dot.is-active{
  background: var(--cream) !important;
}

/* Blog */
.blog .elementor-widget-post-info{
  color:var(--chartreuse) !important;
  font-family:var(--niveau);
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:0.13em;
  text-transform:uppercase;
}
.blog .elementor-widget-post-info .elementor-icon-list-icon{display:none}
.elementor-widget-post-info .elementor-icon-list-item{margin-inline:2px !important}
.blog .elementor-pagination{margin-top: 4rem !important}
.blog .elementor-pagination .page-numbers.current{color:var(--orange) !important}


/* Forms */
button,
input,
optgroup,
select,
textarea{
  font-family: var(--niveau);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  margin: 0;
  text-transform: uppercase;
}
input,
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea{
  width: 100%;
  border: 1px solid var(--plum);
  border-radius: 0;
  padding: 0.5rem 1rem;
  transition: all .4s;
}
input:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus{
  outline: none;
}
button,input{overflow:visible}
button,select{text-transform:none}
[type="button"],
[type="reset"],
[type="submit"],
button{
  width: auto;
  -webkit-appearance: button;
}
[type="button"],
[type="submit"],
button,
.elementor-button{
  background-color: var(--orange);
  border: none;
  border-radius: 0;
  color: var(--plum);
  display: inline-block;
  font-family: var(--niveau);
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.13em;
  padding: 20px;
  text-transform: uppercase !important;
  transition: all .4s;
  user-select: none;
   -webkit-user-select: none;
   -moz-user-select: none;
  white-space: nowrap;
}
[type="button"]:not(:disabled),[type="submit"]:not(:disabled),button:not(:disabled){cursor:pointer}
[type="button"]:focus:not(:focus-visible),[type="submit"]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
[type="button"]:focus,[type="button"]:hover,[type="submit"]:focus,[type="submit"]:hover,button:focus,button:hover,.elementor-button:hover{
  background-color: var(--chartreuse);
  text-decoration: none;
}

.elementor-social-icon{background-color: transparent !important}
.elementor-social-icon svg path{transition: fill .4s ease}
.elementor-social-icon:hover svg path{fill: var(--cream)}

footer::before{
background-color: var(--plum);
background-image: url("assets/border.png");
background-repeat: repeat-x;
background-position: left;
background-size: contain;
  content: '';
  display: block;
  width: 100%;
  height: 68px;
}
footer p a:hover,footer .elementor-heading-title a:hover{color:var(--cream) !important}


.elementor-widget-n-menu .e-n-menu-title{--n-menu-title-color-normal: var(--plum)}
.e-n-menu-title-text{color:inherit !important}
.e-n-menu-title:has(+ .e-active){color: var(--cream) !important}

/* responsive */
.elementor-widget-n-menu .e-n-menu-heading{column-gap:50px}
.e-n-menu-content > div{max-width:1000px!important;top:97px}
@media (max-width: 1289px){.elementor-widget-n-menu .e-n-menu-heading{column-gap:28px}}
/* @media (max-width: 1219px){.elementor-widget-n-menu .e-n-menu-heading{column-gap:16px}} */

/* Tablet landscape (1025px - 1280px){} */
@media (max-width: 1279px){
  .e-n-menu-wrapper{background-color:var(--orange) !important;top:120px !important}
  .elementor-widget-n-menu .e-n-menu-heading{padding-bottom:70px;row-gap: 8px}
  .e-n-menu-wrapper,.elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title{background-color:var(--orange)}
  .e-n-menu-content > div{
    width: 100% !important;
     max-width: 100% !important;
     min-width: 100% !important;
    top: 0px}
  .e-n-menu-title{padding-left:70px !important;padding-right: 70px !important}
  .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon{margin-inline-start:22px !important}
}