/* ============================================================
   RonFrank2027 — Theme Styles
   Colors inherited from the old site: #253c6c (brand), #0093c9 (accent)
   ============================================================ */

:root {
	--rf-primary: #253c6c;
	--rf-primary-dark: #1a2c50;
	--rf-accent: #0093c9;
	--rf-accent-dark: #007aa8;
	--rf-text: #3a4150;
	--rf-muted: #6b7280;
	--rf-bg: #f4f6f9;
	--rf-border: #e3e7ee;
	--rf-radius: 12px;
	--rf-shadow: 0 6px 24px rgba(16, 33, 68, .08);
	--rf-shadow-lg: 0 14px 44px rgba(16, 33, 68, .16);

	--bs-primary: var(--rf-primary);
	--bs-primary-rgb: 37, 60, 108;
	--bs-link-color: var(--rf-primary);
	--bs-link-hover-color: var(--rf-accent);
	--bs-body-color: var(--rf-text);
	--bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--rf-bg);
}

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

/* ---------- Skip link ---------- */

.rf-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 2000;
	background: var(--rf-primary);
	color: #fff;
	padding: .75rem 1.25rem;
	border-radius: 0 0 var(--rf-radius) 0;
}

.rf-skip-link:focus {
	left: 0;
	color: #fff;
}

/* ---------- Topbar ---------- */

.rf-topbar {
	background: var(--rf-primary-dark);
	color: #cfd8ea;
	font-size: .875rem;
	padding: .35rem 0;
}

.rf-topbar a {
	color: #fff;
	text-decoration: none;
}

.rf-topbar a:hover {
	color: var(--rf-accent);
}

.rf-phone {
	font-weight: 600;
	letter-spacing: .02em;
}

.rf-phone::before {
	content: "\260E";
	margin-right: .4em;
	color: var(--rf-accent);
}

.rf-lang-switcher {
	display: flex;
	gap: .25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rf-lang a {
	display: inline-block;
	padding: .15rem .55rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: #cfd8ea;
}

.rf-lang a:hover {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

.rf-lang.is-active a {
	background: var(--rf-accent);
	color: #fff;
}

/* ---------- Header ---------- */

.rf-header {
	background: #fff;
	padding: 1.1rem 0;
}

.rf-logo {
	flex-shrink: 0;
}

.rf-logo-img {
	max-height: 92px;
	width: auto;
}

.rf-logo-text {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--rf-primary);
}

.rf-header-right {
	text-align: right;
}

.rf-tagline {
	display: inline-block;
	background: var(--rf-primary);
	color: #fff;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.35;
	padding: .45rem 1rem;
	border-radius: 6px;
}

.rf-tagline a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.rf-zurich-logo {
	display: block;
	height: 30px;
	width: auto;
	margin: .5rem 0 0 auto;
}

/* ---------- Navbar ---------- */

.rf-navbar {
	background: var(--rf-primary);
	padding: 0;
	box-shadow: var(--rf-shadow);
	position: relative;
	z-index: 1020;
}

.rf-navbar .navbar-nav {
	width: 100%;
}

.rf-navbar .nav-link {
	color: #dde5f2;
	font-weight: 600;
	font-size: .95rem;
	padding: .9rem 1rem;
	border-radius: 0;
	transition: background-color .18s ease, color .18s ease;
}

.rf-navbar .nav-link:hover,
.rf-navbar .nav-link:focus {
	color: #fff;
	background: rgba(255, 255, 255, .08);
}

.rf-navbar .nav-item.active > .nav-link {
	color: #fff;
	background: var(--rf-accent);
}

.rf-navbar .dropdown-menu {
	background: #fff;
	border: 0;
	border-radius: 0 0 var(--rf-radius) var(--rf-radius);
	box-shadow: var(--rf-shadow-lg);
	padding: .5rem 0;
	margin-top: 0;
	min-width: 15rem;
}

.rf-navbar .dropdown-item {
	font-weight: 500;
	font-size: .92rem;
	padding: .55rem 1.1rem;
	color: var(--rf-text);
}

.rf-navbar .dropdown-item:hover,
.rf-navbar .dropdown-item:focus {
	background: rgba(0, 147, 201, .08);
	color: var(--rf-primary);
}

.rf-navbar .navbar-toggler {
	border-color: rgba(255, 255, 255, .4);
	margin: .5rem 0;
}

.rf-navbar .navbar-toggler:focus {
	box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.rf-navbar .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Desktop: open dropdowns on hover */
@media (min-width: 992px) {
	.rf-navbar .dropdown:hover > .dropdown-menu,
	.rf-navbar .dropdown > .dropdown-menu:hover {
		display: block;
	}
}

/* ---------- Slider ---------- */

.rf-slider {
	position: relative;
	overflow: hidden;
	background: var(--rf-primary-dark);
	aspect-ratio: 21 / 9;
	width: calc(100% - 1.5rem);
	margin-inline: auto;
	max-height: 540px;
}

/* Gleiche Breite wie .container (Bootstrap-Breakpoints) */
@media (min-width: 576px) { .rf-slider { max-width: 540px; } }
@media (min-width: 768px) { .rf-slider { max-width: 720px; } }
@media (min-width: 992px) { .rf-slider { max-width: 960px; } }
@media (min-width: 1200px) { .rf-slider { max-width: 1140px; } }
@media (min-width: 1400px) { .rf-slider { max-width: 1320px; } }

.rf-slides,
.rf-slide {
	position: absolute;
	inset: 0;
}

.rf-slide {
	opacity: 0;
	transition: opacity .7s ease;
	pointer-events: none;
}

.rf-slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 2;
}

.rf-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rf-slide-img-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Arrows */

.rf-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: rgba(10, 25, 55, .45);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: background-color .18s ease;
}

.rf-arrow:hover {
	background: var(--rf-accent);
}

.rf-prev { left: 1rem; }
.rf-next { right: 1rem; }

/* Dots */

.rf-dots {
	position: absolute;
	bottom: .9rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 4;
	display: flex;
	gap: .5rem;
}

.rf-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, .85);
	background: transparent;
	padding: 0;
	cursor: pointer;
	transition: background-color .18s ease, transform .18s ease;
}

.rf-dot.is-active,
.rf-dot:hover {
	background: #fff;
	transform: scale(1.15);
}

/* CTA-GIF ueber dem Slider (wie beim alten Theme: top/right 2em) */

.rf-cta-gif {
	position: absolute;
	top: 2em;
	right: 2em;
	z-index: 5;
	display: block;
	width: 313px;
	max-width: 42%;
	line-height: 0;
}

.rf-cta-gif img {
	width: 100%;
	height: auto;
}

.rf-cta-gif:hover {
	opacity: .92;
}

/* ---------- Sections ---------- */

.rf-section {
	padding: 3rem 0;
}

.rf-section + .rf-section {
	padding-top: 0;
}

/* ---------- Services grid ---------- */

.rf-services {
	padding-top: 2.5rem;
}

.rf-service-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: .35rem;
	height: 100%;
	background: #fff;
	border: 1px solid var(--rf-border);
	border-top: 4px solid var(--rf-primary);
	border-radius: var(--rf-radius);
	padding: 1.6rem 1rem 1.4rem;
	text-decoration: none;
	color: var(--rf-text);
	transition: transform .18s ease, box-shadow .18s ease, border-top-color .18s ease;
}

a.rf-service-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--rf-shadow-lg);
	border-top-color: var(--rf-accent);
	color: var(--rf-text);
}

/* Zeigt wie im alten Theme nur die obere Haelfte des 203x200-Kompositbilds
   (Icon bzw. Foto — die Assets sind abwechselnd gebaut). */
.rf-service-media {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 100px;
	overflow: hidden;
	margin-bottom: .6rem;
}

.rf-service-icon-img {
	flex: none;
	width: 203px;
	height: 200px;
	transition: transform .3s ease;
}

a.rf-service-card:hover .rf-service-icon-img {
	transform: translateY(-100px);
}

a.rf-service-card:hover .rf-service-title {
	color: var(--rf-accent);
}

.rf-service-title {
	font-weight: 700;
	font-size: 1.1rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rf-primary);
	line-height: 1.25;
}

.rf-service-label {
	font-size: .82rem;
	color: var(--rf-muted);
	line-height: 1.35;
}

/* ---------- Text band ---------- */

.rf-band {
	background: linear-gradient(135deg, var(--rf-primary) 0%, var(--rf-primary-dark) 100%);
	color: #fff;
	padding: 2.75rem 0;
}

.rf-band-text {
	max-width: 60rem;
	margin: 0 auto;
	text-align: center;
	font-size: 1.08rem;
	line-height: 1.65;
}

.rf-band-text a {
	color: #8fd3ee;
}

.rf-band-text p:last-child {
	margin-bottom: 0;
}

/* ---------- Page hero / content ---------- */

.rf-page-hero {
	background: linear-gradient(135deg, var(--rf-primary) 0%, var(--rf-primary-dark) 100%);
	color: #fff;
	padding: 2.4rem 0;
}

.rf-page-title {
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 800;
	margin: 0;
}

.rf-page-title span {
	color: #8fd3ee;
}

.rf-page-body {
	padding: 2.75rem 15px 3.5rem;
}

.rf-page-hero .container {
	padding-inline: 15px;
}

.entry-content {
	font-size: 1.02rem;
	line-height: 1.7;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	color: var(--rf-primary);
	font-weight: 700;
	margin: 1.6rem 0 .8rem;
}

.entry-content h1 { font-size: 1.9rem; }
.entry-content h2 { font-size: 1.55rem; }
.entry-content h3 { font-size: 1.25rem; }

.entry-content img {
	border-radius: 8px;
}

.entry-content .wp-caption,
.entry-content .gallery {
	margin-bottom: 1.2rem;
}

/* ---------- WP core galleries ---------- */

.gallery {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 1.4rem 0;
}

.gallery .gallery-item {
	margin: 0;
	flex: 0 0 100%;
	max-width: 100%;
}

.gallery-columns-2 .gallery-item { flex-basis: calc(50% - .3rem); max-width: calc(50% - .3rem); }
.gallery-columns-3 .gallery-item { flex-basis: calc(33.333% - .4rem); max-width: calc(33.333% - .4rem); }
.gallery-columns-4 .gallery-item { flex-basis: calc(25% - .45rem); max-width: calc(25% - .45rem); }
.gallery-columns-5 .gallery-item { flex-basis: calc(20% - .48rem); max-width: calc(20% - .48rem); }
.gallery-columns-6 .gallery-item { flex-basis: calc(16.666% - .5rem); max-width: calc(16.666% - .5rem); }
.gallery-columns-7 .gallery-item { flex-basis: calc(14.285% - .5rem); max-width: calc(14.285% - .5rem); }
.gallery-columns-8 .gallery-item { flex-basis: calc(12.5% - .53rem); max-width: calc(12.5% - .53rem); }
.gallery-columns-9 .gallery-item { flex-basis: calc(11.111% - .53rem); max-width: calc(11.111% - .53rem); }

.gallery .gallery-icon {
	display: block;
}

.gallery .gallery-icon a {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--rf-shadow);
	transition: transform .18s ease, box-shadow .18s ease;
}

.gallery .gallery-icon a:hover {
	transform: translateY(-3px);
	box-shadow: var(--rf-shadow-lg);
}

.gallery .gallery-icon img {
	display: block;
	width: 100%;
	height: auto;
}

.gallery .gallery-caption {
	display: block;
	font-size: .8rem;
	color: var(--rf-muted);
	text-align: center;
	padding: .4rem .2rem 0;
}

@media (max-width: 575.98px) {
	.gallery .gallery-item {
		flex-basis: calc(50% - .3rem) !important;
		max-width: calc(50% - .3rem) !important;
	}
}

/* ---------- Lightbox ---------- */

.rf-lb {
	position: fixed;
	inset: 0;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(8, 16, 36, .92);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility .2s ease;
}

.rf-lb.is-open {
	opacity: 1;
	visibility: visible;
}

body.rf-lb-open {
	overflow: hidden;
}

.rf-lb-figure {
	margin: 0;
	max-width: 92vw;
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: pointer;
}

.rf-lb-img {
	max-width: 92vw;
	max-height: 82vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
	cursor: default;
}

.rf-lb-caption {
	color: #cfd8ea;
	font-size: .9rem;
	padding-top: .8rem;
	text-align: center;
}

.rf-lb-close {
	position: absolute;
	top: 1rem;
	right: 1.25rem;
	z-index: 2;
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1;
	cursor: pointer;
	padding: .25rem .6rem;
}

.rf-lb-close:hover {
	color: var(--rf-accent);
}

.rf-lb-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 1.7rem;
	line-height: 1;
	display: grid;
	place-items: center;
	cursor: pointer;
	transition: background-color .18s ease;
}

.rf-lb-arrow:hover {
	background: var(--rf-accent);
}

.rf-lb-prev { left: 1rem; }
.rf-lb-next { right: 1rem; }

.gallery .gallery-icon a {
	cursor: zoom-in;
}

@media (max-width: 575.98px) {
	.rf-lb-arrow {
		width: 38px;
		height: 38px;
		font-size: 1.3rem;
	}
	.rf-lb-prev { left: .4rem; }
	.rf-lb-next { right: .4rem; }
}

.rf-page-thumb {
	margin-bottom: 1.4rem;
	aspect-ratio: 656 / 300;
	overflow: hidden;
	border-radius: var(--rf-radius);
}

.rf-page-thumb img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* ---------- Sidebar widgets ---------- */

.rf-widget {
	background: #fff;
	border: 1px solid var(--rf-border);
	border-radius: var(--rf-radius);
	padding: 1.25rem 1.35rem;
	margin-bottom: 1.5rem;
	box-shadow: var(--rf-shadow);
}

.rf-widget-title {
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--rf-primary);
	margin: 0 0 .9rem;
	padding-bottom: .6rem;
	border-bottom: 3px solid var(--rf-accent);
}

.rf-widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rf-widget ul li {
	padding: .35rem 0;
	border-bottom: 1px solid var(--rf-border);
	font-size: .92rem;
}

.rf-widget ul li:last-child {
	border-bottom: 0;
}

.rf-widget a {
	color: var(--rf-text);
	text-decoration: none;
}

.rf-widget a:hover {
	color: var(--rf-accent);
}

.rf-widget .widgettitle,
.rf-widget .widget-title {
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--rf-primary);
}

/* Category posts widget images */
.rf-widget img {
	border-radius: 8px;
}

/* Media-Image-Widget: Bild fuellt die Box proportional */
.rf-widget.widget_media_image {
	padding: 0;
	overflow: hidden;
}

.rf-widget.widget_media_image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

/* ---------- Post cards ---------- */

.rf-post-card {
	border: 1px solid var(--rf-border);
	border-radius: var(--rf-radius);
	overflow: hidden;
	margin-bottom: 1.5rem;
	box-shadow: var(--rf-shadow);
}

.rf-post-card-title {
	font-size: 1.25rem;
	font-weight: 700;
}

.rf-post-card-title a {
	color: var(--rf-primary);
	text-decoration: none;
}

.rf-post-card-title a:hover {
	color: var(--rf-accent);
}

.rf-post-card-img {
	height: 100%;
	object-fit: cover;
}

.rf-post-excerpt {
	color: var(--rf-text);
	margin-bottom: 1rem;
}

/* ---------- Pagination ---------- */

.rf-pagination {
	margin: 2rem 0;
}

.rf-pagination .page-numbers {
	display: inline-block;
	min-width: 2.4rem;
	text-align: center;
	padding: .45rem .7rem;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--rf-border);
	color: var(--rf-primary);
	text-decoration: none;
	font-weight: 600;
}

.rf-pagination .page-numbers.current,
.rf-pagination .page-numbers:hover {
	background: var(--rf-primary);
	color: #fff;
	border-color: var(--rf-primary);
}

/* ---------- Comments ---------- */

.rf-comments {
	margin-top: 2.5rem;
	background: #fff;
	border: 1px solid var(--rf-border);
	border-radius: var(--rf-radius);
	padding: 1.5rem 1.75rem;
}

.rf-comments-title {
	font-size: 1.2rem;
	color: var(--rf-primary);
}

.rf-comment-list {
	list-style: none;
	padding: 0;
}

.rf-comment-list .comment-body {
	padding: 1rem 0;
	border-bottom: 1px solid var(--rf-border);
}

.rf-comment-list .children {
	list-style: none;
	padding-left: 2rem;
}

.rf-comment-list .comment-author {
	display: flex;
	align-items: center;
	gap: .6rem;
	font-weight: 600;
}

.rf-comment-list .avatar {
	border-radius: 50%;
}

.rf-comment-form input[type="text"],
.rf-comment-form input[type="email"],
.rf-comment-form input[type="url"] {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	border: 1px solid var(--rf-border);
	border-radius: 8px;
}

/* ---------- Footer ---------- */

.rf-footer-widgets {
	background: var(--rf-primary-dark);
	color: #cfd8ea;
	padding: 3rem 0 2rem;
}

.rf-footer-widgets .rf-widget {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
	color: #cfd8ea;
}

.rf-footer-widgets .rf-widget-title,
.rf-footer-widgets .widgettitle,
.rf-footer-widgets .widget-title {
	color: #fff;
	border-bottom-color: var(--rf-accent);
}

.rf-footer-widgets a {
	color: #cfd8ea;
}

.rf-footer-widgets a:hover {
	color: #8fd3ee;
}

.rf-footer-widgets ul li {
	border-bottom-color: rgba(255, 255, 255, .1);
}

.rf-footer {
	background: var(--rf-primary);
	color: #cfd8ea;
	padding: 1.2rem 0;
	font-size: .9rem;
}

.rf-footer-text p {
	margin: 0;
}

.rf-footer-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem 1.1rem;
	margin: 0;
	padding: 0;
}

.rf-footer-menu a {
	color: #cfd8ea;
	text-decoration: none;
}

.rf-footer-menu a:hover {
	color: #fff;
	text-decoration: underline;
}

/* ---------- Misc ---------- */

.rf-post-nav {
	margin-top: 1.5rem;
	font-weight: 600;
}

.rf-tags {
	margin-top: 1.25rem;
}

.rf-tags a {
	display: inline-block;
	background: rgba(0, 147, 201, .1);
	color: var(--rf-accent-dark);
	border-radius: 999px;
	padding: .2rem .75rem;
	font-size: .8rem;
	font-weight: 600;
	text-decoration: none;
	margin-right: .25rem;
}

.rf-404-search {
	max-width: 30rem;
}

/* Contact Form 7 basics */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select {
	display: block;
	width: 100%;
	padding: .55rem .8rem;
	border: 1px solid var(--rf-border);
	border-radius: 8px;
	background: #fff;
	margin-bottom: .4rem;
}

.wpcf7 input[type="submit"] {
	background: var(--rf-primary);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: .6rem 1.6rem;
	font-weight: 600;
	cursor: pointer;
}

.wpcf7 input[type="submit"]:hover {
	background: var(--rf-accent);
}

.wpcf7-form > p {
	margin-bottom: .3rem;
}

.wpcf7-form > p:has(.wpcf7-form-control-wrap) {
	margin-bottom: 1rem;
}

.wpcf7-form > p:has(.wpcf7-submit) {
	margin-top: 1.25rem;
	margin-bottom: 0;
}

/* ---------- Legacy column shortcodes ---------- */

.rf-sc-col {
	float: left;
	padding: 0 1.25rem 1rem 0;
	box-sizing: border-box;
}

.rf-sc-col.rf-last {
	padding-right: 0;
}

.rf-c12 { width: 50%; }
.rf-c13 { width: 33.3333%; }
.rf-c23 { width: 66.6666%; }
.rf-c14 { width: 25%; }
.rf-c34 { width: 75%; }
.rf-c15 { width: 20%; }
.rf-c25 { width: 40%; }
.rf-c35 { width: 60%; }
.rf-c45 { width: 80%; }
.rf-c11 { width: 100%; float: none; }

.rf-sc-clear,
.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 767.98px) {
	.rf-sc-col {
		float: none;
		width: 100%;
		padding-right: 0;
	}
}

/* WP alignment helpers */
.alignleft { float: left; margin: .3rem 1.2rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.2rem; }
.aligncenter { display: block; margin: 1rem auto; }
.alignfull { width: 100%; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}

/* ---------- Responsive ---------- */

@media (max-width: 991.98px) {
	.rf-header .container {
		flex-wrap: wrap;
	}

	.rf-header-right {
		order: 3;
		width: 100%;
	}

	.rf-tagline {
		font-size: .85rem;
	}

	.rf-navbar .navbar-nav {
		padding-bottom: .75rem;
	}

	.rf-navbar .nav-link {
		padding: .65rem 1rem;
	}

	.rf-navbar .dropdown-menu {
		box-shadow: none;
		border-radius: 0;
		background: rgba(255, 255, 255, .06);
	}

	.rf-navbar .dropdown-item {
		color: #dde5f2;
	}
}

@media (max-width: 575.98px) {
	.rf-slider {
		aspect-ratio: 16 / 10;
	}

	.rf-cta-gif {
		top: .75rem;
		right: .75rem;
		max-width: 55%;
	}

	.rf-arrow {
		width: 34px;
		height: 34px;
		font-size: 1.2rem;
	}

	.rf-logo-img {
		max-height: 60px;
	}

	.rf-partner-logo {
		max-height: 44px;
	}

	.rf-service-title {
		letter-spacing: normal;
	}
}

