

/* note: it is not good to use data query selector to determine if we are in mobile/tablet/desktop mode
   via body.dataset.elementorDeviceMode, because this doesn't get set until page load and there may be
	 jitter as styling gets changed after a short delay on page load. use media queries instead.
*/

/***********************************************************************************************/
/* fonts */
/***********************************************************************************************/

/*
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading.elementor-widget-heading .elementor-heading-title {
	font-family: "Asap Condensed", Sans-serif;
	color: #446633;
    letter-spacing: 0px;
	font-size: 22px;
}*/

/*
@font-face {
  font-family: 'Acme';
  font-style: normal;
  font-weight: 400;
  src: local('Acme Regular'), local('Acme-Regular'), url(https://fonts.gstatic.com/s/acme/v8/RrQfboBx-C5_XxrBbg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}*/

/* alt: Roboto+Condensed */
/* note: Asap is not a great paragraph font because it shows artifacting */

@import url('https://fonts.googleapis.com/css?family=Asap:400,700|Acme|Asap+Condensed:400,700|Roboto+Condensed|Roboto');

/***********************************************************************************************/
/* elementor colors */
/***********************************************************************************************/

/* by default, elementor automatically includes colors based on palette. however, this gets including with other
   elementor styles includes. this is a problem because if we include our custom file before this block, we 
	 lose control over colors. if we include our custom file after this block, we gain control over colors button
	 it is harder to override styling in elementor gui. a work-around is to go to elementor settings and disable
	 color palette styling, and to hard code this here, at top of custom file. */

.elementor-widget-heading.elementor-widget-heading .elementor-heading-title{color:#0a0202;}.elementor-widget-heading .elementor-heading-title{font-weight:600;}.elementor-widget-image .widget-image-caption{color:#0a0a0a;font-weight:400;}.elementor-widget-text-editor{color:#0a0a0a;font-weight:400;}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#0a0202;}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:#0a0202;border-color:#0a0202;}.elementor-widget-button a.elementor-button, .elementor-widget-button .elementor-button{font-weight:400;background-color:#ffcc00;}.elementor-widget-divider .elementor-divider-separator{border-top-color:#0a0a0a;}.elementor-widget-image-box .elementor-image-box-content .elementor-image-box-title{color:#0a0202;font-weight:600;}.elementor-widget-image-box .elementor-image-box-content .elementor-image-box-description{color:#0a0a0a;font-weight:400;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:#0a0202;}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:#0a0202;border-color:#0a0202;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:#0a0202;}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{color:#0a0202;border-color:#0a0202;}.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-title{color:#0a0202;font-weight:600;}.elementor-widget-icon-box .elementor-icon-box-content .elementor-icon-box-description{color:#0a0a0a;font-weight:400;}.elementor-widget-star-rating .elementor-star-rating__title{color:#0a0a0a;font-weight:400;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-weight:400;}.elementor-widget-image-carousel .elementor-image-carousel-caption{font-weight:400;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:#0a0a0a;}.elementor-widget-icon-list .elementor-icon-list-icon i{color:#0a0202;}.elementor-widget-icon-list .elementor-icon-list-text{color:#0a0000;}.elementor-widget-icon-list .elementor-icon-list-item{font-weight:400;}.elementor-widget-counter .elementor-counter-number-wrapper{color:#0a0202;font-weight:600;}.elementor-widget-counter .elementor-counter-title{color:#0a0000;font-weight:400;}.elementor-widget-progress .elementor-progress-wrapper .elementor-progress-bar{background-color:#0a0202;}.elementor-widget-progress .elementor-title{color:#0a0202;font-weight:400;}.elementor-widget-testimonial .elementor-testimonial-content{color:#0a0a0a;font-weight:400;}.elementor-widget-testimonial .elementor-testimonial-name{color:#0a0202;font-weight:600;}.elementor-widget-testimonial .elementor-testimonial-job{color:#0a0000;font-weight:400;}.elementor-widget-tabs .elementor-tab-title{color:#0a0202;font-weight:600;}.elementor-widget-tabs .elementor-tab-title.elementor-active{color:#ffcc00;}.elementor-widget-tabs .elementor-tab-content{color:#0a0a0a;font-weight:400;}.elementor-widget-accordion .elementor-accordion .elementor-tab-title{color:#0a0202;font-weight:600;}.elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active{color:#ffcc00;}.elementor-widget-accordion .elementor-accordion .elementor-tab-content{color:#0a0a0a;font-weight:400;}.elementor-widget-toggle .elementor-toggle .elementor-tab-title{color:#0a0202;font-weight:600;}.elementor-widget-toggle .elementor-toggle .elementor-tab-title.elementor-active{color:#ffcc00;}.elementor-widget-toggle .elementor-toggle .elementor-tab-content{color:#0a0a0a;font-weight:400;}.elementor-widget-alert .elementor-alert-title{font-weight:600;}.elementor-widget-alert .elementor-alert-description{font-weight:400;}.elementor-widget-theme-site-logo .widget-image-caption{color:#0a0a0a;font-weight:400;}.elementor-widget-theme-site-title.elementor-widget-heading .elementor-heading-title{color:#0a0202;}.elementor-widget-theme-site-title .elementor-heading-title{font-weight:600;}.elementor-widget-theme-page-title.elementor-widget-heading .elementor-heading-title{color:#0a0202;}.elementor-widget-theme-page-title .elementor-heading-title{font-weight:600;}.elementor-widget-theme-post-title.elementor-widget-heading .elementor-heading-title{color:#0a0202;}.elementor-widget-theme-post-title .elementor-heading-title{font-weight:600;}.elementor-widget-theme-post-excerpt .elementor-widget-container{color:#0a0a0a;font-weight:400;}.elementor-widget-theme-post-content{color:#0a0a0a;font-weight:400;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:#0a0a0a;font-weight:400;}.elementor-widget-theme-archive-title.elementor-widget-heading .elementor-heading-title{color:#0a0202;}.elementor-widget-theme-archive-title .elementor-heading-title{font-weight:600;}.elementor-widget-archive-posts .elementor-post__title, .elementor-widget-archive-posts .elementor-post__title a{color:#0a0000;font-weight:600;}.elementor-widget-archive-posts .elementor-post__meta-data{font-weight:400;}.elementor-widget-archive-posts .elementor-post__excerpt p{font-weight:400;}.elementor-widget-archive-posts .elementor-post__read-more{color:#ffcc00;font-weight:400;}.elementor-widget-archive-posts .elementor-post__card .elementor-post__badge{background-color:#ffcc00;font-weight:400;}.elementor-widget-archive-posts .elementor-pagination{font-weight:400;}.elementor-widget-archive-posts .elementor-posts-nothing-found{color:#0a0a0a;font-weight:400;}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:#0a0000;font-weight:600;}.elementor-widget-posts .elementor-post__meta-data{font-weight:400;}.elementor-widget-posts .elementor-post__excerpt p{font-weight:400;}.elementor-widget-posts .elementor-post__read-more{color:#ffcc00;font-weight:400;}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:#ffcc00;font-weight:400;}.elementor-widget-posts .elementor-pagination{font-weight:400;}.elementor-widget-portfolio a .elementor-portfolio-item__overlay{background-color:#ffcc00;}.elementor-widget-portfolio .elementor-portfolio-item__title{font-weight:600;}.elementor-widget-portfolio .elementor-portfolio__filter{color:#0a0a0a;font-weight:600;}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:#0a0202;}.elementor-widget-slides .elementor-slide-heading{font-weight:600;}.elementor-widget-slides .elementor-slide-description{font-weight:400;}.elementor-widget-slides .elementor-slide-button{font-weight:400;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:#0a0a0a;}.elementor-widget-form .elementor-field-group > label{font-weight:400;}.elementor-widget-form .elementor-field-group .elementor-field{color:#0a0a0a;}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-weight:400;}.elementor-widget-form .elementor-button{background-color:#ffcc00;font-weight:400;}.elementor-widget-form .elementor-message{font-weight:400;}.elementor-widget-login .elementor-field-group > a{color:#0a0a0a;}.elementor-widget-login .elementor-field-group > a:hover{color:#ffcc00;}.elementor-widget-login .elementor-form-fields-wrapper label{color:#0a0a0a;font-weight:400;}.elementor-widget-login .elementor-field-group .elementor-field{color:#0a0a0a;}.elementor-widget-login .elementor-field-group .elementor-field, .elementor-widget-login .elementor-field-subgroup label{font-weight:400;}.elementor-widget-login .elementor-button{font-weight:400;background-color:#ffcc00;}.elementor-widget-nav-menu .elementor-nav-menu--main{font-weight:600;}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:#0a0a0a;}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:#ffcc00;}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#ffcc00;}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:#ffcc00;}.elementor-widget-nav-menu .elementor-nav-menu--dropdown{font-weight:400;}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:#ffcc00;}.elementor-widget-animated-headline .elementor-headline-plain-text{color:#0a0000;}.elementor-widget-animated-headline .elementor-headline{font-weight:600;}.elementor-widget-animated-headline .elementor-headline-dynamic-text{color:#0a0000;font-weight:600;}.elementor-widget-price-list .elementor-price-list-header{color:#0a0202;font-weight:600;}.elementor-widget-price-list .elementor-price-list-description{color:#0a0a0a;font-weight:400;}.elementor-widget-price-list .elementor-price-list-separator{border-bottom-color:#0a0000;}.elementor-widget-price-table .elementor-price-table__header{background-color:#0a0000;}.elementor-widget-price-table .elementor-price-table__heading{font-weight:600;}.elementor-widget-price-table .elementor-price-table__subheading{font-weight:400;}.elementor-widget-price-table .elementor-price-table__price{font-weight:600;}.elementor-widget-price-table .elementor-price-table__original-price{color:#0a0000;font-weight:600;}.elementor-widget-price-table .elementor-price-table__period{color:#0a0000;font-weight:400;}.elementor-widget-price-table .elementor-price-table__features-list{color:#0a0a0a;}.elementor-widget-price-table .elementor-price-table__features-list li{font-weight:400;}.elementor-widget-price-table .elementor-price-table__features-list li:before{border-top-color:#0a0a0a;}.elementor-widget-price-table .elementor-price-table__button{font-weight:400;background-color:#ffcc00;}.elementor-widget-price-table .elementor-price-table__additional_info{color:#0a0a0a;font-weight:400;}.elementor-widget-price-table .elementor-price-table__ribbon-inner{background-color:#ffcc00;font-weight:400;}.elementor-widget-flip-box .elementor-flip-box__front .elementor-flip-box__layer__title{font-weight:600;}.elementor-widget-flip-box .elementor-flip-box__front .elementor-flip-box__layer__description{font-weight:400;}.elementor-widget-flip-box .elementor-flip-box__back .elementor-flip-box__layer__title{font-weight:600;}.elementor-widget-flip-box .elementor-flip-box__back .elementor-flip-box__layer__description{font-weight:400;}.elementor-widget-flip-box .elementor-flip-box__button{font-weight:400;}.elementor-widget-call-to-action .elementor-cta__title{font-weight:600;}.elementor-widget-call-to-action .elementor-cta__description{font-weight:400;}.elementor-widget-call-to-action .elementor-cta__button{font-weight:400;}.elementor-widget-call-to-action .elementor-ribbon-inner{background-color:#ffcc00;font-weight:400;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-weight:400;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{color:#0a0a0a;font-weight:400;}.elementor-widget-testimonial-carousel .elementor-testimonial__name{color:#0a0a0a;font-weight:600;}.elementor-widget-testimonial-carousel .elementor-testimonial__title{color:#0a0202;font-weight:400;}.elementor-widget-reviews .elementor-testimonial__header, .elementor-widget-reviews .elementor-testimonial__name{font-weight:600;}.elementor-widget-reviews .elementor-testimonial__text{font-weight:400;}.elementor-widget-countdown .elementor-countdown-item{background-color:#0a0202;}.elementor-widget-countdown .elementor-countdown-digits{font-weight:400;}.elementor-widget-countdown .elementor-countdown-label{font-weight:400;}.elementor-widget-countdown .elementor-countdown-expire--message{color:#0a0a0a;font-weight:400;}.elementor-widget-search-form input[type="search"].elementor-search-form__input{font-weight:400;}.elementor-widget-search-form .elementor-search-form__input,
					.elementor-widget-search-form .elementor-search-form__icon,
					.elementor-widget-search-form .elementor-lightbox .dialog-lightbox-close-button,
					.elementor-widget-search-form .elementor-lightbox .dialog-lightbox-close-button:hover,
					.elementor-widget-search-form.elementor-search-form--skin-full_screen input[type="search"].elementor-search-form__input{color:#0a0a0a;}.elementor-widget-search-form .elementor-search-form__submit{font-weight:400;background-color:#0a0000;}.elementor-widget-author-box .elementor-author-box__name{color:#0a0000;font-weight:600;}.elementor-widget-author-box .elementor-author-box__bio{color:#0a0a0a;font-weight:400;}.elementor-widget-author-box .elementor-author-box__button{color:#0a0000;border-color:#0a0000;font-weight:400;}.elementor-widget-author-box .elementor-author-box__button:hover{border-color:#0a0000;color:#0a0000;}.elementor-widget-post-navigation span.post-navigation__prev--label{color:#0a0a0a;}.elementor-widget-post-navigation span.post-navigation__next--label{color:#0a0a0a;}.elementor-widget-post-navigation span.post-navigation__prev--label, .elementor-widget-post-navigation span.post-navigation__next--label{font-weight:400;}.elementor-widget-post-navigation span.post-navigation__prev--title, .elementor-widget-post-navigation span.post-navigation__next--title{color:#0a0000;font-weight:400;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:#0a0a0a;}.elementor-widget-post-info .elementor-icon-list-icon i{color:#0a0202;}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:#0a0000;}.elementor-widget-post-info .elementor-icon-list-item{font-weight:400;}.elementor-widget-sitemap .elementor-sitemap-title{color:#0a0202;font-weight:600;}.elementor-widget-sitemap .elementor-sitemap-item, .elementor-widget-sitemap span.elementor-sitemap-list, .elementor-widget-sitemap .elementor-sitemap-item a{color:#0a0a0a;font-weight:400;}.elementor-widget-sitemap .elementor-sitemap-item{color:#0a0a0a;}.elementor-widget-blockquote .elementor-blockquote__content{color:#0a0a0a;}.elementor-widget-blockquote .elementor-blockquote__author{color:#0a0000;}

/***********************************************************************************************/
/* global styles */
/***********************************************************************************************/

ul, ol, p, blockquote  {
	font-family: Roboto, Asap, sans-serif;
}

a, .elementor a {
	color: #0090bc;
	font-weight: 700;
}

nav a, nav .elementor a {
	color: #000;
	font-family: Asap, Roboto, sans-serif;
}


ul, ol, blockquote { 
	margin-bottom: 15px;
	font-size: 18px;
	line-height: 1.75em;
}

p {
	color: #444;	
	font-size: 18px;
	line-height: 1.75em;
}


/* 2021-12-15: selector needs to be more explicit due to elementor update */

.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li.hide-non-mobile { display: none; }
.hide-non-mobile, nav .hide-non-mobile { display: none; }

.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li.hide-mobile { display: flex; }
.hide-mobile { display: block; }

@media (max-width: 767px) {
	.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li.hide-non-mobile { display: flex; }
	.hide-non-mobile, nav .hide-non-mobile {  display: block; }

	.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li.hide-mobile { display: none; }
	.hide-mobile { display: none; }
}

/***********************************************************************************************/
/* home page */
/***********************************************************************************************/

.elementor-button-text,
.elementor-icon-box-title,
.home-page-hero li {
	font-family: "Asap Condensed", Sans-serif;
}

.success-buckets p {
	font-size: 16px;
}

.success-buckets b {
	font-weight: 600;
}

/*[data-elementor-device-mode="desktop"] .home-page-hero li {
	font-size: 32px;
}*/
@media (min-width: 1024px) {
  .home-page-hero li {
	  font-size: 32px;
	}
}

.caption p {
	color: #fff;
}
	


/***********************************************************************************************/
/* top nav */
/***********************************************************************************************/

/*
[data-elementor-device-mode="mobile"] .mobile-top-nav {
	display: none;
}*/

.hamburger-menu nav {
	border-bottom: 1px solid #aaa;
}

.hamburger-menu nav li {
	padding: 0;
}

.hamburger-menu nav a,
.hamburger-menu nav a:hover {
	font-family: Roboto, sans-serif;
	color: #000;
	font-size: 16px;
	
	padding: 13px 20px !important;
}

.hamburger-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item  {
	font-size: 16px;	
}


/***********************************************************************************************/
/* hero image section */
/***********************************************************************************************/


.ri-hero {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
	margin-bottom: 25px;
}

.ri-hero.res { background-image: url(/wp-content/uploads/2019/03/res-optimized-1920.jpg); }
.ri-hero.hdc { background-image: url(/wp-content/uploads/hdc-background.jpg); }
.ri-hero.oe  { background-image: url(/wp-content/uploads/oe-hike-widescreen.jpg); }


/***********************************************************************************************/
/* elementor text headers */
/***********************************************************************************************/

.elementor-widget-heading .elementor-heading-title, 
.ri-vid /* ri-video plugin header, above video preview */ {
    /*font-family: "Acme", Sans-serif;	*/
	font-family: 'Asap Condensed', 'Roboto Condensed', sans-serif;

  text-align: center;
  line-height: 1.2em;
  font-weight: 700;
	color: #150;
}

/*
  headers should be aligned left, but there are many places where 
  they should still be centered, and you can tune it down to 
  a certain h1, h2, etc
  
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
  text-align: center;
}
*/


.ri-hero .elementor-widget-heading.elementor-widget-heading .elementor-heading-title {
  text-shadow: 
	  0em 0em .05em #000000, 
	  0em 0em .15em #000000,		
	  0em 0em .25em #000000;
	
	color: #fff;	
	
	font-family: 'Asap Condensed', 'Acme', sans-serif;	
}

.ri-hero .elementor-widget-heading h2.elementor-heading-title {
	font-family: 'Roboto Condensed'; 	
}

.elementor-widget-heading.elementor-widget-heading .elementor-heading-title {
	color: #150;
}

.elementor-widget-heading h1.elementor-heading-title {
  font-size: 74px;	
	margin: 75px 0 50px 0;

  /*letter-spacing: 0.04em;	*/
}

.elementor-widget-heading h2.elementor-heading-title {
  font-size: 35px;	
	margin: 15px 0 30px 0;

  /*letter-spacing: 0.04em;	*/	
	
}

.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title {	
	margin-top: 15px;
  font-size: 31px;
}

/*
[data-elementor-device-mode="mobile"] .elementor-widget-heading h1.elementor-heading-title {
	font-size: 36px;
}

[data-elementor-device-mode="mobile"] .elementor-widget-heading h2.elementor-heading-title {
	font-size: 24px;
}*/

@media (max-width: 767px) {
	.elementor-widget-heading h1.elementor-heading-title {
		font-size: 36px;
	}

	.elementor-widget-heading h2.elementor-heading-title {
		font-size: 26px;
	}
	
	.elementor-widget-heading h3.elementor-heading-title {
		font-size: 22px;
	}	
}

.elementor-widget-heading.blog-title h1.elementor-heading-title {
	margin: 15px 0 30px 0;
}

.elementor-widget-heading.blog-header h2.elementor-heading-title {
  font-size: 74px;	
	margin: 50px 0 0 0; 
}

.elementor-widget-heading.blog-header-sub h2.elementor-heading-title {
  font-size: 35px;	
	margin: 0 0 20px 0;
}

/***********************************************************************************************/
/* custom nav menu on mobile (defined as li list, not wp menu */
/***********************************************************************************************/

.mobile-top-nav ul {
  list-style-type: none;
  margin: 0;
	padding: 0;
}

.mobile-top-nav li {
  display: inline-block;
  margin: 0 10px;
	padding: 0;
}

.mobile-top-nav li a {
  color: #fff;
  text-decoration: none;
	font-size: 18px;
}

.mobile-top-nav li.cta {
  background: #fc0;
  padding: 1px 15px;
  border-radius: 3px;
}

.mobile-top-nav li.cta a {
  color: #000;   
  font-weight: 700;    
}

.mobile-top-nav li.cta a:hover {
  color: #000;   
  font-weight: 700;
}

/***********************************************************************************************/
/* menu dropdown syling */
/***********************************************************************************************/

/* 2021-12-15: elementor update now forces us to style chevron so it is smaller than default */
.elementor-nav-menu .sub-arrow .fa.fa-chevron-down, .elementor-nav-menu .sub-arrow .fas.fa-chevron-down {
	font-size: .5em;
}

nav li.menu-category a {
	background: #aca;
	color: #000 !important;
	cursor: default;
}

nav li.menu-category a:hover {
	background: #aca !important;
}

/***********************************************************************************************/
/* cta top nav (desktop) */
/***********************************************************************************************/

ul.elementor-nav-menu > li {
	color: #000;
}

ul.elementor-nav-menu > li a {
	font-weight: 700;
}

ul.elementor-nav-menu li.cta a,
.elementor-nav-menu--main li.cta .elementor-item:hover {
	font-family: "Asap Condensed", Sans-serif;
  font-size: 18px;
  letter-spacing: 0;
  color: #000 !important;
  background-color: #fc0;
  border-radius: 3px;
  padding: 5px 10px;	
	margin-top: 8px;
}

ul.elementor-nav-menu li.cta:after {
	content: "";
}

div.header ul.elementor-nav-menu > li   { font-size: 17px; }

/*[data-elementor-device-mode="tablet"] div.header ul.elementor-nav-menu > li { font-size: 12px; }*/
@media (min-width: 768px) and (max-width: 1024px) {
  div.header ul.elementor-nav-menu > li { font-size: 12px; }
}

div.header ul.elementor-nav-menu > li a { font-weight: 700; }

div.main ul.elementor-nav-menu > li {     font-size: 28px; }

/*[data-elementor-device-mode="tablet"] div.main ul.elementor-nav-menu > li { font-size: 20px; }*/
@media (min-width: 768px) and (max-width: 1024px) {
  div.main ul.elementor-nav-menu > li { font-size: 20px; }
}


/***********************************************************************************************/
/* cta */
/***********************************************************************************************/

/*
a.cta, a.cta_yellow {
  background: #ffcd38;
  background-image: linear-gradient(to bottom, #ffcd38, #ffde59);
  border-radius: 9px;
  color: #000;
  font-size: 18px;
  font-weight: 700;
  padding: 10px 20px 10px 20px;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 10px;
}
*/

/* sub-links (currently 1st/4th grade page) */
a.sub-links {
	padding: 8px 15px;
	background: #eee;
	border-radius: 3px;
}

a.sub-links:after {
	content: " \00BB";
}


a.cta {
  border-radius: 9px;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 20px 10px 20px;
  text-decoration: none;
	display: inline-block;
	margin-bottom: 10px;
	color: #000;
}

a.cta:after {
	content: " \00BB";
}

a.cta {	
  background: #ffcd38;
  background-image: linear-gradient(to bottom, #ffcd38, #ffde59);
  color: #000000 !important;	
}
a.cta:hover {
  box-shadow: 0 0 4px 0px #ffc200;
}

/* green (oe) */
a.cta.green {
  background-image: linear-gradient(to bottom, #ad9, #bda);
  color: #000000 !important;	
}
a.cta.green:hover {
  box-shadow: 0 0 4px 0px #ceb;
}

/* brown (hdc) */
a.cta.brown {
  background-image: linear-gradient(to bottom, #eda, #f3e1af);
  color: #000000 !important;	
}

a.cta.brown:hover {
  box-shadow: 0 0 4px 0px #f3e1af;
}

/***********************************************************************************************/
/* other special content styling */
/***********************************************************************************************/

/* style for New! label on activity, summer 2024, etc pages */

span.new {
    display: inline-block;
    background: #050;
    color: #fff;
    padding: 0px 7px;
    font-weight: normal;
    font-size: 14px;
    line-height: 26px;
    border-radius: 8px;
    margin-right: 3px;
}


/**************************************************************************************************/
/* hubspot forms */
/**************************************************************************************************/

.hbspt-form {
  /*background: #f8f8f8;*/
	background: #eef3ee;
	padding: 20px;
	border-radius: 5px;
}

.hbspt-form ul {
  list-style-type: none;
	margin: 0 0 0 15px;
	padding: 0;
}

.hbspt-form li label {
  font-weight: normal;
	font-size: 16px;
}

.hbspt-form input[type="checkbox"] {
  margin-right: 10px;
}

.hbspt-form input[type="text"], .hbspt-form select, .hbspt-form textarea, .hbspt-form input[type="email"], .hbspt-form input[type="tel"] {
  border: 1px solid #ccc;
}

.hbspt-form textarea {
  min-height: 125px;
}

.hbspt-form label {
  font-weight: bold;
}

.hbspt-form .hs-fieldtype-checkbox > label {
  margin-bottom: 15px;
}

.hbspt-form legend {
  font-size: 14px; 
	color: #666;
	font-style: italic;
	margin: 0 0 7px 0;
}

.hbspt-form .hs-form-field {
  margin-bottom: 15px;
} 

.hbspt-form  .hs-form-required {
  color: #f00;
	display: inline-block;
	margin-left: 3px;
}

.hbspt-form ul.hs-error-msgs {
  list-style-style: none;
	margin: 0;
	padding: 0;
}

.hbspt-form ul.hs-error-msgs li {
  padding: 0;
	margin: 0;
}

.hbspt-form ul.hs-error-msgs .hs-error-msg {
  background: #fcc;
	display: inline-block;
	padding: 3px 5px;
}

.hbspt-form input[type="submit"] {
  border: 0;
  font-family: "Asap Condensed", Sans-serif;
  font-size: 18px;
  letter-spacing: 0;
  color: #000 !important;
  background-color: #fc0;
  border-radius: 3px;
  padding: 10px 15px;
  margin-top: 8px;
}

/**************************************************************************************************/
/* footer */
/**************************************************************************************************/

.footer .elementor-widget-heading .elementor-heading-title {
	text-align: left;
	color: #fff;
}

.footer ul, .footer li, .footer p, .footer a {
	color: #fff;
}

.footer ul {
	list-style-type: none;
	padding-left: 0; 
	margin-left: 0;
}

.footer li {
	padding-left: 0;
	margin-left: 0;
}

.footer a {
	font-weight: normal;
}

.footer .elementor-widget-heading h4.elementor-heading-title {
	font-size: 24px;
}

.footer p, .footer li {
	font-size: 16px;
}

.footer.misc p {
	font-size: 14px;
}


/**************************************************************************************************/
/* events page */
/**************************************************************************************************/


.events {
	margin: 0 0 25px 0;
}

.events h3 {
	margin: 0 !important;
}

.events h4 {
	margin: 15px 0 10px 0 !important;
	padding: 5px 10px;
	background: #252;
	color: #fff;
	border-radius: 3px;
	text-align: left;
	font-size: 13pt;
}

.events p {
	margin: 0 0 2px 0;
	padding: 0;
}

.events p.tour {}

.events span {
	display: inline-block;
	font-size: 14px;
	padding: 1px 7px;
	border-radius: 3px;
	margin: 0 0 3px 3px;
}

.events span.date {
	width: 100px;
	font-size: 13px;
}

.events span.tour {
	background: #fdb;
	color: #642;
}

.events span.open-house {
	background: #bdf;
	color: #246;
}

.events span.open-house-tour {
	background: #B1F6C6;
	color: #46624F;
}

/**************************************************************************************************/
/* job descriptions */
/**************************************************************************************************/

.ri-jobs {
	margin-bottom: 25px;
	background: #eef3ee;
	border-radius: 10px;
}

.ri-jobs .thumb {
	padding: 25px;
}

.ri-jobs .content {
	padding: 10px 25px 25px 0;
}

.ri-jobs.no-image {
	padding: 25px;
}

.ri-jobs.no-image h3 {
	margin: 0 0 5px 0 !important;
	padding:0;
}

.ri-jobs p {
	margin: 0;
	padding: 5px 0;
}

.ri-jobs p.status {
	margin: 0;
	padding: 0;
	font-size: 12px;
}

.ri-jobs p.status span.filled {
	background: #fcc;
	color: #922;
	display: inline-block;
	padding: 1px 5px 0 5px;
	border-radius: 2px;
}

.ri-jobs .left-col {
	float: left; 
	max-width: 450px;
}

.ri-jobs .right-col {
	float: left;
	max-width: 600px;
	padding: 15px;
}

/**************************************************************************************************/
/* trans */
/**************************************************************************************************/

span.trans-cp-icon {
	display: inline;
	padding: 2px 4px 1px 4px;
	background: #070;
	color: #fff;
	font-size: 9px;
	border-radius: 6px;
	letter-spacing: 0;
}

/**************************************************************************************************/
/* no style table */
/**************************************************************************************************/

table.no-style {
  border: 0;
}

table.no-style td {
  border: 0;
	background-color: transparent;	
}

table.no-style tbody tr:hover>td, table tbody tr:hover>th {
  background-color: transparent;
}

table.no-style tbody>tr:nth-child(odd)>td {
 background-color: transparent;
}

/**************************************************************************************************/
/* rates table */
/**************************************************************************************************/

h2.rates {
	font-size: 27px;
	text-align: center;
}

/*
table.rates {
  width: 100%;
}

table.rates p {
	font-size: 14px;
}

table.rates tbody td, table.rates tbody td p {
  color: #000;
  font-size: 18px;
}

table.rates th, table.rates td {
  vertical-align: top;
  padding: 8px;
  font-size: 18px;
  font-weight: normal;
}

table.rates thead th, table.rates thead td {
  font-weight: bold;
  background: #353;
	color: #fff;
  text-align: center;
  font-size: 18px;
}

table.rates thead em {
  margin-top: 4px;
  display: block;
	font-weight: normal;
	font-size: 18px;
}

table.rates thead p {
	color: #fff;
}

table.rates tbody p {
  margin: 0 0 1px 0;
}

table.rates thead th {
  font-size: 20px;
	font-weight: 800;
	letter-spacing: 0em;
	line-height: 1.4em;
	text-align: left;
	padding-left: 10px;
	border: 0;
}

table.rates h4 {
  margin: 0 0 0 0;
  font-size: 20px;
  white-space: nowrap;
  line-height: 1.2em;
	text-align: left;
}

table.rates h4 a {
  text-decoration: none;
  color: inherit;
	font-weight: bold;
}

table.rates h4 a:hover {
  text-decoration: underline;
}

table.rates p.grade {
	color: #750;    
	font-weight: bold;
		
	margin-bottom: 0;
	font-size: 15px;
	
	white-space: nowrap;	
}

table.rates p.ride {
  font-style: italic;
}

table.rates p.ride a {
  color: inherit;
	font-weight: inherit;
}

table.rates p.ride a:hover {
  cursor: pointer;
}

table.rates p.dates {
  margin-top: 5px;
	white-space: nowrap;
}

table.rates tbody td {
  text-align: center;
  font-weight: bold;
  text-align: left;
}

table.rates tbody td p.savings {
  background: #ffff88;
  display: inline-block;
  padding: 1px 5px;
  font-size: 12px;
  color: #000;
  white-space: nowrap;
  font-weight:normal;
	margin-top: 1px;
}
 
.rates.table-striped > tbody > tr {
	background: #fbfbfb;
}*/

/* rates table top row rounded corners */
/*
tr.header th:last-child { border-bottom-right-radius: 5px; border-top-right-radius: 5px; }
tr.header th:first-child { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
*/

/* make table horizontal scollable and not make whole page horizontal scroll */

/*
[data-elementor-device-mode="tablet"] table.rates thead th, table.rates tbody th {
	text-align: left;
}

[data-elementor-device-mode="tablet"] table.rates tbody th {
	border-bottom: 0;
}
	
[data-elementor-device-mode="tablet"] table.rates tbody td {
	border-top: 0;
	margin-bottom: 10px;
}
	
[data-elementor-device-mode="tablet"] table.rates thead td, table.rates thead td em {
	font-size: 14px;
}
	
[data-elementor-device-mode="tablet"]	table.rates {
	margin-bottom: 20px;
}

[data-elementor-device-mode="mobile"] table.rates thead td, table.rates thead td em {
	font-size: 12px;
}
	
[data-elementor-device-mode="mobile"] table.rates tbody td {
	font-size: 12px;
}*/

/**************************************************************************************************/
/* eelementor hidden elements */
/**************************************************************************************************/

/* style totally hidden elements so they stand out in the editor */
.elementor-hidden-desktop.elementor-hidden-tablet.elementor-hidden-phone {
	border: 2px dashed #ddd;
	opacity: .5;
}