/*
Theme Name: Florida Internet & Television +
Author: mkaydub
Description: Designed by mkaydub.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: white, light
Text Domain: am
*/
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* Smooth Scrolling */
html {
  scroll-behavior: smooth;
}
/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */

input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*
    Example usage: 
    @include animation(10s, 5s, changecolour)
 */

.header-menu,
.socials,
.menu-global-inner .bottom ul,
.social-mob,
.tabs-hero,
.partners-list,
.economic-list,
.blog-slider,
.share-list,
.block-news-release .box-text ul,
.blog-catalog-list,
.services-list,
.services-list .slide,
.bios-list,
.social-footer,
.footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.clearfix:after,
dl:after,
.widget:after,
.search-form:after,
.post-password-form p:after,
.post-password-form:after,
#search_block:after,
.search-form p:after,
#search_block p:after,
.navigation-single:after,
.commentlist .comment-author:after {
  content: '';
  display: block;
  clear: both;
}

.ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.container {
  max-width: 90%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  display: -ms-flexbox;
  display: flex;
}

.container-full {
  display: -ms-flexbox;
  display: flex;
}

.col-half {
  width: 50%;
}

.btn,
button,
input[type='button'],
input[type='reset'],
input[type='file'],
input[type='submit'] {
color: #fff;
    background-color: transparent;
    padding: 5px 20px;
    font-size: 17px;
    display: inline-block;
    transition: all .3s ease;
    text-decoration: none;
    text-align: center;
    border: 2px solid #B3D335;
    border-radius: 30px;
    text-transform: uppercase;
    font-weight: 700;
}

.btn:hover,
button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='file']:hover,
input[type='submit']:hover {
  background-color: #B3D335;
  text-decoration: none;
	color:#102747; /* was #037457 (3.4:1 on lime, fails WCAG AA); #102747 (your body/heading navy) gives ~8.8:1 */
}

.btn.btn-custom,
button.btn-custom,
input.btn-custom[type='button'],
input.btn-custom[type='reset'],
input.btn-custom[type='file'],
input.btn-custom[type='submit'] {
  background: #B3D335;
  border-radius: 12px;
  font-size: 22px;
  color: #102747; /* was #fff — white on lime is ~1.7:1, fails WCAG AA at any size; #102747 (your body/heading navy) gives ~8.5:1 */
  position: relative;
  padding: 18px 45px;
  box-shadow: 5px 6px 6px 0 rgba(0, 0, 0, 0.2), inset 2px 2px 3px 0 rgba(0, 0, 0, 0.5);
  border: none;
  transition: none;
}

.btn.btn-custom:hover,
button.btn-custom:hover,
input.btn-custom[type='button']:hover,
input.btn-custom[type='reset']:hover,
input.btn-custom[type='file']:hover,
input.btn-custom[type='submit']:hover {
  /* was a light-to-dark gradient (#B4EC51 -> #429321): the dark end only
     hits ~3.9:1 against any text color that also passes on the light end,
     which fails AA for normal-size text. Flat, slightly darker lime keeps
     the "hover darkens" feel while staying ~7:1 with the navy text above. */
  background: #9FC12E;
}

.btn.btn-custom::after,
button.btn-custom::after,
input.btn-custom[type='button']::after,
input.btn-custom[type='reset']::after,
input.btn-custom[type='file']::after,
input.btn-custom[type='submit']::after {
  content: "";
  background: url(images/btn-border.svg) no-repeat 0/cover;
  position: absolute;
  top: -2px;
  left: 0px;
  width: 100%;
  height: 105%;
  z-index: 111;
}

.btn.btn-custom .text,
button.btn-custom .text,
input.btn-custom[type='button'] .text,
input.btn-custom[type='reset'] .text,
input.btn-custom[type='file'] .text,
input.btn-custom[type='submit'] .text {
  text-shadow: 1px 2px 2px rgba(3, 116, 87, 0.41);
}

.btn.btn-transparent,
button.btn-transparent,
input.btn-transparent[type='button'],
input.btn-transparent[type='reset'],
input.btn-transparent[type='file'],
input.btn-transparent[type='submit'] {
  border: 3px solid #B3D335;
  font-weight: 500;
  font-size: 28px;
  color: #fff;
  background: transparent;
  border-radius: 0;
  padding: 16px 55px;
}

.btn.btn-transparent:hover,
button.btn-transparent:hover,
input.btn-transparent[type='button']:hover,
input.btn-transparent[type='reset']:hover,
input.btn-transparent[type='file']:hover,
input.btn-transparent[type='submit']:hover {
  background: #B3D335;
}

.bg-stretch {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.img-stretch {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.img-stretch img {
  width: 100%;
  height: auto;
  max-width: none;
}

html {
  box-sizing: border-box;
}

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

* {
  max-height: 1000000px;
}

body {
  color: #102747;
  background: #fff;
  font: 300 20px/1.45 "museo-sans", "Helvetica Neue", "Helvetica", sans-serif;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.gm-style img {
  max-width: none;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
  margin: 0 0 1.45em;
}

blockquote {
  border-left: 4px solid #102747;
  padding-left: .5em;
  margin-left: 1.45em;
}

table {
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0 0 20px 0;
}

th,
td {
  border: 1px solid #102747;
  padding: .5em;
  text-align: left;
  vertical-align: top;
}

th {
  text-align: center;
  vertical-align: middle;
  background: #eee;
}

ul,
ol {
  padding-left: 3em;
}

ul ul,
ul ol,
ol ul,
ol ol {
  padding-left: 3em;
  margin: 0;
}

ul {
  list-style-type: disc;
}

dl dt {
  float: left;
  clear: left;
  padding-right: .3em;
  font-weight: bold;
}

dl dd {
  overflow: hidden;
}

pre {
  max-width: 100%;
}

form,
fieldset {
  margin: 0;
  padding: 0;
  border-style: none;
}

input[type='text'],
input[type='tel'],
input[type='email'],
input[type='search'],
input[type='password'],
input[type='url'] {
  height: 40px;
  line-height: 40px;
  padding: 0 15px;
  width: 50%;
}

input[type='text'],
input[type='tel'],
input[type='email'],
input[type='search'],
input[type='password'],
input[type='url'],
textarea {
  -webkit-appearance: none;
  border-radius: 20px;
  box-sizing: border-box;
  outline: none;
  box-shadow: none;
  color: #000;
  transition: all .2s linear;
  border: 1px solid #000;
  font-size: 13px;
}

input[type='text']:focus,
input[type='tel']:focus,
input[type='email']:focus,
input[type='search']:focus,
input[type='password']:focus,
input[type='url']:focus,
textarea:focus {
  border-color: #000;
}

input[type='text']::-webkit-input-placeholder,
input[type='tel']::-webkit-input-placeholder,
input[type='email']::-webkit-input-placeholder,
input[type='search']::-webkit-input-placeholder,
input[type='password']::-webkit-input-placeholder,
input[type='url']::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #000;
}

input[type='text']::-moz-placeholder,
input[type='tel']::-moz-placeholder,
input[type='email']::-moz-placeholder,
input[type='search']::-moz-placeholder,
input[type='password']::-moz-placeholder,
input[type='url']::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #000;
}

input[type='text']:-moz-placeholder,
input[type='tel']:-moz-placeholder,
input[type='email']:-moz-placeholder,
input[type='search']:-moz-placeholder,
input[type='password']:-moz-placeholder,
input[type='url']:-moz-placeholder,
textarea:-moz-placeholder {
  color: #000;
}

input[type='text']:-ms-input-placeholder,
input[type='tel']:-ms-input-placeholder,
input[type='email']:-ms-input-placeholder,
input[type='search']:-ms-input-placeholder,
input[type='password']:-ms-input-placeholder,
input[type='url']:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #000;
}

input[type='text'].placeholder,
input[type='tel'].placeholder,
input[type='email'].placeholder,
input[type='search'].placeholder,
input[type='password'].placeholder,
input[type='url'].placeholder,
textarea.placeholder {
  color: #000;
}

input[type="number"] {
  box-shadow: none;
  -webkit-box-shadow: none;
}

input[type="number"],
select {
  -webkit-border-radius: 0;
}

textarea {
  width: 100%;
  min-height: 150px;
  max-height: 300px;
  resize: vertical;
  vertical-align: top;
  padding: 15px;
}

button,
input[type='button'],
input[type='reset'],
input[type='file'],
input[type='submit'] {
  display: inline-block;
  vertical-align: top;
  height: 40px;
  padding: 0 15px;
  background: #B3D335;
  border: 0;
  -webkit-appearance: none;
  cursor: pointer;
  line-height: 1.2;
  text-transform: uppercase;
  color: #000;
  outline: none;
  transition: color 0.2s linear, background 0.2s linear, opacity 0.2s linear, border-color 0.2s linear;
  border-radius: 15px;
}

button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='file']:hover,
input[type='submit']:hover {
  background: #c3dc5f;
}

input[type='file'] {
  height: auto;
  padding: 0;
  background: none;
  color: inherit;
  text-transform: none;
}

input[type='file']:hover {
  background: none;
  color: inherit;
}

.widget {
  margin-bottom: 1.45em;
}

.widget ul {
  padding-left: 2em;
}

.widget select {
  min-width: inherit;
  width: 100%;
}

/* Calendar */

#wp-calendar {
  width: 95%;
  margin-bottom: 15px;
  clear: both;
  padding: 0;
}

#wp-calendar caption {
  padding: 10px;
}

#wp-calendar th,
#wp-calendar td {
  text-align: center;
  padding: 3px 0;
}

#wp-calendar td {
  background: transparent;
}

.comment-form p {
  width: 100%;
  overflow: hidden;
  padding: 0 0 10px;
  margin: 0;
}

.comment-form label {
  display: block;
  padding: 0 0 5px;
}

.comment-form textarea,
.comment-form input[type='text'] {
  margin: 0 4px 0 0;
  width: 300px;
}

.comment-form textarea {
  width: 100%;
  margin: 0;
}

.comment-form input[type='submit'] {
  display: block;
  float: none;
}

.post-password-form label {
  display: block;
}

.post-password-form input[type='password'] {
  margin: 0 4px 0 0;
  width: 300px;
}

.post-password-form input {
  float: left;
}

.post-password-form input[type='password'] {
  width: 150px;
}

.search-form,
.post-password-form,
#search_block {
  margin-bottom: 15px;
}

.commentlist {
  margin: 0 0 1.45em;
}

.commentlist .edit-link {
  margin: 0;
}

.commentlist .avatar-holder {
  float: left;
  margin: 0 1.45em 4px 0;
}

.commentlist-item .commentlist-item {
  padding: 0;
}

.comment,
.commentlist-holder {
  overflow: hidden;
}

.commentlist-item .commentlist-item,
.commentlist-item+.commentlist-item {
  padding-top: 1.45em;
}

.widget_calendar #prev {
  padding-left: 5px;
  text-align: left;
}

.widget_calendar #next {
  padding-right: 5px;
  text-align: right;
}

.gallery-item dt {
  float: none;
  padding: 0;
}

.navigation,
.navigation-comments,
.pagination {
  position: relative;
  vertical-align: middle;
  padding: 10px 0 20px 0;
  width: 100%;
  overflow: hidden;
  text-transform: uppercase;
}

.navigation .screen-reader-text,
.navigation-comments .screen-reader-text,
.pagination .screen-reader-text {
  position: absolute;
  left: -99999px;
}

.navigation .current,
.navigation-comments .current,
.pagination .current {
  color: #ccc;
}

.navigation .page-numbers,
.navigation-comments .page-numbers,
.pagination .page-numbers {
  display: inline-block;
  vertical-align: middle;
  padding: 9px 15px 7px;
  font-size: 14px;
  font-weight: 700;
}

.navigation .page-numbers:hover,
.navigation-comments .page-numbers:hover,
.pagination .page-numbers:hover {
  opacity: .8;
}

.navigation .next,
.navigation .prev,
.navigation .al,
.navigation .ar,
.navigation-comments .next,
.navigation-comments .prev,
.navigation-comments .al,
.navigation-comments .ar,
.pagination .next,
.pagination .prev,
.pagination .al,
.pagination .ar {
  display: inline-block;
  vertical-align: middle;
  max-width: 49%;
  background: #B3D335;
  color: #000;
  text-decoration: none;
  border-radius: 50px;
}

.navigation .next.disabled,
.navigation .prev.disabled,
.navigation .al.disabled,
.navigation .ar.disabled,
.navigation-comments .next.disabled,
.navigation-comments .prev.disabled,
.navigation-comments .al.disabled,
.navigation-comments .ar.disabled,
.pagination .next.disabled,
.pagination .prev.disabled,
.pagination .al.disabled,
.pagination .ar.disabled {
  background: #b3b3b3;
  border-color: #b3b3b3;
  pointer-events: none;
}

.navigation .next a,
.navigation .prev a,
.navigation .al a,
.navigation .ar a,
.navigation-comments .next a,
.navigation-comments .prev a,
.navigation-comments .al a,
.navigation-comments .ar a,
.pagination .next a,
.pagination .prev a,
.pagination .al a,
.pagination .ar a {
  display: inline-block;
  vertical-align: top;
  padding: 9px 15px 7px;
  color: #000;
  font-size: 14px;
  font-weight: 700;
}

.navigation .next a:hover,
.navigation .prev a:hover,
.navigation .al a:hover,
.navigation .ar a:hover,
.navigation-comments .next a:hover,
.navigation-comments .prev a:hover,
.navigation-comments .al a:hover,
.navigation-comments .ar a:hover,
.pagination .next a:hover,
.pagination .prev a:hover,
.pagination .al a:hover,
.pagination .ar a:hover {
  opacity: .8;
}

.navigation a,
.navigation-comments a,
.pagination a {
  color: inherit;
}

.navigation-single {
  margin-bottom: 1.45em;
}

.navigation-single .next,
.navigation-single .prev {
  float: left;
  vertical-align: middle;
  max-width: 50%;
  background: #B3D335;
  color: #000;
  text-decoration: none;
}

.navigation-single .next a,
.navigation-single .prev a {
  color: inherit;
  text-decoration: none;
  padding: 5px;
  display: block;
}

.navigation-single .next {
  float: right;
}

/* Begin Images */

img.border {
  padding: 5px;
  border: 1px solid #ccc;
}

.wp-caption {
  max-width: 100%;
  clear: both;
}

div.aligncenter,
figure.aligncenter {
  margin: 0 auto 1.45em;
  text-align: center;
}

img.aligncenter {
  display: block;
  margin: 0 auto 20px;
}

.aligncenter {
  margin: 5px auto 20px auto;
}

.alignleft {
  float: left;
  margin: 0 1.45em 10px 0;
}

.alignright {
  float: right;
  margin: 0 0 10px 1.45em;
}

.alignnone {
  margin: 0;
}

img.wp-smiley {
  padding: 0;
  border: none;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.fluid-iframe {
  display: block;
  position: relative;
  padding-bottom: 56%;
}

.fluid-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.mejs-container {
  margin-bottom: 1.45em;
}

.wp-caption-text,
.gallery,
.alignnone,
.gallery-caption,
.sticky,
.bypostauthor {
  height: auto;
}

.al,
.navigation .next {
  float: left;
}

.ar,
.navigation .prev {
  float: right;
}

.posts-list p {
  margin: 0;
}

.posts-list .post {
  margin: 0 0 30px;
}

.title {
  margin-bottom: 1.2em;
  text-transform: uppercase;
}

.title h1 {
  margin: 0;
}

.post .title {
  margin-bottom: 42px;
}

.post .postmetadata {
  margin-bottom: 6px;
}

.textwidget p {
  padding: 0 0 10px 0;
}

.center {
  text-align: center;
}

.hidden {
  display: none;
}

code br {
  display: none;
}

pre,
code {
  font-family: mono-space, monospace;
  border: 1px solid #eee;
  padding: 20px;
  display: block;
  margin: 0 0 20px 0;
  overflow: auto;
  white-space: pre;
  font-size: 12px;
  line-height: 20px;
}

code {
  padding: 1px 20px 0 20px;
  background: #f6f6f6;
  border-top: 0;
  border-bottom: 0;
}

/* Various Tags & Classes */

acronym,
abbr,
span.caps {
  cursor: help;
}

acronym,
abbr {
  border-bottom: 1px dashed #dfcfba;
}

sup {
  position: relative;
  top: -5px;
}

sub {
  position: relative;
  top: 5px;
}

.last {
  margin-right: 0 !important;
  clear: right;
}

.clear {
  clear: both;
  line-height: 0;
}

.page-link {
  padding: 0 0 15px;
}

/* Respond */

.comments {
  clear: both;
}

#respond {
  margin: 20px 0 20px 0;
  overflow: hidden;
}

.commentlist #respond {
  margin: 0 0 20px 0;
}

#respond .comment-reply-title small {
  font-size: 12px;
  font-weight: normal;
}

/* Comments*/

#comments,
#reply-title {
  margin: 0 0 15px 0;
  line-height: 1.6em;
}

.commentlist {
  margin-left: -2em;
  padding: 0;
  text-align: justify;
  line-height: 1.6em;
}

.commentlist .comment {
  padding: 0 0 0 2em;
}

.commentlist .comment,
.commentlist+.comment {
  padding-top: 1.2em;
}

.commentlist .commentlist {
  padding: 0;
}

.commentlist .comment-author {
  margin-bottom: 0.5em;
}

.commentlist .comment-metadata {
  margin-bottom: 0.5em;
}

.commentlist .comment-author img {
  float: left;
  margin: 0 1.2em 4px 0;
}

.comment .comment-respond {
  margin-left: 20px;
}

.comment-body {
  margin: 0 0 20px;
}

.comment-body .reply {
  padding-bottom: 15px;
}

.parent.comment .comment {
  margin-left: 30px;
}

.comment-author.vcard {
  margin-bottom: 10px;
}

.breadcrumb {
  padding-bottom: 20px;
}

.divider {
  height: 71px;
}

.wpcf7-not-valid-tip {
  display: block;
  padding-top: 5px;
}

.wpcf7-response-output {
  text-align: center;
}

.wpcf7-not-valid-tip,
.wpcf7-validation-errors {
  color: #d93c3c;
}

.error input:not([type="submit"]) {
  border-color: red !important;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
  font-family: "museo-sans", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 300;
  line-height: 1.2;
  margin: 0 0 20px;
  color: #102747;
}

/* Fluid type scale — scales smoothly between a mobile floor and the
   original desktop size instead of jumping at fixed breakpoints. This
   is the site-wide fallback for any heading without its own
   block-specific size (WYSIWYG page/post body content, etc.); blocks
   that already set their own font-size (.block-intro h1, .tab-h-title,
   etc.) are unaffected since a more specific selector wins. */
h1,
.h1 {
  font-size: clamp(2rem, 1.5rem + 2.5vw, 3.25rem); /* 32px → 52px */
}

h2,
.h2 {
  font-size: clamp(1.75rem, 1.3rem + 2.2vw, 2.625rem); /* 28px → 42px */
}

h3,
.h3 {
  font-size: clamp(1.5rem, 1.1rem + 2vw, 2.25rem); /* 24px → 36px */
}

h4,
.h4 {
  font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem); /* 20px → 28px */
}

h5,
.h5 {
  font-size: clamp(1.125rem, 1rem + .6vw, 1.5rem); /* 18px → 24px */
}

h6,
.h6 {
  font-size: clamp(1rem, .9rem + .5vw, 1.25rem); /* 16px → 20px */
}

h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a,
h6 a,
.h6 a,
.h a {
  color: inherit;
}

h1 a:hover,
.h1 a:hover,
h2 a:hover,
.h2 a:hover,
h3 a:hover,
.h3 a:hover,
h4 a:hover,
.h4 a:hover,
h5 a:hover,
.h5 a:hover,
h6 a:hover,
.h6 a:hover,
.h a:hover {
  color: #829a22;
}

p {
  margin: 0 0 20px;
}

a {
  color: #B3D335;
  outline: none;
  text-decoration: none;
  transition: color .2s linear, background .2s linear, opacity .2s linear, border-color .2s linear;
}

a:hover {
  text-decoration: none;
  color: #829a22;
}

/* Slider */

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@keyframes flip {
  0% {}

  100% {
    transform: rotateX(0deg);
    opacity: 1;
  }
}

/*
Theme Name: PROJECT NAME
Author: AUTHOR
Description: Designed by AUTHOR.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: white, light
Text Domain: am
*/

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon/icomoon.ttf") format("truetype"), url("fonts/icomoon/icomoon.woff?p5o6jv") format("woff");
  font-weight: normal;
  font-style: normal;
}

i {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-keyboard_arrow_right:before {
  content: "\e906";
}

.icon-keyboard_arrow_down:before {
  content: "\e907";
}

.icon-twitter:before {
  content: "\e900";
}

.icon-facebook:before {
  content: "\e904";
}

.icon-facebook-f:before {
  content: "\e904";
}

.icon-search2:before {
  content: "\e905";
}

.icon-bars:before {
  content: "\e909";
}

.icon-home:before {
  content: "\e908";
}

.icon-close:before {
  content: "\e903";
}

.icon-film:before {
  content: "\e902";
}

.icon-youtube:before {
  content: "\e901";
}

.icon-linkedin2:before {
  content: "\eaca";
}

.ico-play {
  background: url("images/ico-play-button.svg") no-repeat 0/contain;
  width: 146px;
  height: 145px;
  display: inline-block;
}

html {
  height: 100%;
}

html *:last-child {
  margin-bottom: 0;
}

body {
  height: 100%;
}

.wrapper {
  display: -ms-flexbox;
  display: flex;
  min-height: 100%;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.main {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.search-header form {
  display: -ms-flexbox;
  display: flex;
}

.search-header input[type=search] {
  width: 160px;
  padding: 0;
  border: 0;
  height: 26px;
  line-height: 26px;
}

.block-hero-front {
  padding-top: 100px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  min-height: 950px;
  margin-bottom: 160px;
  background-size: cover;
  background-position: 0 0;
  background-repeat: no-repeat;
  transition: background-image .6s ease;
}

.block-hero-front.dark-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 29, 61, 0.45);
}

.block-hero-front::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
}

.block-hero-front>.container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex: auto;
  flex: auto;
  width: 100%;
  max-width: 1400px;
  z-index: 1;
	margin-top:-6%;
}
.block-hero-medium-second::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(3, 116, 87, 0.65);
}

.block-hero-medium-second > .container {
  position: relative;
  z-index: 2;
}
.block-hero-second {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  padding-top: 157px;
  padding-bottom: 113px;
}

.block-hero-second .container {
  width: 100%;
  -ms-flex: auto;
  flex: auto;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.block-hero-second .ico-play {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  opacity: .44;
  z-index: 3;
  cursor: pointer;
  display: block;
  transition: all .3s ease;
}


.block-hero-second .ico-play:hover {
  opacity: .9;
}

.block-hero-medium-second {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  min-height: 450px;
}

.block-hero-medium-second>.container {
  width: 100%;
  -ms-flex: auto;
  flex: auto;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-bottom: 41px;
}

.block-hero-medium-second>.container h2 {
  font-weight: 100;
  font-size: 52px;
  color: #fff;
}

.block-hero-small-second {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;

}

/* Teal overlay — same technique as .block-hero-medium-second: a ::before
   layered between the background photo (.bg-stretch) and the heading,
   with .container lifted above it via position + z-index so the h1
   doesn't get painted underneath. */
.block-hero-small-second::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: rgba(3, 116, 87, 0.65);
}

.block-hero-small-second .container {
  position: relative;
  z-index: 2;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  -ms-flex-align: center;
  align-items: center;
  min-height: inherit;
}

.block-hero-small-second h1 {
    font-weight: 100;
    font-size: 2.3em;
    color: #fff;
    margin: 0;
    text-align: right;
}

.hero-text-panel {
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.hero-text-panel h6 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  align-items: flex-end;
  font-weight: 700;
  font-size: 18px;
  color: #B3D335;
}

.hero-text-panel h6 img {
  margin-right: 10px;
  position: relative;
  top: -4px;
}

.hero-text-panel h2 {
  color: inherit;
  font-weight: 700;
  font-size: 42px;
  text-transform: uppercase;
  margin-bottom: 13px;
}

.hero-text-panel a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-size: 18px;
  color: #fff;
}

.hero-text-panel a:hover {
  opacity: .8;
}

.hero-text-panel i {
  margin-right: 8px;
  font-size: 18px;
}

.logo {
  margin-right: 20px;
}

.sticky-header .header-menu a.active::after,
.sticky-header .header-menu a:hover::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  left: 0;
}

.sticky-header .header {
  background-color: #B3D335;
  padding: 8px 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}

.sticky-header .logo a {
  display: none;
}

.sticky-header .logo .logo-sticky {
  display: block;
}

.sticky-header .button-container i {
  color: #037457;
}

.sticky-header .header-modify .header-panel {
  display: -ms-flexbox;
  display: flex;
}

.sticky-header .header-modify h1 {
  display: none;
}

.header-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: 10px;
}

.header-menu li {
  margin: 0 16px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.header-menu a {
  color: #fff;
  padding: 5px 0;
  font-weight: 700;
  font-size: 16px;
  position: relative;
}

.header-menu a.active::after,
.header-menu a:hover::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 4px;
  background-color: #B3D335;
  left: 0;
}

.hero-message-panel {
  display: -ms-flexbox;
  display: flex;
  float: right;
  max-width: 100%;
}

.hero-message-panel-holder {
  background: rgba(0, 0, 0, 0.55);
  border-radius: 0 20px 0 0;
  padding: 31px 30px 31px 20px;
  width: 231px;
  margin-right: 35px;
  position: relative;
  -ms-flex: none;
  flex: none;
}

.hero-message-panel-holder::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 2px;
  height: calc(100% + 20px);
  background-color: #fff;
  opacity: .75;
}

.hero-message-panel-holder .item {
  margin-bottom: 40px;
}

.hero-message-panel-holder .item:last-child {
  margin-bottom: 0;
}

.hero-message-panel-holder h6 {
  font-weight: 700;
  font-size: 18px;
  color: #B8E986;
  line-height: 1.33;
  margin-bottom: 11px;
}

.hero-message-panel-holder p {
  font-size: 16px;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 15px;
}

.hero-message-panel-holder .btn,
.hero-message-panel-holder button,
.hero-message-panel-holder input[type='button'],
.hero-message-panel-holder input[type='reset'],
.hero-message-panel-holder input[type='file'],
.hero-message-panel-holder input[type='submit'] {
  background: transparent;
  color: #fff;
	border:1px solid #B3D335;/* added — this sits on a lime background but only inherited the base .btn white text (~1.7:1, fails AA) */
  border-radius: 50px;
  padding: 4px 16px;
}

body > div.wrapper > main > section.block-blog-categories > div > div.box-text.post.type-page > div > a {
	color:#037457;
}

.hero-message-video-panel {
  background: rgba(0, 0, 0, 0.55);
  padding: 30px 127px 43px 48px;
  position: relative;
  border-radius: 20px 0 0 20px;
  width: 0;
  white-space: nowrap;
  display: none;
  overflow: hidden;
  font-size: 0;
}

.hero-message-video-panel .top {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
  width: 710px;
}

.hero-message-video-panel .top p {
  font-weight: 700;
  font-size: 18px;
  color: #B8E986;
  line-height: 1.33;
  margin-bottom: 0;
  white-space: normal;
}

.hero-message-video-panel .top i {
  color: #B3D335;
  font-size: 38px;
  cursor: pointer;
  transition: all .3s ease;
}

.hero-message-video-panel .top i:hover {
  opacity: .8;
}

.hero-message-video-panel .video-holder {
  height: 405px;
  max-width: 710px;
  display: none;
}

.hero-message-video-panel .video-holder.on {
  display: block;
}

.hero-message-video-panel .video-holder .video-btn .ico-play {
  width: 150px;
  height: 150px;
  opacity: 1;
}

.hero-message-video-panel .video-holder .video-btn .ico-play:hover {
  opacity: .8;
}

iframe {
  max-width: 100%;
  border: 0;
}

.block-banner-panel {
  background-color: #B3D335;
  padding: 15px 0;
}

.block-banner-panel .container {
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.block-banner-panel .header-menu a:hover::after {
  background-color: #fff;
}

.block-banner-panel .button-container i {
  color: #037457;
}

.socials {
  display: -ms-flexbox;
  display: flex;
}

.socials li {
  margin-right: 16px;
  display: -ms-flexbox;
  display: flex;
}

.socials a {
  color: #fff;
  font-size: 28px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  transition: all .3s ease;
}

.socials a:hover {
  opacity: .7;
}

#clip-arc {
  fill: #fff;
  z-index: 1;
}

.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 32px 0;
  z-index: 1111;
}
.page-template-default .header  {
position:relative;	
}
.header .container {
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.header-modify .header-panel {
  display: none;
}

.logo-sticky {
  display: none;
}

.header-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.header-panel .search-header {
  margin-right: 12px;
}

.header-panel .search-header input[type=search] {
  margin-left: 2px;
  overflow: hidden;
  width: 0;
}

.header-panel .search-header button {
  display: none;
}

.header-panel .search-header i {
  color: #fff;
  background: none;
  font-size: 22px;
  padding: 0;
  margin: 0 4px 0 0;
  height: auto;
  cursor: pointer;
}

.menu-global-holder {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 116, 87, 0.92);
  z-index: 2222;
}

.active-menu {
  overflow: hidden;
}

.active-menu .menu-global-holder {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.active-menu .header-modify h1 {
  display: none;
}

.menu-global-inner {
  max-width: 860px;
  width: 100%;
  padding-top: 5%;
  padding-bottom: 20px;
  overflow-y: auto;
}

.menu-global-inner .top {
  border-bottom: 3px solid #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  padding: 8px 16px;
  position: relative;
}

.menu-global-inner .close-btn {
  color: #fff;
  font-size: 58px;
  position: absolute;
  right: 16px;
  top: -10px;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
}

.menu-global-inner .close-btn:hover {
  opacity: .8;
}

.menu-global-inner .box-left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.menu-global-inner .bottom {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 35px 35px 50px;
}

.menu-global-inner .bottom ul a {
  font-size: 44px;
  display: block;
  padding: 7px 10px;
}

.menu-global-inner .bottom ul a:hover {
  color: #fff;
}

.menu-global-inner .bottom .drop {
  padding: 26px;
}

.menu-global-inner .bottom .drop a {
  font-size: 32px;
  color: #fff;
  padding: 3px 0;
}

.menu-global-inner .bottom .drop a:hover {
  color: #B3D335;
}

.menu-global-inner .bottom .has-drop>a {
  border-bottom: 2px solid #fff;
}

.menu-global-inner .btn-holder {
  text-align: center;
}

.breadcrumb-mob {
  margin-right: 56px;
}

.breadcrumb-mob a {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 16px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
}

.breadcrumb-mob a span:hover {
  opacity: .8;
}

.breadcrumb-mob a i {
  margin-right: 8px;
  font-size: 28px;
}

.social-mob {
  display: -ms-flexbox;
  display: flex;
}

.social-mob li {
  margin-right: 17px;
}

.social-mob a {
  font-size: 28px;
  color: #fff;
}

.social-mob a:hover {
  opacity: .8;
}

.menu-global {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 7px;
}

.menu-global .menu-title {
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
}

.button-container {
  transition: all .3s ease;
  margin-left: 14px;
}

.button-container i {
  font-size: 36px;
  color: #B3D335;
  cursor: pointer;
  display: block;
  position: relative;
  top: -1px;
}

.button-container:hover {
  opacity: .7;
}

.hero-item {
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  display: none;
}

.hero-item.active {
  display: -ms-flexbox;
  display: flex;
}

.hero-item .hero-info {
  margin-bottom: 90px;
  max-width: 500px;
  color: #fff;
  font-weight: 700;
}

.hero-item .hero-info h2 {
  font-size: 72px;
  color: inherit;
  text-transform: uppercase;
  font-weight: inherit;
  margin-bottom: 16px;
  line-height: 1;
}

.hero-item .hero-info h2 span {
  font-size: 20px;
  display: block;
  margin-bottom: 16px;
  text-transform: none;
}

.hero-item .hero-info p {
  font-size: 20px;
  line-height: 1.3;
  font-weight: inherit;
}

.tabs-hero {
  position: absolute;
  bottom: -13%;
  max-width: 1155px;
  width: 100%;
  padding: 0 15px;
  left: 0;
  right: 0;
  margin: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.tabs-h-item {
  border-radius: 0 18px;
  overflow: hidden;
  position: relative;
  width: 270px;
  box-shadow: -12px 11px 5px 4px rgba(0, 0, 0, 0.1);
  z-index: 3;
  height: 298px; /* was min-height -- a card with a longer wrapped title
    (e.g. "DIGITAL OPPORTUNITY") could grow taller than its neighbors and
    throw off the row, since flexbox stretch wasn't reliably keeping every
    card the same height. A fixed height guarantees they always match;
    overflow: hidden above keeps any excess safely clipped. */
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* Alternating card coloring -- odd/even by position in the row, so adding,
   removing or reordering tab cards in ACF just keeps alternating instead
   of needing a new numbered CSS rule per card. */
.tabs-h-item:nth-of-type(odd) a::before {
  background: #037457;
	/* background: linear-gradient(0deg,rgba(179, 211, 53, 1) 0%, rgba(3, 116, 87, 1) 100%);*/
	/* background: linear-gradient(180deg,rgba(4, 53, 61, 1) 0%, rgba(3, 116, 87, 1) 37%, rgba(179, 211, 53, 1) 100%);*/
background: linear-gradient(176deg,rgba(3, 84, 64, 1) 0%, rgba(3, 116, 87, 1) 37%, rgba(79, 157, 72, 1) 75%, rgba(179, 211, 53, 1) 100%);


}

.tabs-h-item:nth-of-type(odd):hover a::before {
  background: #0AAD83;
	
	  transition: background-color 0.5s ease-in-out;
		background: linear-gradient(0deg,rgba(179, 211, 53, 1) 0%, rgba(3, 116, 87, 1) 100%);


}

.tabs-h-item:nth-of-type(odd) .bg-stretch {
  mix-blend-mode: overlay;
  opacity: .5;
}



.tabs-h-item:nth-of-type(even) a::before {
  background: #102747;
	/*background: linear-gradient(180deg,rgba(179, 211, 53, 1) 0%, rgba(3, 116, 87, 1) 100%);*/
	  transition: background-color 0.5s ease;
background: linear-gradient(176deg,rgba(3, 84, 64, 1) 0%, rgba(3, 116, 87, 1) 37%, rgba(79, 157, 72, 1) 75%, rgba(179, 211, 53, 1) 100%);



}
	
.tabs-h-item:nth-of-type(even):hover a::before {
  background: #C6F219;
		/*	background: linear-gradient(0deg,rgba(179, 211, 53, 1) 0%, rgba(3, 116, 87, 1) 100%);*/
		background: linear-gradient(0deg,rgba(179, 211, 53, 1) 0%, rgba(3, 116, 87, 1) 100%);

}

.tabs-h-item:nth-of-type(even) .bg-stretch {
  mix-blend-mode: overlay;
  opacity: .5;
}


.tabs-h-item::after {
  content: "";
  transition: opacity .4s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #999;
  opacity: 0;
  z-index: 3;
}

.tabs-h-item:nth-of-type(even) .tab-h-title {
  color: #fff;
}

.tabs-h-item a {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-align: end;
  align-items: flex-end;
  padding: 20px 10px 60px 25px;
}

.tabs-h-item a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: background-color .6s ease-in-out;
}

.tabs-h-item .bg-stretch {
  z-index: 2;
}

.tab-h-title {
  line-height: 1.2;
  font-weight: 700;
  font-size: 28px;
  z-index: 2;
  word-break: break-word;
  color: #037457;
}

.tab-h-title span {
  display: block;
}

.block-intro {
  padding: 40px 0 100px;
}

.block-intro .container {
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 90%;
	width:80%;
}

.block-intro h1 {
  text-align: center;
  color: #B3D335;
  font-size: 88px;
  margin-bottom: 22px;
}

.block-intro h1 span {
  font-size: 64px;
  display: block;
}

.block-intro h3 {
  border-top: 2px solid #B3D335;
  border-bottom: 2px solid #B3D335;
  font-weight: 500;
  font-size: 36px;
  color: #037457;
  line-height: 42px;
  padding: 21px 0;
  margin-bottom: 26px;
}

.block-intro p {
  font-size: 22px;
  line-height: 1.55;
  margin-bottom: 34px;
}

.block-intro .btn-custom {
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.block-partners {
  background: rgba(216, 216, 216, 0.3);
  box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.19);
  padding: 42px 0 45px;
}

.block-partners .container {
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 1430px;
}

.block-partners h6 {
  text-align: center;
  color: #102747;
  font-weight: 100;
  margin-bottom: 37px;
}

.partners-list {
  display: -ms-flexbox;
  display: flex;
  margin: 0 -25px;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.partners-list li {
  padding: 0 50px;
  margin-bottom: 20px;
}

.partners-list a {
  transition: all .3s ease;
}

.partners-list a:hover {
  opacity: .7;
}

.block-economic {
  background-image: linear-gradient(-180deg, rgba(179, 211, 53, 0.99) 23%, #037457 100%);
  border: 1px solid #979797;
  padding: 3em 0;
}

.block-economic .container {
  -ms-flex-direction: column;
  flex-direction: column;
}

.block-economic h2 {
  font-weight: 100;
  font-size: 48px;
  color: #fff;
  text-align: center;
  margin-bottom: 42px;
}

.economic-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -35px;
  text-align: center;
}

.economic-list li {
  padding: 0 35px;
  margin-bottom: 30px;
}

.tooltip {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 14px;
  min-height: 230px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  font-size: 48px;
  color: #fff;
  width: 264px;
  max-width: 100%;
  position: relative;
  margin-bottom: 36px;
}

.tooltip:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0;
  border-color: rgba(255, 255, 255, 0.3) transparent transparent transparent;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin: auto;
}

.item-term {
  font-weight: 500;
  font-size: 20px;
  color: #fff;
}

.block-blog-slider {
  padding: 51px 0 108px;
}

.blog-slider {
  width: 100%;
  display: none;
}

.blog-slider.slick-initialized {
  display: block;
}

.blog-slider .slick-slide {
  margin-right: 170px;
  position: relative;
  width: 70vw;
  min-height: 600px;
}

.blog-slider .slick-slide::before {
  content: "";
  background: rgba(3, 116, 87, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.blog-slider .slick-slide.slick-current::before {
  display: none;
}

.blog-slider .slick-slide.slick-current .slider-panel {
  display: block;
}

.blog-slider .slick-list {
  padding: 0 0 80px;
}

.blog-slider img {
  width: 100%;
}

.slider-panel {
  position: absolute;
  bottom: -66px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #037457;
  border-radius: 0 18px;
  box-shadow: -12px 11px 5px 4px rgba(0, 0, 0, 0.1);
  max-width: 46vw;
  min-width: 400px;
  width: 100%;
  -ms-flex-direction: column;
  flex-direction: column;
  display: none;
  z-index: 1;
  font-size: 16px;
}

.slider-panel:hover {
  background-image: linear-gradient(-179deg, #B4EC51 0%, #429321 100%);
}

.slider-panel:hover .tag {
  background-color: #037457;
  color: #fff;
}

.slider-panel .holder {
  padding: 5.5125em 10.625em 0.325em 3.125em;
  -ms-flex: auto;
  flex: auto;
}

.slider-panel h2 {
  font-weight: 700;
  font-size: 3em;
  color: #fff;
  text-transform: uppercase;
  margin-bottom: .125em;
}

.slider-panel p {
  font-weight: 700;
  font-size: 1.25em;
  color: #fff;
}

.slider-panel .item-direct {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 74px;
  color: #B3D335;
}

.tag {
  position: absolute;
  top: 0;
  left: 0;
  background: #B3D335;
  color: #037457;
  text-transform: uppercase;
  font-size: 1.25em;
  display: inline-block;
  padding: 10px 34px;
}

.share-list {
  display: -ms-flexbox;
  display: flex;
  padding: 2.15em 1.75em 1.25em;
}

.share-list li {
  margin-right: 19px;
}

.share-list a {
  font-size: 28px;
  color: #B3D335;
  display: -ms-flexbox;
  display: flex;
}

.share-list a:hover {
  opacity: .8;
}

.block-blog-categories .container-full {
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.block-blog-categories .box-text {
  width: 50%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 48px 0 48px 15px;
}

.block-blog-categories .box-text-inner {
  max-width: 700px;
  margin-right: -50px;
}

.block-blog-categories .box-img {
  width: 40%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.block-blog-categories .items {
  display: -ms-flexbox;
  display: flex;
  height: 560px;
}

.block-blog-categories .items>.item {
  width: 47%;
}

.block-blog-categories .items>.items-holder {
  width: 53%;
}

.block-blog-categories .item {
  position: relative;
  display: block;
}

.block-blog-categories .item:hover .bg-stretch {
  z-index: 1;
  opacity: .61;
}

.block-blog-categories .item:hover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
}

.block-blog-categories .items-holder .item {
  height: 50%;
}

.block-blog-categories .item-panel-large {
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 2;
}

.block-blog-categories .item-panel-large i {
  font-size: 44px;
  left: -10px;
  position: relative;
}

.block-blog-categories .title {
  text-align: left;
}

.block-blog-categories h3 {
  color: #fff;
  font-weight: 700;
  font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2rem); /* 22px -> 32px, fluid */
  margin-bottom: 0;
}

.block-blog-categories .items-panel {
  background: rgba(3, 116, 87, 0.81);
  position: absolute;
  bottom: 0;
  padding: 14px 20px;
  width: 86%;
  left: 0;
  right: 0;
  margin: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  z-index: 2;
}

.block-blog-categories .items-panel p {
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.33;
  margin: 0;
}

.block-blog-categories .items-panel i {
  font-size: 44px;
  line-height: 1;
  width: 24px;
}

.block-blog-categories .entry p {
  margin-bottom: 30px;
}

.block-blog-categories .entry p:last-child {
  margin-bottom: 16px;
}

.read-more {
  text-transform: uppercase;
  color: #fff;
  font-weight: 700;
  font-size: 28px;
  background-color: #B3D335;
  -ms-flex-item-align: end;
  align-self: flex-end;
  padding: 17px 23px 15px 30px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.read-more i {
  margin-left: 41px;
  font-size: 44px;
  color: #037457;
}

.user-panel {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 11px;
}

.user-panel img {
  -ms-flex: none;
  flex: none;
}

.user-panel a {
  font-size: 18px;
  color: #037457;
}

.user-panel a:hover {
  text-decoration: underline;
}

.postmetadata {
  font-weight: 700;
  font-size: 16px;
  color: #037457;
}

.postmetadata p {
  font-weight: inherit;
  font-size: inherit;
  color: inherit;
}

.title {
  margin-bottom: 10px;
  text-align: center;
}

.title h3 {
  margin: 0;
}

.title a {
  font-weight: 300;
  font-size: 36px;
  color: #037457;
  text-transform: none;
}

.block-news-release {
  margin: 65px 0;
}

.block-news-release .box-img {
  width: 49%;
  position: relative;
}

.block-news-release .news-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: rgba(3, 116, 87, 0.81);
  max-width: 537px;
  padding: 26px 17px 33px 45px;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.block-news-release .news-panel p {
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  line-height: 1em;
}

.block-news-release .news-panel i {
  font-size: 54px;
}

.block-news-release .box-text {
  width: 51%;
  background: #4A4A4A;
  padding: 42px 40px 60px;
}

.block-news-release .box-text h2 {
  font-weight: 100;
  font-size: 48px;
  color: #fff;
  margin-bottom: 10px;
}

.block-news-release .box-text li {
  border-bottom: 1px solid #fff;
  padding: 22px 0;
}

.block-news-release .box-text li:last-child {
  border-bottom: 0;
}

.block-news-release .box-text a {
  display: -ms-flexbox;
  display: flex;
}

.block-news-release .box-text a:hover span,
.block-news-release .box-text a:hover i {
  color: #fff;
}

.block-news-release .box-text span {
  font-weight: 700;
  font-size: 18px;
  color: #B3D335;
  line-height: 1.33;
  padding-right: 12%;
  align-self: center;
}

.block-news-release .box-text i {
  line-height: 1;
  font-size: 54px;
  margin-right: 25px;
}

.block-blog-catalog {
  padding: 54px 0 60px;
}

.block-blog-catalog .container {
  -ms-flex-direction: column;
  flex-direction: column;
}

.blog-catalog-list {
  text-align: center;
  margin: 0 auto;
  width: 100%;
  max-width: 910px;
}

.blog-catalog-list.effect {
  perspective: 1200px;
}

.blog-catalog-list.effect li.animate {
  transform-style: preserve-3d;
  transform-origin: 0% 0%;
  transform: rotateX(-80deg);
  animation: flip .8s ease-in-out forwards;
}

.blog-catalog-list .bl-title {
  font-weight: 700;
  font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2rem); /* 22px -> 32px, fluid */
  color: #fff;
  display: block;
  margin: 5px 0;
  line-height: 1;
}

.blog-catalog-list .bl-descr {
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  line-height: 1.2;
  display: block;
  margin: 5px 0;
}

.blog-catalog-list .bl-descr.light-green {
  color: #B3D335;
}

.blog-catalog-list .bl-descr.green {
  color: #037457;
}

.blog-catalog-list a:hover i.green {
  opacity: .5;
}

.blog-catalog-list i {
  font-size: 48px;
  position: relative;
  left: -16px;
  display: inline-block;
  transition: all .3s ease;
}

.blog-catalog-list i.green {
  color: #037457;
}

.catalog-list-item {
  width: 290px;
  height: 400px;
  position: relative;
  margin: 0 0 18px;
  display: inline-block;
  opacity: 0;
  overflow: hidden;
  transition: all .3s ease;
	border-radius:15px;
}

.catalog-list-item.shown {
  opacity: 1;
}

.catalog-list-item.item-small {
  height: 213px;
}

.catalog-list-item.item-middle {
  height: 262px;
}

.catalog-list-item a {
  display: block;
}

.catalog-list-item a:hover {
  opacity: .7;
}

.catalog-list-panel {
  position: absolute;
  bottom: 46px;
  left: 30px;
  text-align: left;
  padding-right: 45px;
}

.catalog-list-panel-2 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 90%;
  padding: 8px 14px;
  text-align: left;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: rgba(3, 116, 87, 0.81);
}

.catalog-list-panel-2 .bl-title {
  font-size: clamp(1.25rem, 1rem + 1.1vw, 1.75rem); /* 20px -> 28px, fluid */
  margin: 0;
}

.catalog-list-panel-2 i {
  left: -4px;
  width: 28px;
}

.catalog-list-panel-3 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 30px;
  text-align: left;
  padding-right: 40px;
}

/* .block-assorted / .posts-list rules removed here — see the
   ASSORTED PANELS block appended at the end of this file for the
   replacement (the old negative-margin + nth-of-type system fought
   against the `align` field and caused the layout to break). */

.wp-caption-text {
  background-image: linear-gradient(-180deg, #B4EC51 0%, #429321 100%);
  padding: 33px 37px 33px 26px;
  line-height: 1.2;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: left;
}

.block-comcast {
  background-color: #037457;
  padding: 48px 0 85px;
  margin-bottom: 20px;
}

.block-comcast .container {
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  max-width: 860px;
}

.block-comcast h2 {
  text-align: center;
  font-weight: 300;
  font-size: 36px;
  color: #fff;
  margin-bottom: 26px;
}

.block-comcast .video-holder {
  position: relative;
  margin-bottom: 24px;
}

.block-comcast .descr {
  text-align: center;
  color: #fff;
  width: 100%;
}

.video-holder {
  position: relative;
  font-size: 0;
  max-width: 100%;
  width: 830px;
  height: 485px;
}

.video-holder video {
  width: 100%;
  height: 100%;
}

.video-holder.active:before {
  display: none;
}

.video-holder .bg-stretch {
  z-index: 1;
}

.video-holder .video-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
}

.video-holder .video-btn .ico-play {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  position: relative;
  margin-bottom: 10px;
  transition: all .3s ease;
  cursor: pointer;
  opacity: .44;
}

.video-holder .video-btn .ico-play:hover {
  opacity: .8;
}

.video-holder .video-btn img {
  position: absolute;
  top: 52%;
  left: 54%;
  transform: translate(-50%, -50%);
}

.video-holder .video-btn span {
  text-transform: uppercase;
  letter-spacing: 1.75px;
  font: 700 14px "Lato", "Helvetica", sans-serif;
  color: #fff;
  text-align: center;
}

.video-holder iframe {
  height: 100%;
  width: 100%;
}

.block-services {
  padding: 60px 0;
}

.block-services .container {
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 975px;
}

.block-services h2 {
  text-align: center;
  font-weight: 300;
  font-size: 36px;
  color: #037457;
  margin-bottom: 40px;
}

.services-list>li {
  margin-bottom: 10px;
}

.services-list>li.active i {
  transform: rotate(180deg);
}

.services-list>li i {
  transition: all .3s ease;
  color: #B3D335;
  font-size: 48px;
}

.services-list>li>a {
  background-color: #037457;
  padding: 14px 14px 14px 34px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  font-weight: 300;
  font-size: 28px;
}

.services-list .slide {
  padding: 23px 44px 34px 33px;
  background-color: #fff;
  border: 1px solid #037457;
}

.services-list .slide li {
  margin-bottom: 20px;
}

.services-list .slide li:last-child {
  margin-bottom: 0;
}

.content-area {
  padding: 40px 0;
}

.content-area .content {
  max-width: 810px;
  margin: 0 auto;
}

.content-area .postmetadata {
  text-align: center;
  margin-bottom: 30px;
}

.content-area .postmetadata .text-bg {
  font-weight: 700;
  font-size: 13px;
  color: #000;
  margin-bottom: 15px;
}

.content-area .user-panel {
  max-width: 592px;
  margin: 0 auto 10px;
}

.content-area .entry {
  max-width: 730px;
  margin: 0 auto;
}

.content-area .entry p {
  margin-bottom: 30px;
}

.content-area .wp-caption {
  position: relative;
  margin-bottom: 108px;
}

.content-area .wp-caption.aligncenter {
  margin-left: -30px;
  margin-right: -30px;
  max-width: none;
}

.content-area .wp-caption.aligncenter img {
  width: 100%;
}

.content-area .wp-caption-text {
  position: absolute;
  bottom: -53px;
  left: 40px;
  max-width: 442px;
  padding: 20px 27px;
}

.page-title {
  font-size: 36px;
  color: #037457;
  text-align: center;
  margin-bottom: 12px;
}

.text-bg {
  background: #B3D335;
  border-radius: 10px;
  display: inline-block;
  padding: 6px 24px;
  font-weight: 700;
  font-size: 13px;
  color: #000;
}

.block-bios {
  padding: 77px 0 30px;
}

.block-bios .container {
  -ms-flex-direction: column;
  flex-direction: column;
  max-width: 1215px;
}

.bios-list {
  margin: 0 -20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.bios-list li {
  width: 33%;
  padding: 0 20px;
  margin-bottom: 90px;
  position: relative;
}

.bios-list .inner-item {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  min-height: 228px;
}

.bios-list .inner-item:hover .bios-panel {
  background-image: linear-gradient(-180deg, #429321 0%, #B4EC51 100%);
}

.bios-list img {
  width: 100%;
}

.bios-list .b-title {
  font-weight: 500;
  font-size: 26px;
  color: #fff;
  display: block;
  line-height: 1;
}

.bios-list .b-descr {
  font-weight: 500;
  font-size: 18px;
  color: #FBF438;
  display: block;
  line-height: 1;
}

.bios-list i {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
  font-size: 44px;
}

.bios-panel {
  background-image: linear-gradient(-180deg, #B4EC51 0%, #429321 100%);
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.12);
  display: block;
  position: absolute;
  bottom: -48px;
  left: 0;
  right: 0;
  margin: auto;
  width: 80%;
  padding: 24px 40px 15px 20px;
  cursor: pointer;
}

.has-sidebar .content-area .content {
  max-width: 100%;
  width: calc(100% - 300px);
  padding-right: 30px;
}

.has-sidebar .content-area .entry {
  max-width: 100%;
}

.comment-respond .comment-form input[type='text'] {
  width: 50%;
}

.sidebar {
  width: 300px;
}

.footer {
  padding: 40px 0;
  border-top: 1px solid #979797;
}

.footer .container {
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1370px;
}

.footer .container-bottom {
  -ms-flex-pack: center;
  justify-content: center;
}

.holder-footer {
  -ms-flex: auto;
  flex: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.social-footer {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: -10px;
}

.social-footer li+li {
  margin-left: 20px;
}

.social-footer a {
  display: -ms-flexbox;
  display: flex;
  font-size: 38px;
  color: #B3D335;
  line-height: 36px;
  transition: all .3s ease;
}

.social-footer a:hover {
  color: #037457;
}

.footer-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-right: 90px;
}

.footer-menu:last-child {
  margin-right: 0;
}

.footer-menu li {
  margin-bottom: 14px;
}

.footer-menu a {
  font-weight: 700;
  font-size: 18px;
  color: #037457;
  line-height: 1.4;
}

.footer-menu a:hover {
  color: #04a67c;
}

.logo-f {
  margin-bottom: 20px;
}

.footer-left {
  max-width: 250px;
  min-width: 240px;
}

.footer-left address {
  font-style: normal;
  font-size: 16px;
  color: #102747;
  line-height: 1.2;
}

.footer-left address strong {
  display: block;
}

.footer-left address a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.footer-left address a:hover {
  text-decoration: underline;
}

.footer-left .privacy-policy a {
  font-size: 16px;
}

.footer-middle {
  display: -ms-flexbox;
  display: flex;
  margin-left: 20px;
  margin-right: 20px;
  -ms-flex: auto;
  flex: auto;
  -ms-flex-pack: center;
  justify-content: center;
}

.privacy-policy {
  text-align: center;
  position: relative;
  top: -26px;
}

.privacy-policy a {
  font-size: 18px;
  color: #B3D335;
  text-decoration: underline;
}

.privacy-policy a:hover {
  text-decoration: none;
}

.msie .tooltip,
.edge .tooltip {
  height: 230px;
}

.msie .tabs-h-item:hover .bg-stretch,
.edge .tabs-h-item:hover .bg-stretch {
  opacity: .5;
}

.msie .tabs-h-item .bg-stretch,
.edge .tabs-h-item .bg-stretch {
  opacity: .3;
}

.ava-holder {
  overflow: hidden;
  border-radius: 50%;
  font-size: 0;
  width: 68px;
  min-width: 68px;
  margin-right: 20px;
}

.ava-holder img {
  display: block;
}

@media (min-width: 768px) {
  .commentlist-item .commentlist-item {
    padding: 0 0 0 2em;
  }

  .hero-text-panel-logo {
    display: none;
  }
	.block-hero-front>.container {
margin-top:10px;
	}
}

@media (max-width: 1366px) {
  .block-hero-front {
    min-height: 560px;
    margin-bottom: 80px;
  }

  .hero-item .hero-info {
    margin-bottom: 230px;
  }

  .tabs-hero {
    bottom: -7%;
    max-width: 925px;
  }

  .tabs-h-item {
    width: 200px;
    height: auto;
  }

  .tabs-h-item a {
    padding: 20px 10px 60px 15px;
  }

  .tab-h-title {
    font-size: 20px;
  }

  .slider-panel {
    font-size: 12px;
  }

  .block-blog-categories .box-img .items {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .block-blog-categories .items {
    height: 1120px;
  }

  .block-blog-categories .items>.item {
    width: 100%;
    height: 560px;
  }

  .block-blog-categories .items>.items-holder {
    width: 100%;
    height: 50%;
  }

  .footer-menu {
    margin-right: 30px;
  }
}

@media (max-width: 1365px) {
  .hero-text-panel {
    width: 410px;
  }

  .hero-text-panel h2 br {
    display: none;
  }
}

@media (max-width: 1099px) {
  .hero-message-video-panel .top {
    width: 100%;
  }

  .hero-message-video-panel .video-holder {
    width: 100%;
  }
}

@media (max-width: 1023px) {

  .navigation,
  .navigation-comments,
  .pagination {
    font-size: 14px;
  }

  img.alignleft,
  img.alignright {
    max-width: 50%;
  }

  .divider {
    height: 30px;
  }

  .block-hero-second {
    padding-bottom: 40px;
  }

  .block-hero-second>.container {
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 320px;
  }

  .hero-text-panel {
    -ms-flex-order: 1;
    order: 1;
    margin-top: 20px;
    width: 100%;
  }

  .hero-text-panel {
    margin-top: 40px;
  }

  .header-menu li {
    margin: 0 10px;
  }

  .header-menu a {
    font-size: 12px;
  }

  .hero-message-panel {
    float: none;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%;
    position: relative;
    -ms-flex: auto;
    flex: auto;
  }

  .hero-message-panel-holder {
    margin-right: 0;
  }

  .hero-message-video-panel {
    padding: 30px 20px 43px;
  }

  .tabs-h-item a {
    padding: 20px 10px 40px;
  }

  .block-intro h1 {
    font-size: 50px;
    margin-bottom: 16px;
  }

  .block-intro h1 span {
    font-size: 50px;
  }

  .partners-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .blog-slider .slick-slide {
    width: 80vw;
    margin-right: 40px;
  }

  .slider-panel {
    font-size: 10px;
  }

  .block-news-release .container-full {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .block-news-release .box-img {
    width: 100%;
    height: 550px;
  }

  .block-news-release .box-text {
    width: 100%;
    padding: 20px 15px;
  }

  .block-news-release .box-text span {
    padding-right: 0;
  }

  .block-news-release .box-text i {
    margin-right: 0;
  }

  /* NOTE: the old .block-assorted / .posts-list mobile rules that used
     to live here (nth-of-type odd/even alternation, .box-text order:-1,
     .wp-caption-text) have been removed — they predate the assorted-
     panels redesign, targeted markup/classes (.wp-caption, figure-based
     captions) that no longer exist, and the order:-1 rule was forcing
     text above images on mobile regardless of the align field, which is
     what was causing columns to render in the wrong order. The current
     mobile behavior for this section lives in the assorted-panels rules
     further down this file (.posts-list .post, .posts-list .post.align-right
     @media max-width: 900px). */

  .bios-list li {
    width: 50%;
  }

  .has-sidebar .content-area .container {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .has-sidebar .content-area .content {
    width: 100%;
    padding-right: 0;
    margin-bottom: 40px;
  }

  .has-sidebar .content-area .sidebar {
    width: 100%;
  }

  .footer .container {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .footer-menu {
    margin-right: 40px;
  }

  .footer-middle {
    max-width: calc(100% - 280px);
    margin-left: 20px;
    margin-right: 0;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .footer-right {
    width: 100%;
    margin-top: 30px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .privacy-policy {
    top: 0;
    margin-top: 20px;
  }
}

@media (max-width: 990px) {
  .header-menu {
    margin-right: 0;
  }

  .header-menu a {
    font-size: 10px;
  }

  .content-area .wp-caption.aligncenter {
    margin-left: 0;
    margin-right: 0;
  }

}

@media (max-width: 959px) {
  .blog-catalog-list {
    max-width: 600px;
  }
	.sticky-header .header-modify h1 {
		display:none;
	}

}

@media (max-width: 767px) {

  /* .btn-custom / .btn-transparent mobile overrides (old bevel shadow,
     square corners, btn-border-mobile.svg overlay) removed here — the
     flat pill-button style from the MODERNIZATION PASS below is
     unconditional and was already winning on mobile, so these were
     dead weight; the new style is a single fixed size at every width. */

  body {
    font-size: 16px;
  }

  .navigation,
  .navigation-comments,
  .pagination {
    font-size: 12px;
  }

  .navigation .page-numbers,
  .navigation-comments .page-numbers,
  .pagination .page-numbers {
    padding: 8px 8px 6px;
  }

  .navigation .next a,
  .navigation .prev a,
  .navigation .al a,
  .navigation .ar a,
  .navigation-comments .next a,
  .navigation-comments .prev a,
  .navigation-comments .al a,
  .navigation-comments .ar a,
  .pagination .next a,
  .pagination .prev a,
  .pagination .al a,
  .pagination .ar a {
    padding: 8px 8px 6px;
    font-size: 12px;
  }

  .navigation-single .next a,
  .navigation-single .prev a {
    padding: .2em;
  }

  /* .posts-list .post margin:0 0 20px removed here — it's pre-
     redesign leftover, fully overridden by the ASSORTED PANELS rule
     below. That rule's mobile breakpoint gets real vertical spacing
     between stacked panels back via the RESPONSIVE FIXES section at
     the end of the file instead. */

  .commentlist {
    margin-left: 0;
  }

  .commentlist .comment {
    padding: 0;
  }

  .divider {
    display: none;
  }

  .ico-play {
    width: 90px;
    height: 90px;
  }
	

	.header .header-modify {
		padding-top:10%;
	}

  .block-hero-front {
    /* Now that .tabs-hero sits in normal flow at this width (see below)
       instead of being absolutely positioned and overflowing past the
       bottom of this box, block-hero-front's own height already grows
       to contain it -- so this only needs a modest gap before the next
       section, not room to reserve for overflow. */
    margin-bottom: 60px;
    min-height: 340px;
    padding-top: 60px;
  }

  .block-hero-second {
    padding-bottom: 0;
    padding-top: 130px;
  }


  .block-hero-medium-second {
    min-height: 320px;
  }

  .block-hero-medium-second>.container h2 {
    font-size: 32px;
  }

  .block-hero-small-second h1 {
    font-size: 32px;
  }

  .hero-text-panel .holder-text {
    margin: 0 -15px;
    padding: 30px 15px;
    background-color: #037457;
    border-top: 1px solid #B3D335;
  }

  .hero-text-panel h2 {
    margin: 0;
  }

  .hero-text-panel a {
    -ms-flex-order: -1;
    order: -1;
    margin-bottom: 15px;
  }

  .header-menu {
    display: none;
  }
	.sticky-header .header-modify h1 {
		display:none;
	}

  .hero-message-panel-holder {
    display: none;
  }

  .hero-message-video-panel {
    padding: 20px;
  }

  .hero-message-video-panel .top p {
    font-size: 12px;
  }

  .hero-message-video-panel .top i {
    font-size: 22px;
  }

  .hero-message-video-panel .video-holder {
    height: 250px;
  }

  .hero-message-video-panel .video-holder .video-btn .ico-play {
    width: 80px;
    height: 80px;
  }

  #clip-arc {
    display: none;
  }

  .menu-global-inner .close-btn {
    font-size: 30px;
    top: 0;
  }

  .menu-global-inner .bottom {
    padding: 20px 15px 30px;
  }

  .menu-global-inner .bottom ul a {
    padding: 8px 0;
    font-size: 30px;
  }

  .menu-global-inner .bottom .drop {
    padding: 8px 0;
  }

  .menu-global-inner .bottom .drop a {
    font-size: 24px;
  }

  .breadcrumb-mob {
    margin-right: 20px;
  }

  .social-mob a {
    font-size: 20px;
  }

  /* .hero-item itself is "justify-content: flex-end" at desktop sizes
     (pushes the text box to the right, over the photo), which was never
     adjusted for mobile -- so even with the text inside centered, the
     box itself was still shoved against the right edge instead of
     centered in the viewport.

     .hero-item is also still a ROW flex container here (its default,
     never overridden) with no wrap -- fine at desktop where .tabs-hero
     is position:absolute and .hero-info is the only actual flex child.
     But below 767px .tabs-hero switches to position:static a bit further
     down in this same breakpoint, rejoining the flow as a SECOND row
     item alongside .hero-info. With no flex-direction/wrap change, the
     row tries to fit both side by side and squeezes .tabs-hero into
     whatever sliver of width is left after .hero-info -- collapsing its
     42%-wide cards down near zero width, which is why the card titles
     were disappearing (clipped by .tabs-h-item's own overflow: hidden,
     not by anything on .tabs-hero itself). Stacking to a column fixes
     that regardless of how narrow the screen gets. */
  .hero-item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .hero-item .hero-info {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 50px;
    font-size: 46px;
  }

  .hero-item .hero-info h2 {
    font-size: 50px;
    margin-bottom: 0;
  }

  .hero-item .hero-info h2 span {
    font-size: 16px;
    margin-bottom: 3px;
  }

  .hero-item .hero-info p {
    font-size: 15px;
    margin-bottom: 0;
  }

  /* Below this width the row wraps to 2x2, and the old "top: 90% /
     bottom: 0" absolute positioning was sized for a single 250px row --
     it doesn't reserve enough room above for the hero text/button (which
     itself grows taller as the heading wraps more at narrower widths) or
     below for the now-taller 2-row card block, so cards ended up
     overlapping both the IMPACT button above and whatever section came
     after below. Taking it out of absolute positioning and letting it
     sit in normal flow (right after the hero text, which is where it
     already is in the markup) means it always lands directly below
     the button with no overlap, at any width or heading length,
     without needing to hand-tune more magic offsets. The negative
     margin-top keeps a touch of the original "cards float over the
     bottom of the photo" look. */
  .tabs-hero {
    position: static;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-top: -20px;
  }

  .tabs-h-item {
    /* box-shadow / border-radius removed here — the unified shadow +
       14px radius from the MODERNIZATION PASS below is unconditional
       and applies at every width now, which matches its own comment
       ("unify the radius and shadow"); these mobile resets were dead. */
    width: 42%;
    margin: 0 10px;
    min-height: 250px;
    -ms-flex: auto;
    flex: auto;
  }

  /* Two rows of two on mobile: 1st/2nd cards form the top row (with
     spacing below them), 3rd/4th form the bottom row, visually swapped
     so the layout reads the same as the old numbered-class version.
     nth-child, unlike a numbered class, keeps working automatically if
     a card is added or removed in ACF. */
  .tabs-h-item {
    left: 0;
    top: 0;
  }

  .tabs-h-item:nth-child(1),
  .tabs-h-item:nth-child(2) {
    margin-bottom: 10px;
  }

  .tabs-h-item:nth-child(1) {
    -ms-flex-order: 1;
    order: 1;
  }

  .tabs-h-item:nth-child(2) {
    -ms-flex-order: 2;
    order: 2;
  }

  .tabs-h-item:nth-child(3) {
    -ms-flex-order: 4;
    order: 4;
  }

  .tabs-h-item:nth-child(4) {
    -ms-flex-order: 3;
    order: 3;
  }

  .tabs-h-item:nth-child(3),
  .tabs-h-item:nth-child(4) {
    box-shadow: 5px 5px 2px 1px rgba(0, 0, 0, 0.12);
  }

  .tabs-h-item a {
    z-index: 4;
  }

  /* At this width each title word sits in its own ~127px-wide column, and
     "ARTIFICIAL", "CONNECTING" and "OPPORTUNITY" are just long enough to
     wrap onto a 2nd line (via word-break: break-word) while "DATA" and
     "CENTERS" aren't -- so "DATA CENTERS" ends up as a shorter text block
     than its siblings. Since the block is bottom-anchored (align-items:
     flex-end), a shorter block's top sits lower than a wrapped block's,
     which is the misalignment. Reserving 2 lines of height per word,
     whether or not that word actually wraps, keeps every title the same
     total height so they all start at the same point regardless of which
     words happen to wrap at this width. (63px = 2 lines at the 26px /
     line-height: 1.2 this title renders at in this range -- keep this in
     sync if that font-size below ever changes.) */
  .tab-h-title span {
    min-height: auto;
  }

  /* padding restored via the RESPONSIVE FIXES section at the end of
     the file — it was being silently overridden here */

  .block-partners h6 {
    margin-bottom: 33px;
    /* font-size: 24px dropped here rather than restored — the new
       unconditional rule turns this into a small uppercase eyebrow
       label (13px, letter-spacing) at every width, and jumping to
       24px on mobile only would fight that "quiet label" look. Flag
       if you'd rather it size up on mobile after all. */
  }

  .partners-list {
    margin: 0;
  }

  .partners-list li {
    padding: 0;
    width: 100%;
    text-align: center;
    margin-bottom: 44px;
  }

  .partners-list li:last-child {
    margin-bottom: 0;
  }

  .partners-list img {
    width: 270px;
  }

  .block-economic {
    padding: 30px 0 25px;
  }

  .block-economic h2 {
    /* font-size moved to a clamp() on the unconditional rule below */
    margin-bottom: 42px;
  }

  /* .tooltip min-height/margin-bottom removed here — they were sized
     for the old rounded speech-bubble box being retired below (see
     "retire the translucent speech-bubble tooltip"); the new text-only
     treatment doesn't need the reserved height, so restoring them
     would reopen a gap this block no longer needs. font-size moves to
     a clamp() on the unconditional rule. */

  .block-blog-slider {
    padding: 22px 0;
  }

  .blog-slider .slick-slide {
    min-height: 350px;
    margin-right: 10px;
    margin-left: 10px;
  }

  .slider-panel .holder {
    padding: 50px 34px 4px 14px;
  }

  .slider-panel h2 {
    font-size: 20px;
  }

  .slider-panel .item-direct {
    font-size: 40px;
  }

  .tag {
    padding: 6px 25px;
  }

  .share-list {
    padding: 10px 10px 14px 18px;
  }

  .share-list a {
    font-size: 18px;
  }

  .block-blog-categories .container-full {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .block-blog-categories .box-text {
    width: 100%;
    padding: 30px 15px 15px;
  }

  .block-blog-categories .box-text-inner {
    margin-right: 0;
  }

  .block-blog-categories .box-img {
    width: 100%;
  }

  .block-blog-categories .entry p {
    margin-bottom: 20px;
  }

  .read-more {
    font-size: 26px;
    padding: 21px 23px 17px 15px;
    width: 100%;
    margin: 3px 0;
  }

  .read-more i {
    font-size: 40px;
    margin-left: auto;
  }

  .title a {
    font-size: 30px;
  }

  .block-news-release {
    margin: 3px 0;
  }

  .block-news-release .news-panel {
    padding: 20px 15px;
  }

  .block-news-release .news-panel p {
    margin: 0;
  }

  .block-news-release .box-text h2 {
    font-size: 32px;
  }

  .block-news-release .box-text li {
    padding: 10px 0;
  }

  .block-news-release .box-text span {
    font-size: 14px;
  }

  .block-news-release .box-text i {
    font-size: 30px;
  }

  .block-blog-catalog {
    padding: 40px 0;
  }

  .block-assorted {
    padding: 0;
  }

  /* .posts-list .entry p margin-bottom: 15px dropped here rather than
     restored — only a 3px difference from the 18px it was silently
     losing to, not worth a breakpoint for. */

  .wp-caption-text {
    font-size: 14px;
    padding: 15px;
  }

  .block-comcast {
    padding: 40px 0;
  }

  .block-comcast h2 {
    font-size: 30px;
  }

  .video-holder {
    height: 250px;
  }

  .video-holder {
    height: 150px;
  }

  .video-holder .video-btn .ico-play {
    width: 100px;
    height: 100px;
  }

  .video-holder .video-btn .ico-play {
    width: 60px;
    height: 60px;
  }

  .block-services {
    padding: 40px 0;
  }

  .block-services h2 {
    font-size: 30px;
    margin-bottom: 10px;
  }

  .services-list>li i {
    font-size: 26px;
  }

  .services-list>li>a {
    font-size: 20px;
    padding: 10px 20px;
  }

  .services-list .slide {
    padding: 15px;
  }

  .services-list .slide li {
    margin-bottom: 10px;
  }

  .content-area .entry p {
    margin-bottom: 20px;
  }

  .content-area .wp-caption {
    margin-bottom: 50px;
  }

  .content-area .wp-caption-text {
    left: 15px;
    padding: 15px;
    bottom: -30px;
    width: 90%;
  }

  .page-title {
    font-size: 28px;
  }

  .page-title br {
    display: none;
  }

  .block-bios {
    padding: 40px 0 80px;
  }

  .bios-list .b-title {
    font-size: 22px;
  }

  .bios-list .b-descr {
    font-size: 14px;
  }

  .bios-list i {
    font-size: 22px;
  }

  .bios-panel {
    padding: 15px 30px 10px 15px;
  }

  .holder-footer {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .social-footer a {
    font-size: 26px;
  }

  /* .footer-menu a font-size: 14px dropped here rather than restored
     — only a 2px difference from the 16px it was silently losing to,
     not worth a breakpoint for; flag if you want it reinstated. */

  .footer-left {
    margin-bottom: 20px;
  }

  .footer-middle {
    display: none;
  }
}

@media (max-width: 649px) {
  .blog-catalog-list {
    max-width: 290px;
  }
}

@media (max-width: 479px) {

  input[type='text'],
  input[type='tel'],
  input[type='email'],
  input[type='search'],
  input[type='password'],
  input[type='url'] {
    width: 100%;
  }

  .parent.comment .comment {
    margin-left: 5%;
  }

  .block-hero-front {
    min-height: 200px;
  }

  .block-hero-medium-second {
    min-height: 220px;
  }

  .block-hero-second {
    padding-top: 105px;
  }



  .block-hero-small-second h1 {
    font-size: 20px;
  }

  .hero-text-panel h2 {
    font-size: 22px;
    line-height: 1.3;
  }

  .logo {
    width: 20px;
  }

  .socials a {
    font-size: 22px;
  }

  .header-panel .search-header {
    margin-right: 0;
  }

  .header-panel .search-header input[type=search] {
    height: 14px;
    line-height: 14px;
    font-size: 12px;
  }

  .header-panel .search-header i {
    font-size: 12px;
  }

  .menu-global .menu-title {
    font-size: 12px;
  }

  .button-container {
    margin-left: 8px;
  }

  .button-container i {
    font-size: 20px;
  }

  .tabs-h-item a {
    padding: 10px 5px;
    -ms-flex-align: center;
    align-items: center;
  }

  .tab-h-title {
    display: block;
    text-align: center;
    width: 100%;
    /* font-size moved to a clamp() on the unconditional rule below,
       since that rule was silently overriding this fixed 13px anyway */
  }

  /* At this smaller font-size, all four titles fit each word on one line,
     so the 2-lines-per-word reservation from the wider mobile breakpoint
     isn't needed here -- drop it back to auto so there's no extra gap. */
  .tab-h-title span {
    min-height: auto;
  }

  .block-intro {
    padding: 44px 0;
  }

  .block-intro h1 {
    font-size: 42px;
    text-transform: uppercase;
    font-weight: 700;
  }

  .block-intro h1 span {
    font-size: 22px;
    text-transform: none;
    font-weight: 400;
    margin-top: -5px;
  }

  .block-intro h3 {
    /* font-size moved to a clamp() on the unconditional rule below;
       line-height restored via the RESPONSIVE FIXES section at the
       end of the file (both were being silently overridden here) */
    border-top: 0;
    padding-top: 0;
    max-width: 300px;
    margin: 0 auto 20px;
    padding-bottom: 14px;
  }

  .block-intro p {
    font-size: 14px;
    margin-bottom: 15px;
    /* line-height restored via the RESPONSIVE FIXES section at the
       end of the file — it was being silently overridden here */
  }

  .blog-slider .slick-slide {
    min-height: 250px;
  }

  .blog-slider .slick-list {
    padding: 0 0 120px;
  }

  .slider-panel {
    width: 88%;
    max-width: 365px;
    border-radius: 0 9px;
    bottom: -116px;
    box-shadow: -4px 3px 2px 1px rgba(0, 0, 0, 0.1);
    min-width: 1px;
  }

  .slider-panel .item-direct {
    right: 0;
  }

  .block-news-release .box-img {
    height: 400px;
  }

  .block-news-release .news-panel p {
    font-size: 16px;
  }


  .services-list>li>a {
    font-size: 14px;
  }

  .services-list .slide li {
    font-size: 14px;
  }

  .bios-list li {
    width: 100%;
  }

  .bios-list li:last-child {
    margin-bottom: 0;
  }

  .bios-list li.empty-phone .inner-item {
    min-height: 0;
  }

  .comment-respond .comment-form input[type='text'] {
    width: 100%;
  }

  .footer {
    padding: 13px 0;
  }

  .footer .container-bottom {
    display: none;
  }

  .footer-menu li {
    margin-bottom: 8px;
  }

  .footer-menu li {
    width: 100%;
    padding-right: 0;
  }

  .logo-f {
    -ms-flex-order: 1;
    order: 1;
    margin: 34px 0 0;
  }

  .footer-left {
    max-width: 100%;
    min-width: 1px;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
  }

  .footer-left address {
    -ms-flex-order: -1;
    order: -1;
    margin-bottom: 10px;
    /* line-height restored via the RESPONSIVE FIXES section at the
       end of the file — it was being silently overridden here */
  }

  .footer-left .privacy-policy {
    -ms-flex-order: 0;
    order: 0;
    margin: 0 0 10px;
  }

  .footer-middle {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .footer-right {
    display: none;
  }
}

body>div>main>section.block-news-release>div>div.box-img>div.news-panel>a>p {
  display: inline;

}

body>div>main>section.block-news-release>div>div.box-img>div.news-panel>p>a {
  color: #fff !important;
}

.icon-keyboard_arrow_right:before {
  color: #B3D335;
  float: right;
}

/* =====================================================================
   MODERNIZATION PASS — Melissa, 2026-09-21
   Everything above this line is your theme's original style.css,
   untouched. Everything below only restyles existing selectors —
   no markup changes, no renamed classes, no new colors/fonts.
   Brand palette (#037457 forest, #B3D335 lime, museo-sans) is unchanged.
   To back this out, delete from this comment to the end of the file.
   ===================================================================== */

/* --- Buttons: flatten the 2016-era inset bevel + hard corners,
   add a real hover transition and a subtle lift instead of the
   static drop shadow. --- */
.btn.btn-custom,
button.btn-custom,
input.btn-custom[type='button'],
input.btn-custom[type='reset'],
input.btn-custom[type='file'],
input.btn-custom[type='submit'] {
  border-radius: 100px;
  padding: 16px 38px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 0 8px 20px -8px rgba(3, 116, 87, 0.55);
  transition: transform .2s ease, box-shadow .2s ease, background-color .7s ease-in-out;
}

.btn.btn-custom::after,
button.btn-custom::after,
input.btn-custom[type='button']::after,
input.btn-custom[type='reset']::after,
input.btn-custom[type='file']::after,
input.btn-custom[type='submit']::after {
  display: none; /* retire the SVG bevel-border overlay */
}

.btn.btn-custom .text,
button.btn-custom .text,
input.btn-custom[type='button'] .text,
input.btn-custom[type='reset'] .text,
input.btn-custom[type='file'] .text,
input.btn-custom[type='submit'] .text {
  text-shadow: none;
}

.btn.btn-custom:hover,
button.btn-custom:hover,
input.btn-custom[type='button']:hover,
input.btn-custom[type='reset']:hover,
input.btn-custom[type='file']:hover,
input.btn-custom[type='submit']:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -8px rgba(3, 116, 87, 0.65);
}

.btn.btn-transparent,
button.btn-transparent,
input.btn-transparent[type='button'],
input.btn-transparent[type='reset'],
input.btn-transparent[type='file'],
input.btn-transparent[type='submit'] {
  border-width: 1.5px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 13px 34px;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.btn.btn-transparent:hover,
button.btn-transparent:hover,
input.btn-transparent[type='button']:hover,
input.btn-transparent[type='reset']:hover,
input.btn-transparent[type='file']:hover,
input.btn-transparent[type='submit']:hover {
  color: #102747; /* was #037457 (3.4:1 on the lime hover background at 14px, fails AA); #102747 gives ~8.8:1 */
}

/* --- Header nav: animate the underline instead of a hard cut,
   loosen letter-spacing slightly for a cleaner label feel. --- */
.header-menu a {
  letter-spacing: 0.02em;
  transition: opacity .2s ease;
}

.header-menu a.active::after,
.header-menu a:hover::after {
  transition: transform .25s ease;
  transform-origin: left center;
}

.sticky-header .header-menu a.active::after,
.sticky-header .header-menu a:hover::after {
  transition: transform .25s ease;
}

/* --- Hero: a smoother two-stop overlay for legibility (replaces
   the flat 45% scrim), tighter heading scale, and an eyebrow-style
   treatment for the small line above the headline. --- */
.block-hero-front.dark-bg::before {
  background: linear-gradient(180deg, rgba(1, 29, 61, 0.25) 0%, rgba(1, 29, 61, 0.6) 100%);
}

.hero-item .hero-info h2 {
  /* This is unconditional (no media query), so on its own it would win
     over the max-width:767px rule below that sets 50px for mobile --
     it comes later in the file, same selector, same specificity, so
     source order decides and this was silently clobbering it at every
     width, mobile included. A fluid clamp() fixes that at the source
     (scales smoothly from ~38px at 320px wide up to the full 64px by
     767px+) instead of fighting the override with another override --
     and it's *why* the heading looked mis-centered too: at a fixed
     64px, a long word like "INTELLIGENCE" or "OPPORTUNITY" doesn't fit
     the mobile-width column, and a flex item's default min-width:auto
     forces the box wider than its container to fit that unbreakable
     word rather than shrink -- so it wasn't off-center, it was
     overflowing its (centered) box on both sides. */
  font-size: clamp(2rem, 1.2rem + 6vw, 4rem);
  letter-spacing: -0.01em;
}

.hero-item .hero-info h2 span {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B3D335;
  margin-bottom: 12px;
}

.hero-item .hero-info p {
  font-size: 18px;
  line-height: 1.5;
}

/* --- Hero tabs: the staggered rotated-card layout (per-item top/left
   offsets, mixed blend modes, uneven shadows) reads dated at this
   point — align the cards into a clean even row, unify the radius
   and shadow, and give the hover/active states one consistent,
   smoother transition. --- */
.tabs-h-item {
  top: 0;
  left: 0;
  border-radius: 14px;
  box-shadow: 0 18px 34px -16px rgba(1, 29, 61, 0.35);
  transition: transform .25s ease, box-shadow .25s ease, background .5s ease-in-out;
}

.tabs-h-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 40px -14px rgba(1, 29, 61, 0.4);
}

/* Color overlays restored — the per-card green/lime mix-blend treatment
   from the original design, instead of the flat neutral gradient. */

.tab-h-title {
  font-size: clamp(13px, 7px + 1.85vw, 20px);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #fff;
}

.tabs-h-item:nth-of-type(even) .tab-h-title {
  color: #fff;
}

/* The cards are a fixed 250px tall from 480px up to 767px wide (2x2
   grid), which is a lot of card for 1-2 short words at the unconditional
   20px size above -- bump it up to something more proportional to the
   card size at that range. Below 480px the cards switch to the smaller
   13px size, which is still needed there since the card column gets
   quite narrow. */
@media (max-width: 767px) {
  .tab-h-title {
    font-size: 26px;
	  margin-top:20px;
  }
}

/* This unconditional font-size sits after the smallest-screen breakpoint
   in the file, so without this it silently wins over the mobile size
   below 480px. Cards are still a fixed 250px tall here too (down to
   320px wide), so 13px looked just as disproportionately small as the
   20px did in the 480-767px range -- bumped for the same reason. At
   18px, the longer single words wrap onto a 2nd line again below
   ~390px wide, same word-wrap-height-mismatch as before -- the
   min-height reservation (2 lines at 18px/line-height 1.2 = 44px)
   needs restating here too, since the "auto" reset earlier in this
   same breakpoint (written back when 13px never wrapped) would
   otherwise win by coming first. */
@media (max-width: 479px) {
  .tab-h-title {
    font-size: 1em;
  }

  .tab-h-title span {
    min-height: auto;
  }
}

/* --- Intro: tighten the oversized display type slightly and let it
   wrap more gracefully; soften the rule lines. --- */
/* Same cascade issue as the hero h2 and the card titles: this is
   unconditional and comes after the ≤1023px (50px) and ≤479px (42px)
   breakpoint rules for the same selector below in the file, so it was
   silently winning at 72px on every screen, mobile included -- the
   actual "h1 massive and gets cut off" bug. A fluid clamp() fixes it
   at the source instead of adding yet another breakpoint override:
   scales from ~32px at 320px wide up to the full 72px by ~880px wide. */
.block-intro h1 {
  font-size: clamp(2rem, 0.8rem + 6vw, 4.5rem);
  text-wrap: balance;
}

.block-intro h1 span {
  font-size: clamp(1.5rem, 0.8rem + 4vw, 3.25rem);
}

.block-intro h3 {
  border-color: rgba(179, 211, 53, 0.55);
  font-weight: 400;
  font-size: clamp(15px, 2.4px + 3.95vw, 30px);
  line-height: 1.4;
}

.block-intro p {
  line-height: 1.7;
}

/* --- Partners: replace the flat gray inset-shadow bar with a
   cleaner hairline-bounded strip, and give the logos a gentle
   grayscale-to-color hover instead of a plain opacity fade. --- */
.block-partners {
  background: #fff;
  box-shadow: none;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: 48px 0;
}

.block-partners h6 {
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #57667A;
}

.partners-list a {
  filter: grayscale(1);
  opacity: 1;
  transition: filter .3s ease, opacity .3s ease;
}

.partners-list a:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* --- Economic impact stats: retire the translucent speech-bubble
   tooltip (rounded box + pointer triangle) in favor of a cleaner
   big-number treatment with a lime underline accent; keeps the same
   #dig-N spans the counter script targets. --- */
.block-economic h2 {
  font-weight: 700;
  font-size: clamp(26px, 19.4px + 2.07vw, 38px);
}

.tooltip {
  background: transparent;
  border-radius: 0;
  min-height: 0;
  width: auto;
  font-size: clamp(40px, 33px + 2.14vw, 46px);
  font-variant-numeric: tabular-nums;
  margin-bottom: 14px;
  padding-bottom: 18px;
  position: relative;
}

.tooltip::after {
  display: none;
}

.tooltip::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 34px;
  height: 3px;
  border-radius: 3px;
  background: #fff;
}

.item-term {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  opacity: .9;
}

/* --- Footer: quieter rule, slightly tighter type. --- */
.footer {
  border-top-color: #e8e8e8;
}

.footer-menu a {
  font-size: 16px;
  transition: color .2s ease;
}

.footer-left address {
  line-height: 1.6;
}

/* --- Small accessibility touch: a visible focus ring, since none
   of the interactive elements above define one. --- */
a:focus-visible,
button:focus-visible {
  outline: 2px solid #037457;
  outline-offset: 3px;
}
/* Numbers section — optional source description + CTA link,
   shown below the stat counters. Add alongside the existing
   .block-economic / .economic-list rules in style.css. */
.economic-footnote {
  max-width: 700px;
  margin: 30px auto 0;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  text-align: center;
}

.economic-footnote p {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 14px;
}

.economic-source-link {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 2px;
  transition: color .2s ease, border-color .2s ease;
}

.economic-source-link:hover {
  color: #fff;
  border-color: #037457;
}
/* =====================================================================
   ASSORTED PANELS — image left/right, content, CTA button.
   Replaces the old .block-assorted / .posts-list rules (the
   negative-margin overlap trick + nth-of-type alternation, which
   fought against the actual `align` field and is why text was
   getting clipped/illegible and images looked stretched).
   Delete the old .block-assorted, .posts-list, .bg-gray, and
   .block-assorted .* rules from style.css and replace with this.
   ===================================================================== */

.block-assorted {
  padding: 0;
}

.posts-list {
  display: flex;
  flex-direction: column;
}

.posts-list .post {
  display: flex;
  align-items: center;
  gap: 72px;
  width: 90%;
  margin: 0 auto;
  padding: 30px 0px;
  border-radius: 30px;
}

.posts-list .post.bg-gray {
  max-width: 100%;
  background-color: rgba(3, 116, 87, 0.04);
}

.posts-list .post.bg-gray > .box-img,
.posts-list .post.bg-gray > .box-text {
  max-width: 1200px;
}



.posts-list .box-img {
  flex: 0 0 44%;
  max-width: 44%;
}

.posts-list .box-img picture {
  display: block;
  border-radius: 18px;
  overflow: hidden;
}

.posts-list .box-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.posts-list .img-caption {
  margin-top: 12px;
  font-size: 13px;
  color: #57667A;
  line-height: 1.5;
}

.posts-list .box-text {
  flex: 1 1 auto;
  width: auto;
}

.posts-list .box-text-inner {
  max-width: 90%;
}

.posts-list .post.only-text .box-text-inner {
  max-width: 80%;
}

.posts-list .title,
.posts-list h3 {
  margin: 0 0 18px;
  font-size: 32px;
  font-weight: 700;
  color: #102747;
  line-height: 1.2;
  text-align: left;
}

.posts-list .entry {
  margin-bottom: 28px;
}

.posts-list .entry p {
  font-size: 17px;
  line-height: 1.7;
  color: #102747;
  margin-bottom: 18px;
}

.posts-list .entry p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1025px) {
  .posts-list .post,
  .posts-list .post.align-right {
	      flex-direction: column;

    align-items: stretch;
    gap: 28px;
    padding: 0;
    width: 90%;
    border-radius: 20px;
	  margin: 0 auto 28px;
  }

  .posts-list .post:last-child,
  .posts-list .post.align-right:last-child {
    margin-bottom: 0;
  }

	.posts-list .box-img img {
	aspect-ratio:3/1;
	}

	.posts-list .box-img picture {
  display: block;
  border-radius: 0;
		border-bottom-right-radius:20px;
		border-bottom-left-radius:20px;
  overflow: hidden;
}

  .posts-list .box-img,
  .posts-list .box-img.align-right {
    max-width: 100%;
    flex: none;
  }

  .posts-list .box-text-inner,
  .posts-list .post.only-text .box-text-inner {
    max-width: 100%;
  }

  .posts-list .title,
  .posts-list h3 {
    font-size: 26px;
  }
	.header {
		position:relative;
	}
}

/* =====================================================================
   CARDS SECTION — image top, title, paragraph, optional button.
   Auto 2-col / 3-col grid depending on how many repeater rows
   (`items`) are added in ACF: 2 rows -> 2 columns, 3+ rows -> 3
   columns (wraps after every 3). Image corner radius matches the
   assorted-panels image radius (18px) for visual consistency.
   ===================================================================== */

.block-cards {
  padding: 30px 0px;
}

.cards-grid {
  display: grid;
  gap: 48px;
  max-width: 90%;
  margin: 0 auto;
}

.cards-grid.cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.cards-grid.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.cards-grid.cols-4 {
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.card {
  display: flex;
  flex-direction: column;
}

.card-img {
  margin-bottom: 24px;
}

.card-img picture {
  display: block;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 48px -24px rgba(1, 29, 61, 0.3);
}

.card-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
	object-position:top;
}

/* icon variant — round badge instead of a photo, everything centered */
.card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 24px;
  border-radius: 50%;
  background-color: rgba(3, 116, 87, 0.08);
}

.card-icon img {
  display: block;
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.card.has-icon {
  align-items: center;
  text-align: center;
}

.card.has-icon .card-body {
  align-items: center;
}

.card.has-icon .card-title,
.card.has-icon .card-text {
  text-align: center;
}

.card.has-icon .btn {
  align-self: center;
}

.card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.card-title {
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: 700;
  color: #102747;
  line-height: 1.25;
  text-align: left;
}

.card-text {
  margin-bottom: 20px;
}

.card-text p {
  font-size: 16px;
  line-height: 1.7;
  color: #102747;
  margin-bottom: 14px;
}

.card-text p:last-child {
  margin-bottom: 0;
}

.card .btn {
  margin-top: auto;
  align-self: flex-start;
}

@media (max-width: 1180px) {
  .cards-grid.cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .cards-grid.cols-2,
  .cards-grid.cols-3,
  .cards-grid.cols-4 {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .card-title {
    font-size: 22px;
  }
}

/* =====================================================================
   RESPONSIVE FIXES — Melissa, 2026-09-30
   The sections above (MODERNIZATION PASS / ASSORTED PANELS / CARDS
   SECTION) share selectors with older mobile-only rules earlier in
   this file. Because they're unconditional and come later, they were
   winning at every width, not just desktop — so those mobile values
   were dead. Font-size conflicts were converted to clamp() at the
   source instead (see the MODERNIZATION PASS / ASSORTED PANELS
   rules themselves); the rest are re-wrapped here, in the correct
   @media query, so they win back on mobile without touching the
   unconditional rules above.
   ===================================================================== */

@media (max-width: 767px) {
  .block-partners {
    padding: 30px 0 64px;
  }
}

@media (max-width: 479px) {
  .block-intro h3 {
    line-height: 1.1;
  }

  .block-intro p {
    line-height: 1.3;
  }

  .footer-left address {
    line-height: 1.2;
  }
}