/* Nanneer – own additions (replace effects that needed the old plugin scripts) */
.et_animated, .nn_animated, .et-waypoint, .nn_pb_animation_off, [class*="nn_pb_animation_"] { opacity: 1 !important; animation: none !important; }

/* home banner (was a slider plugin): desktop/tablet version + phone version */
.nn-hero { position: relative; width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; background: #3b4b5a; }
.nn-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nn-hero-d { aspect-ratio: 1920 / 800; }
.nn-hero-d .nn-hero-box { position: absolute; left: 27.99%; top: 24.5%; width: 45.14%; height: 50.12%; background: rgba(0,0,0,.5); }
.nn-hero-d .nn-hero-title { position: absolute; left: 6.6%; right: 6.6%; top: 18.2%; margin: 0; padding: 0; text-align: center;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif; font-weight: 700; color: #fff !important; font-size: 2.865vw; line-height: 4.167vw; }
.nn-hero-d .nn-hero-by { position: absolute; left: 0; right: 0; top: 79%; margin: 0; padding: 0; text-align: center;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif; color: #fff; font-size: 1.042vw; line-height: 1.3vw; }
.nn-hero-m { aspect-ratio: 778 / 800; display: none; }
.nn-hero-m .nn-hero-shade { position: absolute; left: 18.12%; top: 14.5%; width: 63.5%; height: 63.88%; background: rgba(0,0,0,.5); }
.nn-hero-m .nn-hero-title { position: absolute; left: 50%; top: 27.5%; width: 54%; transform: translateX(-50%); margin: 0; padding: 0; text-align: center;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif; font-weight: 700; color: #fff !important; font-size: 5.784vw; line-height: 6.427vw; }
.nn-hero-m .nn-hero-by { position: absolute; left: 0; right: 0; top: 62.1%; margin: 0; padding: 0; text-align: center;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif; color: #fff; font-size: 2.571vw; line-height: 1.2; }
@media (max-width: 767px) { .nn-hero-d { display: none; } .nn-hero-m { display: block; } }

/* section background videos (were sized by a script) */
.nn_pb_section_video_bg { position: absolute !important; inset: 0; overflow: hidden; display: block !important; width: 100%; height: 100%; }
.nn_pb_section_video_bg video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }

/* image sliders */
.nn-cf { overflow: hidden; position: relative; }
.nn-cf-track { display: flex; will-change: transform; margin-right: calc(var(--gap, 0px) * -1); }
.nn-cf-slide { flex: 0 0 100%; padding: 0 var(--gap, 0px) 0 0; }
.nn-cf-slide img { display: block; width: 100%; height: auto; border-radius: 10px; }

/* YouTube videos */
.nn-yt { position: relative; padding-top: 56.25%; }
.nn-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* phone menu */
.mobile_nav .et_mobile_menu { display: none; }
.mobile_nav.opened .et_mobile_menu { display: block; position: fixed !important; left: 0 !important; right: 0; width: 100% !important; max-height: 80vh; overflow-y: auto; z-index: 99999; }
.et_mobile_menu li ul { display: none !important; }
.et_mobile_menu li.nn-sub-open > ul { display: block !important; padding-left: 15px !important; }
.et_mobile_menu li.nn-has-sub > a::after { content: ' \25BE'; }
.et-menu li:hover > ul, .et-menu li:focus-within > ul { opacity: 1 !important; visibility: visible !important; }

/* forms */
.nn-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nn-form-msg { margin-top: 12px; font-size: 15px; line-height: 1.5; }
.nn-form-msg:empty { display: none; }
.nn-form-msg.is-ok { color: #1c7c43; background: #e9f8ef; border-left: 4px solid #1c9d4f; padding: 10px 14px; }
.nn-form-msg.is-error { color: #b32d2e; background: #fdf0f0; border-left: 4px solid #d63638; padding: 10px 14px; }
.nn-field-msg { color: #c02b0a; font-size: 13px; margin-top: 4px; }
.nfield_error input, .nfield_error textarea { border-color: #c02b0a !important; }
.nform_wrapper button.nform_button[disabled] { opacity: .6; cursor: wait; }

/* back to top */
.nn-top { position: fixed; right: 18px; bottom: 18px; z-index: 999; width: 42px; height: 42px; line-height: 50px; text-align: center; font-size: 26px;
  background: #3e4095; color: #fff !important; border-radius: 5px; opacity: 0; pointer-events: none; transition: opacity .3s; text-decoration: none; }
.nn-top.is-visible { opacity: 1; pointer-events: auto; }
@media (max-width: 980px) { html, body { overflow-x: hidden; } }
