/* Boulder Construction — custom front-end styles (no CMS / template CSS). */

@font-face {
  font-family: "cabinregular";
  src: url("../fonts/cabin-regular-webfont.woff") format("woff"),
       url("../fonts/cabin-regular-webfont.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "cabinsemibold";
  src: url("../fonts/cabin-semibold-webfont.woff") format("woff"),
       url("../fonts/cabin-semibold-webfont.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.woff") format("woff"),
       url("../fonts/fontawesome-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}


*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  color: #383838;
  font-family: "cabinregular", Verdana, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 26px;
  font-weight: normal;
}

img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: #07659E; text-decoration: none; transition: color 0.2s ease-out; }
a:hover { color: #043655; text-decoration: none; }
p { margin: 0 0 13px; }
h1, h2, h3, h4, h5, h6 {
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-weight: normal;
  margin: 0 0 10px;
}
h1 { font-size: 250%; line-height: 130%; }
h2 { font-size: 160%; line-height: 160%; }
h3 { font-size: 130%; line-height: 130%; margin-top: 0; margin-bottom: 2px; }

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: #000;
  color: #fff;
  padding: 8px 12px;
  z-index: 2000;
}
.skip-link:focus { left: 8px; }

.wrap {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}
.page-surround { overflow: hidden; }

/* ---------- Header ---------- */
.site-header {
  color: #c7710e;
  background-color: #000000;
  box-shadow: 0 1px 3px rgba(0,0,0,0.5);
  position: relative;
}
.header-inner {
  display: flex;
  align-items: center;
  min-height: 116px;
}
.logo-col { width: 33.333%; flex: 0 0 33.333%; }
.nav-col { width: 50%; flex: 0 0 50%; }
.social-col {
  width: 16.666%;
  flex: 0 0 16.666%;
  text-align: center;
}
.logo {
  display: block;
  margin: 9px 25px 0 25px;
  width: 225px;
  height: 97px;
}
.logo img { display: block; width: 225px; height: 97px; }

.nav-toggle {
  display: none;
  background: #efefef;
  border: 0;
  border-radius: 2px;
  width: 40px;
  height: 32px;
  padding: 6px 8px;
  cursor: pointer;
  margin: 10px;
}
.nav-toggle span {
  display: block;
  height: 2px;
  background: #333;
  margin: 4px 0;
  border-radius: 1px;
}

.site-nav { margin: 25px 0 -20px 0; }
.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
}
.nav-list > li {
  position: relative;
  margin-right: 5px;
  text-align: center;
}
.nav-list > li > a {
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 24px;
  text-transform: uppercase;
  color: #f6bb78;
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 15px;
  text-align: left;
}
.nav-list > li.has-sub > a { padding-right: 28px; }
.nav-list > li.has-sub > a::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 8px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.5;
}
.nav-list > li.is-active > a { color: #c7710e; }
.nav-list > li:hover > a,
.nav-list > li:focus-within > a { color: #f4a630; }
.nav-list > li.is-active::after {
  content: "";
  position: absolute;
  left: 5px;
  right: -5px;
  bottom: -17px;
  border-bottom: 3px solid #f4a630;
}

.sub-nav {
  display: block;
  position: absolute;
  left: -999em;
  top: 100%;
  width: 180px;
  margin: 0;
  padding: 5px 0;
  list-style: none;
  background: #ffffff;
  box-shadow: 0 0 1px 1px rgba(0,0,0,0.1);
  border-radius: 2px;
  opacity: 0;
  z-index: 100;
  text-align: left;
  transition: opacity 0.3s ease-in;
}
.nav-list > li:hover > .sub-nav,
.nav-list > li:focus-within > .sub-nav,
.nav-list > li.open > .sub-nav {
  left: 0;
  opacity: 1;
}
.sub-nav li { margin: 5px 0; padding: 0 5px; }
.sub-nav a {
  display: block;
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 24px;
  padding: 3px 8px 3px 8px;
  color: #f6bb78;
  background: #000;
  border-radius: 2px;
}
.sub-nav a:hover,
.sub-nav li.is-active a {
  color: #f4a630;
}

/* Dropdown on black header: live site uses white dropdown with orange-tan links.
   Recheck against screenshots; use a white panel with dark/orange text to match Anacron. */
.sub-nav { background: #ffffff; }
.sub-nav a {
  background: transparent;
  color: #c7710e;
}
.sub-nav a:hover,
.sub-nav li.is-active a { color: #f4a630; }

.facebook { display: inline-block; padding: 25px 10px; }
.facebook img { display: block; margin: 0 auto; }

/* ---------- Breadcrumbs ---------- */
.breadcrumbs {
  background: #fff;
}
.breadcrumb {
  margin: 10px;
  padding: 10px 15px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 20px;
}
.crumb-icon {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #c7710e;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform: rotate(0deg);
  width: 10px;
  height: 14px;
  background: none;
  border-left: 6px solid #c7710e;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  clip-path: none;
}
.crumb { color: #6e6e6e; }

/* ---------- Shared modules ---------- */
.mod {
  position: relative;
  padding: 15px;
  margin: 25px 10px;
}
.mod.tight { margin: 15px auto; padding: 15px; }
.mod.flat { margin: 0; padding: 0; }
.mod-title {
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-weight: normal;
  margin: 0 0 15px;
}
.mod-title span { display: inline; }
.is-center { text-align: center; }
.big-title .mod-title { font-size: 40px; line-height: 52px; }
.narrow { width: 80%; margin-left: auto; margin-right: auto; }

/* ---------- Showcase / hero ---------- */
.showcase {
  color: #000;
  background: #fff;
  text-align: center;
}
.showcase .mod-title { color: #000; margin-bottom: 10px; }
.showcase .narrow { width: 80%; margin: 15px auto; }
.showcase p { margin-bottom: 13px; }
.showcase-photo { margin-top: 8px; }

/* ---------- Featured services ---------- */
.featured {
  color: #6e6e6e;
  background: #ffffff;
  border-top: 1px solid #dde0e7;
  box-shadow: 0 1px 0 #dde0e7;
  position: relative;
  text-align: center;
}
.featured .wrap { position: relative; }
.featured .wrap::after,
.intro-bar .wrap::after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 50%;
  margin-left: -15px;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 17px solid #F5F6F8;
  z-index: 2;
}
.featured .wrap::after {
  border-top-color: #ffffff;
  filter: drop-shadow(0 2px 0 #dde0e7);
}
.featured .mod-title { color: #484848; }
.service-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.service-card {
  width: 25%;
  float: none;
  text-align: center;
  padding: 15px;
}
.service-card img {
  display: block;
  margin: 0 auto 8px;
  width: 300px;
  max-width: 100%;
  height: auto;
}
.service-card h3 {
  font-size: 110%;
  line-height: 110%;
  margin: 8px 0 6px;
}
.service-card h3 a { color: #07659E; }
.service-card h3 a:hover { color: #043655; }
.service-card p { color: #6e6e6e; min-height: 1em; }

/* ---------- Thumbs-up band ---------- */
.praise {
  color: #ffffff;
  background-color: #f4a630;
  text-align: center;
  overflow: hidden;
  padding: 25px 0 30px;
}
.praise .mod {
  margin: 0;
  padding: 15px;
}
.praise h1 {
  color: #fff;
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-size: 40px;
  line-height: 52px;
  margin: 10px 0;
}
.praise-row {
  display: flex;
  flex-wrap: wrap;
}
.praise-col {
  width: 33.33%;
  padding: 0 15px;
}
.praise-col h2 {
  color: #fff;
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-size: 25.6px;
  line-height: 40.96px;
  margin: 10px 0;
  text-align: center;
}
.title-icon.icon-thumbs-up {
  font-style: normal;
  font-weight: normal;
  line-height: inherit;
  margin-right: 5px;
  vertical-align: baseline;
  display: inline-block;
}
.title-icon.icon-thumbs-up::before {
  font-family: FontAwesome, sans-serif;
  font-weight: normal;
  font-style: normal;
  content: "\f164";
  display: inline-block;
  -webkit-font-smoothing: antialiased;
}
.praise-end { margin: 0 0 15px; }

/* ---------- Testimonials ---------- */
.testimonials {
  color: #ffffff;
  background-color: #000000;
  background-image: url("../images/backgrounds/extension-preset1.png");
  background-repeat: repeat;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 25px 0;
}
.testimonials .mod {
  margin: 0 10px;
  padding: 15px;
}
.testimonials .mod-title {
  color: #fff;
  font-size: 40px;
  line-height: 52px;
  margin: 10px 0;
  text-shadow: 1px 2px 0 rgba(0,0,0,0.2);
}
.quote-slider { position: relative; }
.quote-slides { list-style: none; margin: 0; padding: 0; overflow: hidden; }
.quote-slides li { display: none; margin: 10px 1%; padding: 15px; }
.quote-slides li.is-active { display: block; }
.quote-content { padding: 15px; }
.quote-text {
  display: block;
  position: relative;
  font-family: serif;
  font-style: italic;
  font-size: 1.6em;
  line-height: 1.3em;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
  padding: 0;
}
.quote-text::before,
.quote-text::after {
  font-family: FontAwesome, sans-serif;
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}
.quote-text::before { content: "\f10d"; margin-right: 5px; }
.quote-text::after { content: "\f10e"; margin-left: 5px; }
.quote-nav { display: table; width: 100%; }
.quote-dots {
  position: relative;
  text-align: center;
  z-index: 40;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}
.quote-dots li {
  display: inline-block;
  padding: 5px;
  margin: 0 3px;
  opacity: 0.5;
  border-radius: 1em;
  cursor: pointer;
  vertical-align: middle;
  background: rgba(0, 0, 0, 0.7);
  border: 0;
  width: auto;
  height: auto;
  list-style: none;
}
.quote-dots li.is-active {
  background: transparent;
  border: 2px solid #fff;
  padding: 7px;
  opacity: 1;
}
.quote-dots button,
.quote-dots li span {
  display: none;
}
.quote-arrow {
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  top: 50%;
  margin-top: -40px;
  cursor: pointer;
  z-index: 50;
  text-align: center;
  font-size: 0;
  line-height: 38px;
  opacity: 0.7;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  padding: 0;
  transition: opacity 0.2s ease-in;
}
.quote-arrow::before {
  font-family: FontAwesome, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}
.quote-arrow.prev::before { content: "\f104"; }
.quote-arrow.next::before { content: "\f105"; }
.quote-arrow:hover { opacity: 1; }
.quote-arrow.prev { left: -60px; }
.quote-arrow.next { right: -60px; }

/* ---------- Service intro / gallery pages ---------- */
.intro-bar {
  color: #000000;
  background-color: #F5F6F8;
  box-shadow: 0 1px 0 #dde0e7;
  position: relative;
}
.intro-bar .wrap { position: relative; }
.intro-bar .mod-title { color: #000; }
.intro-bar .narrow { width: 80%; margin: 15px auto; }
.gallery-section {
  color: #6E6E6E;
  background: #ffffff;
}
.gallery-section .mod-title { color: #484848; }

.gallery-wrap { margin: 0 -5px; }
.gallery-list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  text-align: center;
}
.gallery-list.cols4 li { width: 25%; float: left; }
.gallery-item-frame {
  padding: 8px;
  border-radius: 3px;
  transition: background-color 0.3s linear;
}
.gallery-item-frame:hover { background: #f2f2f2; }
.gallery-slice {
  display: inline-block;
  padding: 4px;
  border-radius: 3px;
  margin: 0 0 5px 0;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.gallery-item {
  display: inline-block;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  line-height: 0;
}
.gallery-item img {
  width: 210px;
  height: 170px;
  object-fit: cover;
  display: block;
}

/* ---------- Lightbox ---------- */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  z-index: 4000;
  align-items: center;
  justify-content: center;
  padding: 40px;
  cursor: pointer;
}
.lightbox.is-open { display: flex; }
.lightbox img {
  max-width: min(92vw, 1200px);
  max-height: 86vh;
  width: auto;
  height: auto;
  box-shadow: 0 4px 30px rgba(0,0,0,0.6);
  cursor: default;
}
.lightbox-cap {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  font-size: 14px;
}
.lightbox-close,
.lightbox-prev,
.lightbox-next {
  position: absolute;
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: 0;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  z-index: 1;
}
.lightbox-close {
  top: 12px;
  right: 16px;
  width: 44px;
  height: 44px;
  font-size: 36px;
}
.lightbox-prev,
.lightbox-next {
  top: 50%;
  margin-top: -22px;
  width: 44px;
  height: 44px;
}
.lightbox-prev { left: 12px; }
.lightbox-next { right: 12px; }

/* ---------- Contact ---------- */
.page-main { background: #fff; }
.layout-9-3 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.col-main { width: 75%; padding: 0 10px; }
.col-side { width: 25%; padding: 0 10px; }
.contact-form h2 { margin: 10px 0 16px; }
.form-lead { margin: 0 0 18px; }
.form-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 12px;
  align-items: flex-start;
}
.form-row label.form-label {
  width: 35%;
  padding: 6px 12px 0 0;
  text-align: right;
}
.form-row .form-controls { width: 65%; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="date"],
.form-row select,
.form-row textarea {
  width: 100%;
  max-width: 420px;
  padding: 6px 8px;
  border: 1px solid #ccc;
  border-radius: 2px;
  font: inherit;
  color: #333;
  background: #fff;
}
.form-row textarea { min-height: 110px; max-width: 100%; }
.req { color: #c00; font-weight: bold; }
.form-check { display: block; margin: 2px 0; }
.form-actions { margin-left: 35%; }
.form-actions button,
.sidebar .button,
button[type="submit"] {
  font-family: "cabinsemibold", Verdana, Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #fff;
  background: #e58f0c;
  border: 0;
  border-bottom: 2px solid #b4700a;
  border-radius: 3px;
  padding: 6px 16px;
  cursor: pointer;
  margin-right: 6px;
}
.form-actions button[type="reset"] {
  background: #888;
  border-bottom-color: #555;
}
.form-error { color: #b00000; margin: 8px 0; }
.form-note {
  margin: 0 0 16px;
  padding: 8px 12px;
  background: #fff6e5;
  border: 1px solid #f4a630;
  color: #804809;
  font-size: 14px;
}
.hp-field { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.sidebar .mod-title { color: #000; }
.sidebar .mod {
  margin: 25px 0;
}

/* ---------- Footer ---------- */
.site-footer { position: relative; }
.footer-pattern { position: relative; }
.footer-main { position: relative; }
.footer-main::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/patterns/noise.png") repeat;
  pointer-events: none;
  z-index: 1;
}
.footer-main > * { position: relative; z-index: 2; }

.footer-main {
  color: #dbd7d7;
  background-color: #383838;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset;
  border-top: 1px solid rgba(0,0,0,0.2);
  text-align: center;
  overflow: hidden; /* contain inner paragraph margin so bands sit flush */
}
.footer-block { padding: 15px; }
.footer-contact {
  margin: 0 0 15px;
  padding: 0;
  text-align: center;
  font-size: 16px;
  line-height: 26px;
  color: #dbd7d7;
}
/* Phone and address stay light; only the email link is orange */
.footer-main a,
.footer-contact a { color: #dbd7d7; }
.footer-contact a.footer-phone { color: #dbd7d7; }
.footer-contact a.footer-email { color: #f4a630; }
.footer-contact a.footer-phone:hover { color: #f8c275; }
.footer-contact a.footer-email:hover,
.footer-main a:hover { color: #f8c275; }
.footer-contact a.footer-email:hover { color: #f8c275; }

.footer-bottom {
  color: #5F5F5F;
  background-color: #282828;
  box-shadow: 0 1px 0 rgba(255,255,255,0.1) inset;
  border-top: 1px solid rgba(0,0,0,0.2);
  overflow: hidden;
}
.footer-bottom-inner {
  display: flex;
  align-items: stretch;
  min-height: 0;
}
.footer-col { width: 50%; }
.footer-bottom-block {
  margin: 10px;
  padding: 15px;
  font-size: 16px;
  line-height: 26px;
}
.footer-bottom a { color: #5F5F5F; }
.footer-bottom a:hover { color: #f4a630; }
#back-to-top {
  display: block;
  text-align: center;
}

/* ---------- Modal ---------- */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal[hidden] { display: none !important; }
.modal-dialog {
  background: #fff;
  color: #333;
  max-width: 480px;
  width: 100%;
  padding: 28px 32px 24px;
  border-radius: 4px;
  position: relative;
  box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}
.modal-close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: 0;
  font-size: 28px;
  cursor: pointer;
  color: #333;
}

/* ---------- Responsive ---------- */
@media only screen and (min-width: 960px) and (max-width: 1199px) {
  .wrap { width: 960px; }
  .big-title .mod-title { font-size: 36.8px; }
  h1 { font-size: 240%; line-height: 130%; }
  h2 { font-size: 145%; line-height: 145%; }
}
@media only screen and (min-width: 768px) and (max-width: 959px) {
  .wrap { width: 768px; }
  .big-title .mod-title { font-size: 32px; }
  .gallery-item img { width: 100%; height: auto; }
  h1 { font-size: 210%; }
  .nav-list > li > a { padding: 0 10px; font-size: 13px; }
}
@media only screen and (max-width: 767px) {
  body { padding: 0; }
  .wrap { width: 95%; }
  .header-inner { flex-wrap: wrap; }
  .logo-col, .nav-col, .social-col { width: 100%; flex: 0 0 100%; }
  .social-col { text-align: left; }
  .nav-toggle { display: block; }
  .site-nav { display: none; margin: 0 10px 15px; }
  .site-nav.is-open { display: block; }
  .nav-list { flex-direction: column; background: #111; }
  .nav-list > li { margin: 0; text-align: left; }
  .nav-list > li.is-active::after { display: none; }
  .sub-nav {
    position: static;
    left: auto;
    opacity: 1;
    width: 100%;
    display: none;
    box-shadow: none;
  }
  .nav-list > li.open > .sub-nav { display: block; }
  .service-card, .praise-col, .gallery-list.cols4 li { width: 50%; }
  .col-main, .col-side { width: 100%; }
  .form-row label.form-label,
  .form-row .form-controls,
  .form-actions { width: 100%; text-align: left; margin-left: 0; }
  .quote-text { font-size: 1.2em; }
  .footer-bottom-inner { flex-direction: column; text-align: center; }
  .footer-bottom .credit,
  .footer-bottom .back-top { text-align: center; }
}
@media only screen and (max-width: 480px) {
  .service-card, .praise-col, .gallery-list.cols4 li { width: 100%; }
  .big-title .mod-title { font-size: 25.6px; line-height: 1.3; }
}


/* ---- Visual match refinements ---- */
.is-uppercase { text-transform: uppercase; }

.page-hero {
  color: #000;
  background: #fff;
  text-align: center;
}
.page-hero .mod-title {
  color: #000;
  margin-bottom: 10px;
}
.page-hero img {
  display: block;
  margin: 0 auto;
}

.showcase-photo img {
  width: 642px;
  max-width: 100%;
  height: auto;
}

/* Featured service titles are orange on the live site */
.featured h3 a,
.featured h3 a:visited { color: #f4a630; }
.featured h3 a:hover { color: #e3890b; }

/* Sidebar contact email is orange; footer email handled in the Footer section */
.sidebar a { color: #f4a630; }
.sidebar a:hover { color: #f8c275; }

/* Quieter empty breadcrumbs */
.breadcrumbs { min-height: 0; }
.breadcrumb { margin: 8px 10px; padding: 8px 15px; }
.crumb-icon {
  width: 0;
  height: 0;
  border: 0;
  background: none;
  color: #bbb;
  font-size: 12px;
}
.crumb-icon::before { content: none; }
.breadcrumb:not(:has(.crumb)) .crumb-icon { display: none; }
.breadcrumb:not(:has(.crumb)) { margin: 4px 10px; padding: 4px 15px; min-height: 8px; }
.crumb { color: #6e6e6e; font-size: 16px; }

/* Header tighter, closer to live */
.header-inner { min-height: 106px; align-items: flex-end; padding-bottom: 8px; }
.site-nav { margin: 0 0 4px 0; }
.logo { margin: 9px 25px 0 25px; }
.facebook { padding: 10px 10px 12px; }
.nav-list > li.is-active::after { bottom: -12px; }

/* Testimonials hex pattern (original SVG, not a template asset) */
/* hex tile already set on .testimonials above */

/* Contact form field sizes closer to the live layout */
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="date"],
.form-row select {
  max-width: 240px;
}
.form-row textarea { max-width: 520px; }
.form-actions button,
.form-actions button[type="submit"],
.form-actions button[type="reset"] {
  font-family: "cabinregular", Verdana, Helvetica, Arial, sans-serif;
  font-size: 13px;
  color: #333;
  background: #f2f2f2;
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  border: 1px solid #c4c4c4;
  border-bottom: 1px solid #a8a8a8;
  border-radius: 3px;
  padding: 4px 12px;
}
.form-actions button:hover { background: #eaeaea; }
.form-row label.form-label { font-size: 15px; }
.col-main .mod { margin-top: 10px; }
.sidebar .mod-title { font-size: 160%; }


.grecaptcha-badge { z-index: 3; }
