html,
body {
  height: 100%;
}

* {
  -moz-box-sizing: border-box;
}

body {
  background-color: #ededed;
  color: #424242;
  margin: 0;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.428571429;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family:
    'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica,
    Arial, 'Lucida Grande', sans-serif;
  font-weight: normal;
  line-height: 1.1;
  color: #333;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small {
  font-weight: normal;
  line-height: 1;
}
h1,
.h1 {
  font-size: 45px;
  line-height: 48px;
}
h2,
.h2 {
  font-size: 36px;
  line-height: 42px;
}
h3,
.h3 {
  font-size: 28px;
  line-height: 36px;
}
h4,
.h4 {
  font-size: 24px;
  line-height: 25px;
}
h5,
.h5 {
  font-size: 20px;
  line-height: 24px;
}
h6,
.h6 {
  font-size: 18px;
  line-height: 24px;
}

a {
  color: #3282e6;
}
a:hover,
a:focus {
  color: #165db5;
  text-decoration: underline;
}

.text-center {
  text-align: center;
}

.wrap {
  min-height: 100%;
  .display: table;
  .height: 100%;
}

.top-bar {
  height: 20px;
  background: #71a100;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzcxYTEwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZmExMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #71a100 0%, #6fa100 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #71a100),
    color-stop(100%, #6fa100)
  );
  background: -webkit-linear-gradient(top, #71a100 0%, #6fa100 100%);
  background: -o-linear-gradient(top, #71a100 0%, #6fa100 100%);
  background: -ms-linear-gradient(top, #71a100 0%, #6fa100 100%);
  background: linear-gradient(to bottom, #71a100 0%, #6fa100 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#71a100', endColorstr='#6fa100',GradientType=0 );
}

:root .top-bar {
  filter: none \0 / IE9;
}

.welcome-container {
  width: 500px;
  margin: 0 auto;
  overflow: auto;
  padding-bottom: 60px;
}

.coming-soon-wrap {
  margin-top: 90px;
}

.frowny-face {
  text-align: center;
  font-size: 130px;
  color: #919191;
  line-height: 1.1;
  margin-top: 90px;
  margin-bottom: 70px;
}

.welcome-container h1 {
  margin-bottom: 1em;
}

.btn-primary {
  background-color: #7fb141;
  border-color: #648c33;
  color: #ffffff;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  cursor: pointer;
}
button,
select {
  text-transform: none;
}
button,
input {
  line-height: normal;
}
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

.btn {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  border-color: transparent;
  border-image: none;
  border-radius: 0 0 0 0;
  border-style: solid;
  border-width: 0 0 3px;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.42857;
  margin-bottom: 0;
  padding: 8px 20px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  text-decoration: none;
}

.btn-primary {
  background-color: #7fb141;
  border-color: #648c33;
  color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: #729e3a;
  border-color: #496626;
  color: #fff;
}

.btn:hover,
.btn:focus {
  text-decoration: none;
}

.login-container {
  text-align: right;
  margin: 20px;
}

.footer {
  position: relative;
  margin-top: -60px; /* negative value of footer height */
  height: 60px;
  clear: both;
  text-align: center;
  font-size: 14px;
}

/* EC-BTN-104 + EC-NAV-121: Re-assert hero / CTA text-white on buttons & links.
   Uses class~= (word match) not class*= (substring) to avoid matching hover:text-white etc. */
button[class~='text-white/90'],
a[class~='text-white/90'] {
  color: rgba(255, 255, 255, 0.9);
}
button[class~='text-white/80'],
a[class~='text-white/80'] {
  color: rgba(255, 255, 255, 0.8);
}
button[class~='text-white/70'],
a[class~='text-white/70'] {
  color: rgba(255, 255, 255, 0.7);
}
button[class~='text-white/60'],
a[class~='text-white/60'] {
  color: rgba(255, 255, 255, 0.6);
}
button[class~='text-white/50'],
a[class~='text-white/50'] {
  color: rgba(255, 255, 255, 0.5);
}
button[class~='text-white/40'],
a[class~='text-white/40'] {
  color: rgba(255, 255, 255, 0.4);
}
button[class~='text-white'],
a[class~='text-white'] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* EC-ANIM-008b / EC-ANIM-009: carousel-only override — scroll-reveal elements animate via IO in functions.php */
.scroll-fade-up:has([aria-roledescription='carousel']),
.scroll-fade-up:has([data-wpconvert-blog-filter-bar]),
.scroll-fade-left:has([aria-roledescription='carousel']),
.scroll-fade-right:has([aria-roledescription='carousel']),
.scroll-scale-in:has([aria-roledescription='carousel']) {
  opacity: 1 !important;
  transform: none !important;
}
