/* ==========================================================================
   RV Tehnik — põhistiilid
   --------------------------------------------------------------------------
   See fail on käsitsi kirjutatud alus: paigutus, tüpograafia vaikeväärtused,
   päis, jalus, vorm ja korduvad elemendid. Lehepõhised täpsed väärtused
   (iga sektsiooni ääred, värvid, murdepunktid) on failis pages.css, mis on
   genereeritud vana lehe pealt — nii on kujundus üks-ühele sama.

   Ikoonid on Font Awesome Free 5 kujundid (CC BY 4.0, fontawesome.com),
   siin SVG-maskidena, et eraldi ikoonifonti alla laadida ei peaks.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Muutujad
   -------------------------------------------------------------------------- */

:root {
	/* Vana lehe globaalsed värvid ja fondid — pages.css viitab neile. */
	--e-global-color-primary: #cc0424;
	--e-global-color-secondary: #540000;
	--e-global-color-text: #7a7a7a;
	--e-global-color-accent: #61ce70;
	--e-global-color-c78f0fd: #fcfcfc;

	--e-global-typography-primary-font-family: "Rubik";
	--e-global-typography-primary-font-weight: 600;
	--e-global-typography-secondary-font-family: "Rubik";
	--e-global-typography-secondary-font-weight: 400;
	--e-global-typography-text-font-family: "Rubik";
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: "Rubik";
	--e-global-typography-accent-font-weight: 500;

	/* Teema oma muutujad. */
	--rv-heading: #3d4459;
	--rv-brand-gradient: linear-gradient(130deg, #540000 0%, #cc0424 89%);
	--rv-container: 1140px;
	--rv-header-height: 90px;
	--rv-gutter: 10px;
	--rv-widget-gap: 20px;
}

/* --------------------------------------------------------------------------
   2. Alus
   -------------------------------------------------------------------------- */

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

/* Alusväärtused on samad, mis vanal lehel (hello-elementor reset + Elementori
   globaalsed seaded). Konkreetsed suurused ja värvid annab pages.css. */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background-color: #fff;
	color: #333;
	font-family: Rubik, Roboto, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img {
	max-width: 100%;
	height: auto;
	border-style: none;
}

a {
	color: var(--e-global-color-primary);
	text-decoration: none;
	text-transform: none;
}

a:hover {
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: inherit;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	margin-block-start: 0.5rem;
	margin-block-end: 1rem;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; text-transform: lowercase; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
	margin-block-start: 0;
	margin-block-end: 0.9rem;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

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

.skip-link:focus {
	left: 0;
}

/* --------------------------------------------------------------------------
   3. Sektsioonid ja veerud
   Vastab vana lehe paigutusmudelile: sektsioon (taust, ääred) sisaldab
   konteinerit (max-laius, flex-rida), mis sisaldab veerge.
   -------------------------------------------------------------------------- */

.rv-sec {
	position: relative;
}

/* Konteiner on core/columns plokk, mille vaikekäitumine tuleb üle kirjutada
   (core kasutab flex-wrap juures !important, seega ka siin on see vajalik). */
.rv-sec > .rv-inner {
	display: flex;
	position: relative;
	max-width: var(--rv-container);
	margin-left: auto;
	margin-right: auto;
	/* core/columns lisab endale 1.75em alumise veerise — vanal lehel seda ei olnud. */
	margin-top: 0;
	margin-bottom: 0;
	gap: 0 !important;
}

/* Konteineri vertikaalne joondus. `!important` on vajalik, sest core/columns
   seab align-items ise !important-iga. */
.rv-items-top > .rv-inner {
	align-items: flex-start !important;
}

.rv-items-middle > .rv-inner {
	align-items: center !important;
}

.rv-items-bottom > .rv-inner {
	align-items: flex-end !important;
}

.rv-content-top > .rv-inner > .rv-col > .rv-colinner {
	align-content: flex-start;
}

.rv-sec > .rv-inner > .rv-col {
	display: flex;
	position: relative;
	min-height: 1px;
	flex-grow: 0;
	flex-shrink: 1;
	flex-basis: auto;
	min-width: 0;
}

.rv-colinner {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	position: relative;
	width: 100%;
	padding: var(--rv-col-pad, var(--rv-gutter));
}

.rv-colinner > * {
	width: 100%;
}

/* Vidinate omavaheline vahe — vanal lehel 20px. Kehtib ainult vidinatele,
   mitte sisemistele sektsioonidele: neil olid omad veerised. */
.rv-colinner > .rv-w:not(:last-child) {
	margin-bottom: var(--rv-widget-gap);
}

/* Veergude vahe. Vaikimisi 10px kummalgi pool, nagu vanal lehel.
   Väärtus antakse muutujaga ja polster ise ühe klassi reeglina, et
   lehepõhine pages.css saaks selle üle kirjutada — täpselt nii, nagu
   see vanal lehel toimis. */
.rv-gap-default > .rv-inner  { --rv-col-pad: var(--rv-gutter); }
.rv-gap-narrow > .rv-inner   { --rv-col-pad: 5px; }
.rv-gap-extended > .rv-inner { --rv-col-pad: 15px; }
.rv-gap-wide > .rv-inner     { --rv-col-pad: 20px; }
.rv-gap-wider > .rv-inner    { --rv-col-pad: 30px; }
.rv-gap-no > .rv-inner       { --rv-col-pad: 0px; }

/* Veergude laiused. */
.rv-col-100 { width: 100%; }
.rv-col-80  { width: 80%; }
.rv-col-75  { width: 75%; }
.rv-col-66  { width: 66.666%; }
.rv-col-60  { width: 60%; }
.rv-col-50  { width: 50%; }
.rv-col-40  { width: 40%; }
.rv-col-33  { width: 33.333%; }
.rv-col-25  { width: 25%; }
.rv-col-20  { width: 20%; }
.rv-col-16  { width: 16.666%; }

/* --------------------------------------------------------------------------
   4. Taustakiht ja lainekujundid
   Vana lehe „background overlay" on siin ::before, laineeraldaja ::after.
   -------------------------------------------------------------------------- */

.rv-has-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.rv-sec > .rv-inner {
	z-index: 1;
}

/* Laineeraldaja. Markup on sama, mis vanal lehel: 100% laiune lõikekast,
   mille sees on laiem SVG keskele joondatud. Kasti lisab teema PHP-pool
   (vt rvtehnik_add_shape_dividers), täpsed mõõdud tulevad pages.css-ist. */
.rv-shape-box {
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	direction: ltr;
	pointer-events: none;
}

.rv-shape-box--top {
	top: -1px;
}

.rv-shape-box--bottom {
	bottom: -1px;
	transform: rotate(180deg);
}

.rv-shape-box svg {
	display: block;
	position: relative;
	left: 50%;
	width: calc(100% + 1.3px);
	/* Laine on sektsioonist laiem (nt 260%), seega üldist max-width piirangut
	   siin rakendada ei tohi. */
	max-width: none;
	transform: translateX(-50%);
}

/* Alumise laine SVG jääb sektsiooni sisu taha, ülemine sisu peale —
   täpselt nagu vanal lehel. */
.rv-shape-box--bottom svg {
	z-index: -1;
}

.rv-shape-box .rv-shape-fill {
	fill: #fff;
	transform-origin: center;
}

/* --------------------------------------------------------------------------
   5. Vidinad
   -------------------------------------------------------------------------- */

/* Pealkirjad ja tekst. */
.rv-heading {
	margin: 0;
}

.rv-text > :last-child {
	margin-bottom: 0;
}

/* Vidina kaks kihti. */
.rv-w,
.rv-wc {
	width: 100%;
}

/* Elementori vidinate vaikejoondused. */
.rv-w--image {
	text-align: center;
}

/* Pilt. */
.rv-image {
	margin: 0;
	line-height: 0;
}

.rv-image a {
	display: inline-block;
}

.rv-image img {
	display: inline-block;
	vertical-align: middle;
}

.rv-image figcaption {
	line-height: 1.7;
}

/* Nupp. */
.rv-btn-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.rv-align-left .rv-btn-wrap    { justify-content: flex-start; }
.rv-align-center .rv-btn-wrap  { justify-content: center; }
.rv-align-right .rv-btn-wrap   { justify-content: flex-end; }
.rv-align-justify .rv-btn-wrap .rv-btn { width: 100%; }

.rv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 15px 30px;
	border: none;
	border-radius: 4px;
	background-color: var(--e-global-color-primary);
	color: #fff;
	fill: #fff;
	font-family: Montserrat, Rubik, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s;
}

.rv-btn:hover,
.rv-btn:focus,
.rv-btn:visited {
	color: #fff;
	text-decoration: none;
}

.rv-btn--xs { padding: 10px 20px; font-size: 13px; border-radius: 2px; }
.rv-btn--sm { padding: 12px 24px; font-size: 15px; border-radius: 3px; }
.rv-btn--md { padding: 15px 30px; font-size: 16px; border-radius: 4px; }
.rv-btn--lg { padding: 20px 40px; font-size: 18px; border-radius: 5px; }
.rv-btn--xl { padding: 25px 50px; font-size: 20px; border-radius: 6px; }

/* Nupu ikoon (nool). */
.rv-btn::after {
	content: "";
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask: var(--rv-icon-arrow) no-repeat center / contain;
	mask: var(--rv-icon-arrow) no-repeat center / contain;
}

.rv-btn--no-icon::after {
	display: none;
}

/* Vahetükk. Kõrgus tuleb muutujast --spacer-size, mille annab pages.css
   murdepunkti kaupa — nagu vanal lehel. `!important` on vajalik, sest
   core/spacer plokk kirjutab kõrguse ka elemendi enda style-atribuudiks. */
.rv-spacer {
	width: 100%;
	height: var(--spacer-size, 100px) !important;
}

/* Pildikast: ikoon või pilt üleval, pealkiri, kirjeldus. */
.rv-box {
	text-align: center;
}

.rv-box-img {
	display: inline-block;
}

.rv-box-img img {
	display: block;
	width: 100%;
}

.rv-box-content {
	width: 100%;
}

.rv-box-title a {
	color: inherit;
}

.rv-box-desc {
	margin: 0;
}

@media (min-width: 768px) {
	.rv-pos-left .rv-box,
	.rv-pos-right .rv-box {
		display: flex;
	}

	.rv-pos-left .rv-box {
		flex-direction: row;
		text-align: start;
	}

	.rv-pos-right .rv-box {
		flex-direction: row-reverse;
		text-align: end;
	}

	.rv-pos-top .rv-box-img {
		margin-inline: auto;
	}

	.rv-valign-top .rv-box    { align-items: flex-start; }
	.rv-valign-middle .rv-box { align-items: center; }
	.rv-valign-bottom .rv-box { align-items: flex-end; }
}

@media (max-width: 767px) {
	.rv-box-img {
		margin-bottom: 15px;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Ikoonidega loend. */
.rv-icon-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rv-icon-list li {
	display: flex;
	align-items: var(--icon-vertical-align, center);
	margin: 0;
	padding: 0;
	position: relative;
	font-size: inherit;
}

.rv-icon-list li > a {
	display: flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
}

.rv-il-icon {
	display: flex;
	flex: 0 0 auto;
	position: relative;
	top: var(--icon-vertical-offset, 0);
	width: var(--e-icon-list-icon-size, 1em);
	height: var(--e-icon-list-icon-size, 1em);
	background-color: var(--e-global-color-primary);
	-webkit-mask: var(--rv-il-glyph) no-repeat center / contain;
	mask: var(--rv-il-glyph) no-repeat center / contain;
	transition: background-color 0.3s;
}

.rv-il-text {
	align-self: center;
	padding-inline-start: 5px;
	color: var(--e-global-color-secondary);
}

.rv-icon-list--check li  { --rv-il-glyph: var(--rv-icon-check); }
.rv-icon-list--phone li  { --rv-il-glyph: var(--rv-icon-phone); }
.rv-icon-list--mail li   { --rv-il-glyph: var(--rv-icon-mail); }

.rv-icon-list--inline {
	display: flex;
	flex-wrap: wrap;
	margin-left: -8px;
	margin-right: -8px;
}

.rv-icon-list--inline li {
	margin-left: 8px;
	margin-right: 8px;
}

.rv-align-center .rv-icon-list li,
.rv-align-center .rv-icon-list li > a { justify-content: center; }
.rv-align-left .rv-icon-list li,
.rv-align-left .rv-icon-list li > a   { justify-content: flex-start; text-align: left; }
.rv-align-right .rv-icon-list li,
.rv-align-right .rv-icon-list li > a  { justify-content: flex-end; text-align: right; }

/* Ankur: kinnijääv päis ei tohi sihtkohta katta. */
.rv-anchor {
	display: block;
	height: 0;
	scroll-margin-top: var(--rv-header-height);
}

/* Lihtsad lehed (404, otsing, blogi) — sama konteinerilaius, hingamisruum. */
.rv-plain {
	padding: 140px 20px 100px;
}

.rv-inner--flow {
	max-width: var(--rv-container);
	margin: 0 auto;
}

/* --------------------------------------------------------------------------
   5b. Globaalsed vidinad
   Vanal lehel olid kaks „globaalset" vidinat, mille stiilid ei jõudnud
   genereeritud CSS-i. Väärtused on võetud nende enda seadetest.
   -------------------------------------------------------------------------- */

/* Nupp „Võta ühendust" (vana globaalne vidin 1886). */
.rv-e-1886 {
	margin-top: 20px;
}

.rv-e-1886 .rv-btn {
	background-color: #fff;
	color: #000;
	fill: #000;
	font-family: Montserrat, Rubik, sans-serif;
	font-size: 15px;
	font-weight: 500;
	border-radius: 30px;
	box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
	flex-direction: row-reverse;
	gap: 10px;
}

.rv-e-1886 .rv-btn:hover,
.rv-e-1886 .rv-btn:focus {
	background-color: #000;
	color: #fff;
	fill: #fff;
}

/* Pealkiri „Võid meie peale loota!" (vana globaalne vidin 1536). */
.rv-e-1536 {
	color: #fff;
	font-family: "Varela Round", Rubik, sans-serif;
	font-size: 20px;
	font-weight: 400;
	text-align: left;
	text-transform: none;
}

@media (max-width: 767px) {
	.rv-e-1536 {
		text-align: center;
	}

	.rv-e-1886.rv-btn-wrap {
		justify-content: center;
	}
}

/* Ikoonikujundid. */
:root {
	--rv-icon-check: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"/></svg>');
	--rv-icon-phone: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z"/></svg>');
	--rv-icon-mail: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.4 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"/></svg>');
	--rv-icon-arrow: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"/></svg>');
	--rv-icon-chevron: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"/></svg>');
}

/* --------------------------------------------------------------------------
   6. Päis
   Valge riba, logo vasakul, menüü keskel, telefon ja e-post paremal.
   Riba jääb kerimisel üles kinni ja katab hero-ala ülemise 90 pikslit,
   täpselt nagu vanal lehel.
   -------------------------------------------------------------------------- */

/* Kinnijäämine ja hero-ala katmine peavad olema malliosa välimisel elemendil:
   kui need on sisemisel divil, jääb vanemelemendi kõrgus nulli ja sticky
   lõpetab töö kohe. */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 10;
	margin-bottom: calc(-1 * var(--rv-header-height));
}

.rv-header {
	position: relative;
	background: #fff;
	box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1);
}

.rv-header__inner {
	display: flex;
	align-items: center;
	max-width: var(--rv-container);
	min-height: var(--rv-header-height);
	margin: 0 auto;
	padding: 0;
}

.rv-header__logo {
	width: 25%;
	padding: 10px;
	line-height: 0;
}

.rv-header__logo img {
	width: 244px;
	max-width: 100%;
}

.rv-header__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 39.415%;
	padding: 0 20px 0 0;
}

.rv-header__contact {
	display: flex;
	align-items: center;
	padding: 10px;
	border-left: 1px solid rgba(0, 0, 0, 0.08);
}

.rv-header__contact--phone { width: 19.188%; }
.rv-header__contact--mail  { width: 16.329%; }

.rv-header__contact a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #000;
	font-family: Varela, Rubik, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	text-decoration: none;
	transition: color 0.3s;
}

.rv-header__contact a:hover {
	color: var(--e-global-color-primary);
}

.rv-header__contact .rv-ico {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	background-color: currentColor;
	-webkit-mask: var(--rv-glyph) no-repeat center / contain;
	mask: var(--rv-glyph) no-repeat center / contain;
}

.rv-header__contact--phone .rv-ico { --rv-glyph: var(--rv-icon-phone); }
.rv-header__contact--mail .rv-ico  { --rv-glyph: var(--rv-icon-mail); }

/* Menüü. */
.rv-menu,
.rv-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rv-menu {
	display: flex;
	justify-content: center;
	gap: 50px;
}

.rv-menu > li {
	position: relative;
}

.rv-menu a,
.rv-menu > li > span {
	display: block;
	position: relative;
	padding: 35px 0;
	color: #000;
	font-family: Varela, Rubik, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.3s;
}

.rv-menu > li > a::after,
.rv-menu > li > span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 30px;
	width: 100%;
	height: 2px;
	background-color: var(--e-global-color-primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s;
}

.rv-menu > li:hover > a::after,
.rv-menu > li:hover > span::after,
.rv-menu > li.current-menu-item > a::after {
	transform: scaleX(1);
}

.rv-menu > li:hover > a,
.rv-menu > li:hover > span,
.rv-menu > li.current-menu-item > a,
.rv-menu a:focus {
	color: var(--e-global-color-primary);
}

/* Alammenüü. */
.rv-menu .rv-sub-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
}

.rv-chevron {
	display: inline-block;
	width: 0.65em;
	height: 0.65em;
	background-color: currentColor;
	-webkit-mask: var(--rv-icon-chevron) no-repeat center / contain;
	mask: var(--rv-icon-chevron) no-repeat center / contain;
}

.rv-submenu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 20;
	min-width: 280px;
	transform: translateX(-50%);
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s;
}

.rv-menu > li:hover > .rv-submenu,
.rv-menu > li:focus-within > .rv-submenu,
.rv-menu > li.rv-open > .rv-submenu {
	opacity: 1;
	visibility: visible;
}

.rv-submenu a {
	padding: 15px 16px;
	font-family: Montserrat, Rubik, sans-serif;
	font-weight: 500;
	font-size: 15px;
	letter-spacing: -0.3px;
	color: #000;
}

.rv-submenu li:not(:last-child) {
	border-bottom: 1px solid #efefef;
}

.rv-submenu li:first-child a {
	border-radius: 5px 5px 0 0;
}

.rv-submenu li:last-child a {
	border-radius: 0 0 5px 5px;
}

.rv-submenu a:hover,
.rv-submenu a.rv-current {
	color: var(--e-global-color-primary);
	background-color: #fff;
}

/* Mobiilinupp. */
.rv-burger {
	display: none;
	margin-left: auto;
	padding: 10px;
	background: none;
	border: 0;
	color: #000;
	cursor: pointer;
}

.rv-burger:hover {
	color: var(--e-global-color-primary);
}

.rv-burger svg {
	display: block;
	width: 25px;
	height: 25px;
	fill: currentColor;
}

/* --------------------------------------------------------------------------
   7. Jalus
   Jaluse täpsed väärtused tulevad pages.css-ist — malliosa parts/footer.html
   kannab samu elemendi klasse, mis vanal lehel.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   8. Kontaktivorm
   -------------------------------------------------------------------------- */

.rv-form-wrap {
	width: 100%;
}

/* Väljade välimus on üle võetud vana lehe vormilt: hall taust, ääristeta,
   5px ümarad nurgad, Montserrat 15px/500. */
.rv-form-field {
	margin: 0 0 25px;
}

.rv-form input[type="text"],
.rv-form input[type="tel"],
.rv-form input[type="email"],
.rv-form textarea {
	display: block;
	width: 100%;
	min-height: 40px;
	padding: 5px 14px;
	border: 0;
	border-radius: 5px;
	background-color: #f4f4f4;
	color: #282828;
	font-family: Montserrat, Rubik, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}

.rv-form textarea {
	min-height: 100px;
	resize: vertical;
}

.rv-form input::placeholder,
.rv-form textarea::placeholder {
	color: #282828;
	opacity: 0.55;
}

.rv-form input:focus,
.rv-form textarea:focus {
	outline: 2px solid var(--e-global-color-primary);
	outline-offset: 1px;
}

.rv-form-submit {
	display: flex;
	justify-content: flex-end;
	margin: 0;
}

.rv-form .rv-btn {
	background-color: var(--e-global-color-primary);
	border-radius: 30px;
	font-family: Montserrat, Rubik, sans-serif;
	font-size: 15px;
	font-weight: 500;
	padding: 12px 26px;
}

.rv-form .rv-btn:hover,
.rv-form .rv-btn:focus {
	background-color: #000;
	color: #fff;
}

/* Honeypot — inimesele nähtamatu. */
.rv-form-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rv-form-notice {
	margin: 0 0 16px;
	padding: 14px 18px;
	border-radius: 5px;
	font-size: 15px;
}

.rv-form-notice--ok {
	background: #edf7ed;
	border: 1px solid #b7dfb7;
	color: #1e4620;
}

.rv-form-notice--error {
	background: #fdeced;
	border: 1px solid #f3c2c6;
	color: #7a1620;
}

/* --------------------------------------------------------------------------
   9. Murdepunktid
   Vana leht: tahvel kuni 1024px, mobiil kuni 767px.
   -------------------------------------------------------------------------- */

@media (min-width: 768px) {
	.rv-sec > .rv-inner {
		flex-wrap: nowrap !important;
	}
}

@media (max-width: 1024px) {
	/* Veergude järjekorra vahetus, nagu vanal lehel (kuni 10 veergu). */
	.rv-reverse-tablet > .rv-inner > :nth-child(1)  { order: 10; }
	.rv-reverse-tablet > .rv-inner > :nth-child(2)  { order: 9; }
	.rv-reverse-tablet > .rv-inner > :nth-child(3)  { order: 8; }
	.rv-reverse-tablet > .rv-inner > :nth-child(4)  { order: 7; }
	.rv-reverse-tablet > .rv-inner > :nth-child(5)  { order: 6; }
	.rv-reverse-tablet > .rv-inner > :nth-child(6)  { order: 5; }
	.rv-reverse-tablet > .rv-inner > :nth-child(7)  { order: 4; }
	.rv-reverse-tablet > .rv-inner > :nth-child(8)  { order: 3; }
	.rv-reverse-tablet > .rv-inner > :nth-child(9)  { order: 2; }
	.rv-reverse-tablet > .rv-inner > :nth-child(10) { order: 1; }

	.rv-align-tablet-left .rv-btn-wrap   { justify-content: flex-start; }
	.rv-align-tablet-center .rv-btn-wrap { justify-content: center; }
	.rv-align-tablet-right .rv-btn-wrap  { justify-content: flex-end; }

	.rv-align-tablet-center .rv-icon-list li,
	.rv-align-tablet-center .rv-icon-list li > a { justify-content: center; }

	/* Päise veergude polstrid on samad, mis vanal lehel. */
	.rv-header__inner {
		flex-wrap: wrap;
	}

	.rv-header__logo,
	.rv-header__nav {
		width: 50%;
		padding: 0 0 0 5%;
	}

	.rv-header__contact--phone,
	.rv-header__contact--mail {
		width: 25%;
		padding: 0 15% 0 5%;
	}

	.rv-burger {
		display: block;
	}

	.rv-header__nav .rv-menu {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		flex-direction: column;
		gap: 0;
		padding: 0;
		background: #fff;
		border-radius: 0 0 5px 5px;
		box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
		text-align: center;
	}

	.rv-header.rv-nav-open .rv-header__nav .rv-menu {
		display: flex;
	}

	.rv-menu > li > a,
	.rv-menu > li > .rv-sub-toggle {
		justify-content: center;
		width: 100%;
		padding: 25px 16px;
		font-size: 16px;
	}

	.rv-menu > li > a::after,
	.rv-menu > li > span::after {
		display: none;
	}

	.rv-menu > li:not(:last-child) {
		border-bottom: 1px solid #efefef;
	}

	.rv-submenu {
		position: static;
		display: none;
		min-width: 0;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		border-radius: 0;
		background: #fafafa;
	}

	.rv-menu > li.rv-open > .rv-submenu {
		display: block;
	}

	.rv-submenu a {
		padding: 18px 16px;
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.rv-sec > .rv-inner {
		flex-wrap: wrap !important;
	}

	.rv-sec > .rv-inner > .rv-col {
		width: 100%;
	}

	.rv-reverse-mobile > .rv-inner > :nth-child(1)  { order: 10; }
	.rv-reverse-mobile > .rv-inner > :nth-child(2)  { order: 9; }
	.rv-reverse-mobile > .rv-inner > :nth-child(3)  { order: 8; }
	.rv-reverse-mobile > .rv-inner > :nth-child(4)  { order: 7; }
	.rv-reverse-mobile > .rv-inner > :nth-child(5)  { order: 6; }
	.rv-reverse-mobile > .rv-inner > :nth-child(6)  { order: 5; }
	.rv-reverse-mobile > .rv-inner > :nth-child(7)  { order: 4; }
	.rv-reverse-mobile > .rv-inner > :nth-child(8)  { order: 3; }
	.rv-reverse-mobile > .rv-inner > :nth-child(9)  { order: 2; }
	.rv-reverse-mobile > .rv-inner > :nth-child(10) { order: 1; }

	.rv-align-mobile-left .rv-btn-wrap   { justify-content: flex-start; }
	.rv-align-mobile-center .rv-btn-wrap { justify-content: center; }
	.rv-align-mobile-right .rv-btn-wrap  { justify-content: flex-end; }

	.rv-align-mobile-center .rv-icon-list li,
	.rv-align-mobile-center .rv-icon-list li > a { justify-content: center; }

	.rv-header__logo {
		width: 50%;
		padding: 0 0 0 20px;
	}

	.rv-header__nav {
		width: 50%;
		padding: 0;
	}

	.rv-header__contact--phone,
	.rv-header__contact--mail {
		width: 100%;
		padding: 0;
		border-left: 0;
		justify-content: center;
	}


	.rv-form-submit {
		justify-content: center;
	}
}
