/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Rikav: the approved layout-final.pen supplies the visual system. */
@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('assets/fonts/roboto-latin.woff2') format('woff2');
}

:root {
  --rikav-primary: #0068a3;
  --rikav-navy: #003b64;
  --rikav-deep: #002640;
  --rikav-accent: #3fb5e8;
  --rikav-ink: #0e1b28;
  --rikav-body: #465566;
  --rikav-muted: #5f6f7f;
  --rikav-line: #dce3ea;
  --rikav-surface: #f2f5f8;
  --rikav-field: #f4f7fa;
  --rikav-space-1: 4px;
  --rikav-space-2: 8px;
  --rikav-space-3: 12px;
  --rikav-space-4: 16px;
  --rikav-space-5: 24px;
  --rikav-space-6: 32px;
  --rikav-space-7: 48px;
  --rikav-space-8: 64px;
  --rikav-space-9: 96px;
  --rikav-space-10: 120px;
  --rikav-ease: cubic-bezier(.16, 1, .3, 1);
  --rikav-header-height: 96px;
}

html { scroll-padding-top: calc(var(--rikav-header-height) + 24px); }
body { font-family: Roboto, sans-serif; color: var(--rikav-body); }
::selection { background: var(--rikav-primary); color: #fff; }
a, button, input, textarea { -webkit-tap-highlight-color: #3fb5e82b; }
input, textarea { caret-color: var(--rikav-primary); }
:focus-visible { outline: 3px solid var(--rikav-accent); outline-offset: 5px; }
.rikav-section :is(a, button):focus-visible { outline: 3px solid var(--rikav-accent); }
.rikav-copy :is(p, .elementor-heading-title) { margin: 0; }
.rikav-copy a { color: inherit; text-underline-offset: .22em; }
.rikav-container, .rikav-copy, .rikav-photo, .rikav-card { min-width: 0; max-width: 100%; }
.rikav-section .e-con { --widgets-spacing: 0; }
.rikav-photo, .rikav-logo { line-height: 0; }
.rikav-photo { overflow: hidden; border-radius: 4px; }
.rikav-photo img { display: block; width: 100%; object-fit: cover; transform: translate3d(0, var(--rikav-photo-y, 0px), 0) scale(var(--rikav-photo-scale, 1)); transition: transform .7s var(--rikav-ease); }
.rikav-photo.e-con img { width: auto; min-width: 100%; max-width: none; height: var(--min-height); flex-shrink: 0; }
.rikav-photo.e-con { flex-wrap: nowrap !important; align-content: center; }
.rikav-background-photo.e-con { position: relative; overflow: hidden; }
.rikav-bg-lazy .rikav-background-photo:not(.rikav-background-ready), .rikav-bg-lazy .rikav-background-photo:not(.rikav-background-ready)::before { background-image: none !important; }
.rikav-background-photo.e-con::before { content: ''; position: absolute; inset: 0; background-image: inherit; background-position: center; background-size: cover; background-repeat: no-repeat; opacity: 1; transition: transform .7s var(--rikav-ease); }
.rikav-map-frame.e-con { position: relative; overflow: hidden; }
.rikav-map-frame > .elementor-widget-google_maps { position: absolute; inset: 0; width: 100%; height: 100%; }
.rikav-map-frame :is(.elementor-widget-container, .elementor-custom-embed) { height: 100%; }
.rikav-map-frame iframe { display: block; width: 100%; height: 100% !important; border: 0; }
.rikav-bg-lazy .rikav-map-frame:not(.rikav-map-ready) iframe { display: none; }
.rikav-logo img { display: block; object-fit: contain; }
.rikav-photo-duo { position: relative; isolation: isolate; }
.rikav-brand-tile { z-index: 2; }
.rikav-brand-tile .rikav-logo { max-width: 84px; }
.elementor-widget.rikav-lucide .elementor-icon :is(svg, svg *) { fill: none !important; stroke: currentColor; }
.rikav-icon { flex: 0 0 auto; }
.rikav-icon-frame.e-con { flex: none; min-width: var(--width); height: var(--min-height); }
.rikav-icon .elementor-icon-wrapper { line-height: 0; }
.rikav-card-icon { align-items: center; justify-content: center; border-radius: 50%; transition: transform .5s var(--rikav-ease), background-color .4s ease; }
.rikav-card { position: relative; isolation: isolate; color: inherit; text-decoration: none; transition: transform .5s var(--rikav-ease), box-shadow .5s var(--rikav-ease); }
.rikav-card::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(125deg, #00669f 0%, #004b78 55%, #002640 100%); opacity: 0; clip-path: circle(0% at 0% 100%); transition: opacity .2s ease, clip-path .65s var(--rikav-ease); pointer-events: none; }
.rikav-card > * { position: relative; z-index: 1; }
.rikav-card :is(.elementor-heading-title, .rikav-copy, .rikav-copy p, .elementor-icon, a) { transition: color .4s ease; }
.rikav-card:focus-within::before { opacity: 1; clip-path: circle(155% at 0% 100%); }
.rikav-card:focus-within :is(.elementor-heading-title, .rikav-copy, .rikav-copy p, .elementor-icon, a) { color: #fff !important; }
.rikav-card:focus-within .rikav-card-icon { background-color: #ffffff20; }
.rikav-section .rikav-card:focus-visible { outline-color: var(--rikav-primary); }
.rikav-card:focus-within :focus-visible { outline-color: #fff; }
.rikav-card:focus-within .rikav-icon:not(.rikav-lucide) .elementor-icon svg { fill: currentColor !important; }
.rikav-document { color: inherit; text-decoration: none; }
.rikav-button { line-height: 1; }
.rikav-button .elementor-button, .rikav-form .elementor-button { position: relative; overflow: hidden; isolation: isolate; min-height: 48px; transition: background-color .25s ease, transform .25s var(--rikav-ease); }
.rikav-button .elementor-button::after, .rikav-form .elementor-button::after { content: ''; position: absolute; inset: -50% -30%; pointer-events: none; background: linear-gradient(100deg, transparent 35%, #ffffff3b 48%, #ffffff70 50%, #ffffff3b 52%, transparent 65%); transform: translateX(-125%); }
.rikav-button .elementor-button-icon { transition: transform .3s var(--rikav-ease); }
.rikav-button svg { width: 1em; height: 1em; }
.rikav-button svg[stroke] { fill: none; }

.elementor-location-header { position: absolute; inset: 0 0 auto; z-index: 100; }
.rikav-header { transition: background-color .25s ease; }
.elementor-location-header.is-scrolled { position: fixed; background-color: #003b64f5; backdrop-filter: blur(12px); }
body.admin-bar .elementor-location-header.is-scrolled { top: 32px; }
.rikav-header-row { min-height: 95px; }
.rikav-navigation { margin-left: auto; }
.rikav-navigation .elementor-nav-menu--main .elementor-item { font-family: Roboto, sans-serif; text-transform: uppercase; white-space: nowrap; }
.rikav-navigation .elementor-item::after { max-width: 24px; margin: 0 auto; inset-inline: 0; }
.rikav-navigation .sub-arrow { padding-left: 6px; font-size: 11px; }
.rikav-navigation .elementor-nav-menu--main .sub-menu { min-width: 640px !important; max-width: 700px !important; padding: 24px; border-radius: 4px; columns: 2; column-gap: 24px; box-shadow: 0 20px 48px #00264026; left: 50% !important; transform: translateX(-50%); }
.rikav-navigation .elementor-nav-menu--main .sub-menu li { break-inside: avoid; margin-block: 4px; }
.rikav-navigation .elementor-nav-menu--main .sub-menu .elementor-sub-item { white-space: normal; min-height: 52px; border-radius: 4px; }
.rikav-navigation .elementor-nav-menu--main .menu-item-segments .sub-menu li:nth-child(4), .rikav-navigation .elementor-nav-menu--main .menu-item-solutions .sub-menu li:nth-child(4) { break-before: column; }
.rikav-navigation .rikav-menu-group .elementor-sub-item { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.rikav-navigation .elementor-menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
.rikav-navigation .elementor-nav-menu--dropdown a { min-height: 48px; }

.rikav-hero.e-con { position: relative; isolation: isolate; background-blend-mode: multiply; }
.rikav-hero.e-con::before { content: ''; position: absolute; inset: 0; z-index: 0; opacity: 1; background-image: inherit; background-position: inherit; background-size: cover; background-repeat: no-repeat; background-color: #0a6fb0; background-blend-mode: multiply; transform-origin: center bottom; animation: rikav-ken-burns 12s var(--rikav-ease) 1 both; pointer-events: none; }
.rikav-hero.e-con::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #003b64f2 0%, #00548acc 50%, #0068a300 100%); pointer-events: none; }
.rikav-hero > .e-con-inner { z-index: 2; }
.rikav-hero.is-offscreen::before { animation-play-state: paused; }
.rikav-counter .elementor-counter { gap: 10px; flex-direction: column-reverse; }
.rikav-counter .elementor-counter-number-wrapper { font-variant-numeric: tabular-nums; justify-content: center; }
.rikav-counter .elementor-counter-number-prefix, .rikav-counter .elementor-counter-number-suffix { flex: 0; }
.rikav-counter .elementor-counter-title { line-height: 1.45; text-align: center; align-self: center; }
.rikav-certificate { line-height: 0; }
.rikav-certificate-placeholder { width: 100%; height: auto; }
.rikav-certificate img { transition: transform .7s var(--rikav-ease); }
.rikav-certificate-zoom { transition: transform .4s var(--rikav-ease), box-shadow .4s var(--rikav-ease); }
.elementor-popup-modal:has(.rikav-certificate-popup) .dialog-close-button { display: flex; align-items: center; justify-content: center; top: 8px !important; right: 8px !important; width: 44px; height: 44px; border-radius: 50%; color: var(--rikav-navy) !important; background: #fff; }
.elementor-popup-modal:has(.rikav-certificate-popup) .dialog-close-button svg { width: 20px; height: 20px; fill: currentColor !important; }
.elementor-popup-modal:has(.rikav-certificate-popup) .dialog-close-button:hover { background: var(--rikav-surface); }
.rikav-iso-seal { position: relative; overflow: hidden; }
.rikav-iso-seal::after { content: ''; position: absolute; inset: -100% -50%; background: linear-gradient(105deg, transparent 44%, #ffffff2e 50%, transparent 56%); transform: translateX(-140%); animation: rikav-seal-shine 6s ease 2s infinite; pointer-events: none; }
.rikav-iso-seal.is-offscreen::after { animation-play-state: paused; }
.rikav-form .elementor-field-group .elementor-field { min-height: 52px; padding: 12px 14px; font-family: inherit; }
.rikav-form .elementor-field-group textarea.elementor-field { min-height: 120px; resize: vertical; }
.rikav-form .elementor-field-group .elementor-field:focus { box-shadow: 0 0 0 2px #3fb5e84d; border-color: var(--rikav-primary); outline: none; }
.rikav-form label { margin-bottom: 0; }
.rikav-form .elementor-field-type-submit { justify-content: center; }
.elementor-widget-form.rikav-form .elementor-field-type-submit .elementor-button { width: auto !important; flex: 0 0 auto !important; }
.rikav-form-note .rikav-copy { flex: 0 1 auto; }
.rikav-form .elementor-message { line-height: 1.5; padding: 12px 0 0; }
.rikav-footer-grid { grid-template-columns: minmax(240px, 1.7fr) minmax(112px, .7fr) minmax(160px, 1fr) minmax(136px, .8fr) minmax(160px, 1fr) !important; }
.rikav-footer-grid > .e-con { min-width: 0; }
.rikav-footer :is(p, a) { overflow-wrap: anywhere; }
.rikav-footer a:hover { text-decoration: underline; text-underline-offset: .25em; }
.rikav-footer .rikav-logo { max-width: 92px; }
.rikav-skip-link { position: fixed; top: 12px; left: 12px; z-index: 10001; padding: 12px 20px; background: #fff; color: var(--rikav-navy); transform: translateY(-180%); border-radius: 4px; }
.rikav-skip-link:focus { transform: translateY(0); }
.rikav-reveal.is-revealing { animation: rikav-fade-up .75s var(--rikav-ease) both; animation-delay: var(--rikav-reveal-delay, 0ms); }
.rikav-photo.is-revealing, .rikav-background-photo.is-revealing { animation-name: rikav-photo-in; }
.rikav-hero .rikav-reveal.is-revealing { animation-name: rikav-hero-rise; }

@media (hover: hover) and (pointer: fine) {
  .rikav-card:hover { transform: translateY(-10px); box-shadow: 0 24px 48px #003b6433; }
  .rikav-card:hover::before { opacity: 1; clip-path: circle(155% at 0% 100%); }
  .rikav-card:hover :is(.elementor-heading-title, .rikav-copy, .rikav-copy p, .elementor-icon, a) { color: #fff !important; }
  .rikav-card:hover .rikav-card-icon { background-color: #ffffff20; transform: rotate(22deg) scale(1.1); }
  .rikav-card:hover .rikav-icon:not(.rikav-lucide) .elementor-icon svg { fill: currentColor !important; }
  .rikav-photo:hover img { --rikav-photo-scale: 1.12; }
  .rikav-background-photo:hover::before { transform: scale(1.075); }
  .rikav-button .elementor-button:hover::after, .rikav-form .elementor-button:hover::after { animation: rikav-button-shine .75s var(--rikav-ease); }
  .rikav-button .elementor-button:hover .elementor-button-icon { transform: translateX(8px); }
  .rikav-certificate:hover img { transform: perspective(700px) rotateY(-8deg) rotateX(4deg) scale(1.04); }
  .rikav-certificate-zoom:hover { transform: scale(1.12) rotate(-8deg); box-shadow: 0 12px 24px #00264040; }
}
@media (max-width: 1366px) and (min-width: 1025px) {
  .rikav-navigation .elementor-nav-menu--main .elementor-item { padding-inline: 10px; font-size: 12px; }
  .rikav-header-cta .elementor-button { font-size: 12px; padding-inline: 20px; }
}
@media (max-width: 1100px) {
  .rikav-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1024px) {
  .rikav-navigation .elementor-nav-menu--dropdown { max-height: calc(100dvh - 96px); overflow-y: auto; box-shadow: 0 20px 40px #00264026; }
  .rikav-navigation .elementor-nav-menu--dropdown .sub-menu { padding: 4px 16px 12px; }
  .rikav-navigation .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item { padding-left: 24px; }
  .rikav-navigation .elementor-nav-menu--dropdown .sub-menu li { margin-block: 4px; }
}
@media (max-width: 767px) {
  :root { --rikav-header-height: 72px; }
  .rikav-header-row { min-height: 71px; }
  .rikav-hero.e-con::after { background: linear-gradient(90deg, #003b64f2, #00548acc 70%, #0068a380); }
  .rikav-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .rikav-footer-grid > .e-con:first-child, .rikav-footer-grid > .e-con:nth-child(3), .rikav-footer-grid > .e-con:nth-child(5) { grid-column: 1 / -1; }
  .rikav-footer-grid > .e-con:nth-child(4) { grid-column: 2; grid-row: 2; }
  .rikav-counter .elementor-counter-title { max-width: 160px; }
  .rikav-counter .elementor-counter-number-wrapper { min-height: 44px; }
  .rikav-iso-card .rikav-copy { text-align: center; }
  .rikav-navigation .elementor-nav-menu--dropdown { max-height: calc(100dvh - 72px); }
  .rikav-brand-tile .rikav-logo { max-width: 56px; }
  .elementor-widget-form.rikav-form .elementor-field-type-submit .elementor-button { width: 100% !important; flex-basis: 100% !important; }
  body.admin-bar .elementor-location-header.is-scrolled { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rikav-hero.e-con::before, .rikav-iso-seal::after, .rikav-reveal.is-revealing, .rikav-button .elementor-button::after, .rikav-form .elementor-button::after { animation: none !important; }
  .elementor-popup-modal .animated { animation: none !important; }
  .rikav-card, .rikav-card::before, .rikav-card-icon, .rikav-photo img, .rikav-background-photo::before, .rikav-certificate img, .rikav-certificate-zoom, .rikav-button .elementor-button, .rikav-button .elementor-button-icon { transition: none !important; transform: none !important; }
}
@keyframes rikav-fade-up { from { opacity: 0; transform: translate3d(0, 36px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes rikav-hero-rise { from { opacity: .15; filter: blur(3px); transform: translate3d(0, 32px, 0); } to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); } }
@keyframes rikav-photo-in { from { opacity: .3; clip-path: inset(5% 0 5% 0); transform: scale(.96); } to { opacity: 1; clip-path: inset(0); transform: scale(1); } }
@keyframes rikav-ken-burns { from { transform: scale(1); } to { transform: scale(1.085); } }
@keyframes rikav-button-shine { from { transform: translateX(-125%); } to { transform: translateX(125%); } }
@keyframes rikav-seal-shine { 0%, 70% { transform: translateX(-140%); } 92%, 100% { transform: translateX(140%); } }
