/*
 Theme Name:   Foerstel 2018
 Description:  Custom Foerstel Theme for 2018
 Author:       Foerstel Design
 Author URI:   http://foerstel.com
 Template:     rootstheme
 Version:      1.0.0
 Text Domain:  fd
*/

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

.no-link > a {
  pointer-events: none;
}

.single-post .content h2 {
  font-weight: 900;
}

.content p {
  margin-bottom: 1rem;
}

.fluid-container {
	max-width: 2250px;
	margin: 0 auto;
}

body {
	font-family: 'Lato', sans-serif;
  font-size: 16px;
  line-height: 1.6rem !important;
  color: #545659;
}

a {
  color: #61ce70;
  text-decoration: none;
}

.top-bar {
	background-color: #0b1e25;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.site-logo {
	width: 150px;
}

.fancybox-slide:not(.fancybox-slide--image) > div, .fancybox-slide--iframe .fancybox-content {
	max-width  : 800px;
	max-height: initial;
	padding: 0;
}

.main-menu li > a {
	color: #ffffff;
	font-size: 1.1rem;
	text-transform: uppercase;
}

/*.main-menu li a:hover, .main-menu .sub-menu li a:hover {
	color: #94cd9d;
}*/

.main-menu .sub-menu, .main-menu li:hover .sub-menu {
	background-color: #0b1e25;
	width: 15rem;
	left: 0;
	transform: translateX(0);
}

.main-menu .sub-menu li a {
	padding: .5rem 1rem;
	font-size: 1rem;
	color: #ffffff;
	text-align: left;
}

.homepage-icon {
	max-height: 60px;
}

.homepage-icon path,
.homepage-icon polygon {
	fill: #94cd9d;
}

.elementor-accordion .elementor-accordion-item {
  border-left: none;
  border-right: none;
}

.pricing-content {
  background: #ffffff;
}

.pricing-price {
  line-height: 1;
  padding: .15rem .5rem;
}

.fullstripe_checkout_button,
.payment-form-coupon {
  background: #23CDDB;
  padding: 8px 30px 8px 30px;
  border: none;
  font-size: 16px;
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

#rebootButton img {
  background-color: transparent;
  cursor: pointer;
  border-radius: 50%;
  transform: scale(1);
  transition: .1s linear;
}

#rebootButton img:hover {
  background-color: rgba(149, 204, 158, 0.25);
}

.fullstripe_checkout_button:hover,
.payment-form-coupon:hover {
  background: #57c3c2;
}

#checkout-form__Reboot .fullstripe_checkout_button {
  display: none;
}

.payment-errors__CoreCare:empty,
.payment-errors__ProfessionalCare:empty,
.payment-errors__ProfessionalCarePlus:empty {
  display: none;
}

.wpfs-checkout-form {
  text-align: center;
}

.wpfs-checkout-form .controls {
  text-align: left;
}

.wpfs-checkout-form input {
  height: initial;
  padding: 8px 30px;
  border: none;
}

.wpfs-checkout-form input[type="text"], .wpfs-checkout-form input[type="password"], .wpfs-checkout-form select {
  padding: 8px 30px !important;
}

.payment-form-coupon {
  vertical-align: top;
  height: 38px;
}

.wpfs-checkout-form select {
    width: 100% !important;
  }

.fullstripe-form-input {
    width: 60% !important;
}

.payment-form-coupon {
  width: 39%;
}

.service-list ul {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}

.service-list ul li {
	text-transform: uppercase;
}

.service-list--two-col ul li {
	width: 50%;
}

.service-list--three-col ul li {
	width: 33.3333%;
}

.contact-icon {
  max-height: 75px;
}

.contact-icon path {
  fill: #23CDDB;
}

.ajax-fancybox a::before {
  background: rgba(26, 51, 69, 0.00);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .2s linear;
}

.ajax-fancybox:hover a::before {
    background: rgba(26, 51, 69, 0.75);
}

.ajax-fancybox a::after {
  content: '+';
  color: rgba(255,255,255,0.00);
  font-weight: 300;
  font-size: 5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  transition: .2s linear;
}

.ajax-fancybox:hover a::after {
  color: rgba(255,255,255,1.00);
  transform: translateX(-50%) translateY(-50%);
}

.view-icon, .download-icon {
  font-size: 1.5rem;
  font-weight: bold;
}

.download-icon {
  display: inline-block;
  transform: rotate(90deg);
}

.leaf-icon path {
  fill: #b3de76;
}

.bulb-icon path {
  fill: #ffff3f;
}

.mountains-icon path, .mountains-icon polygon {
  fill: #1bcbc6;
}

.globe-icon path {
  fill: #9794cd;
}

.compass-icon path {
  fill: #ff9739;
}

.elementor-pagination {
  margin-top: 1.5rem;
}

.member-box .team-headshot:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(11, 30, 37, 0.60);
    transition: .2s linear;
}

.member-box:hover .team-headshot:before {
    background-color: rgba(11, 30, 37, 0.00);
}

.team-headshot img {
  width: 100%;
}

.member-info {
  position: absolute !important;
  top: 60%;
  left: 0;
  width: 100%;
  text-align: center;
}

.infographic-button-bar i {
  font-size: 1.2rem;
  margin-top: -5px;
}

.view-infographic i {
  transform: rotate(-90deg);
}

.fancybox-button, .fancybox-button:focus {
  outline: none;
}

.eael-gravity-form .gform_wrapper ul.gform_fields li.gfield.gf_right_half {
  padding-left: 1rem;
}

/* Design Review Results Single Listing */

.result-box {
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid #f6f6f6;
  border-radius: 4px;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)!important;
}

.review-question-count,
.review-question,
.review-answer {
  margin-bottom: 1rem;
}

.review-question-count {
    display: inline-block;
    font-size: .8rem;
    color: #fff;
    background: #193346;
    padding: 0 15px;
    border-radius: 20px;
}

.review-question {
  font-weight: 300;
  font-size: 1.3rem;
}

.review-question strong,
.review-comments strong {
  color: #000;
}

.review-answer p {
  margin-bottom: 1rem !important;
}

.review-comments {
  padding-top: 1rem;
  border-top: 1px solid #ddd;
  margin-top: 1.5rem;
}

.choice-list {
  padding: 0;
  margin-bottom: 1rem;
}

.choice-list .choice {
  display: flex;
  list-style-type: none;
}

.choice-list .choice .label {
  width: 170px;
  padding: .5rem 1.5rem;
  text-align: right;
  border-right: 1px solid #ddd;
}

.choice-list .choice .progress {
  flex: 1;
  border-right: 1px solid #ddd;
}

.choice-list .choice.selected .progress {
  background-color: #193346;
  border-right: 1px solid #193346;
}

.choice-list.positive .choice.selected .progress {
  background-color: #02A816;
  border-right: 1px solid #02A816;
}

.choice-list .choice:last-child .progress {
  border-bottom: 1px solid #ddd;
}

.choice-row .label {
  width: 33.33%;
  color: #193346;
  font-weight: normal;
  text-align: center;
}

.choice-row .label:first-child {
  text-align: left;
}

.choice-row .label:last-child {
  text-align: right;
}

.progress-bar {
  background: repeating-linear-gradient( 
            90deg,
            #fff,
            #fff 8.2%,
            #ddd 1px,
            #ddd 8.33%);
  padding: 1rem 0;
  margin-bottom: 1rem;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.progress-fill {
  height: 50px;
}

.progress-fill.high-fill {
  background-color: #02A816;
  width: 100%;
}

.progress-fill.mid-fill {
  background-color: orange;
  width: 50%;
}

.progress-fill.low-fill {
  background-color: #193346;
  width: 16.66%;
}

.review-gallery .gallery-item {
  display: flex !important;
  align-items: center;
}

.review-gallery img {
  border: none !important;
}

@media print {
  .review-question {
    font-size: 16px;
  }
  .choice-list .choice .label {
    font-size: 14px;
    padding: 0 1.5rem;
  }
  .choice-list .choice:first-child .label {
    padding: 5px 1.5rem;
  }
  .elementor-location-header,
  .elementor-location-footer {
    display: none;
  }
  .result-box {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .attachment-full {
    width: 768px !important;
    margin: 0 auto !important;
    left: 0 !important;
  }
  .result-box {
    box-shadow: none !important;
    border: 1px solid #cccccc;
    -webkit-print-color-adjust: exact;
  }
  .printButton {
    display: none;
  }
}