.far,
.fas {
	font-family: "Font Awesome 6 Pro" !important;
}
span.elementor-edit-link-title {
	display: inline !important;
}
.admin-bar .main-header .sticky-header,
.admin-bar .is-open,
.admin-bar .search-popup-wrapper,
.admin-bar .tx-sideInfoWrapper,
.admin-bar .tx-header__default {
	top: 32px;
}
.tx-halfBg::after {
	position: absolute;
	background: #f5f7fa;
	top: 0;
	right: 0px;
	width: 100%;
	height: 64%;
	content: "";
	z-index: -1;
}
.title-none .elementor-icon-box-title {
	display: none;
}

.form-group .wpcf7-form-control-wrap {
	width: 100%;
}
.news-one .news-block_one:nth-child(1) .news-block_one-inner::before {
	display: none;
	border-top: 1px solid #ffffff3d;
}

.news-one .news-block_one:nth-child(1) .news-block_one-inner {
	border-top: 1px solid #ffffff6b;
}
.tna-cta-1-form .wpcf7-form-control-wrap {
    width: 100%;
}
.tna-header-2 ul li .sub-menu {
    padding: 15px 10px !important;
}

.tna-header-1-area:is(.main-header) .main-menu .navigation > li > ul li > a {
    padding: 10px 18px;
}

.tna-header-1-area:is(.main-header) .main-menu .navigation > li > ul li > a::before {
    top: 50%;
    transform: translateY(-50%);
}

.main-header .main-menu .navigation > li > ul > li.dropdown > a:after {
    top: 50%;
    transform: translateY(-50%);
    color: #000 !important;
    opacity: 1;
    visibility: visible;
}

.tna-header-2 ul li .sub-menu .sub-menu {
    top: 0% !important;
}

.flat_3 .flaticon-right-arrow::before {
	content: "\f109";
	font-family: flaticon_tna-icon !important;
}
.flat_3 .flaticon-right::before {
	content: "\f147" !important;
	font-family: flaticon_tna-icon !important;
}

.tx-formWrapper__styleOne .nice-select {
	padding: 0 20px;
	padding-left: 60px;
}

.header_style_four .tx-sideInfo-btn span {
    background: #fff;
}
.service-one_carousel-outer.hasNav .owl-nav div {
    color: #fff;
    background: linear-gradient(to left, #F98208 0%, #E410F2 100%);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
}
.service-one_carousel-outer.hasNav .owl-nav {
    display: flex;
    gap: 20px;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.header_style_five .tx-header-cta .inner-text p {
	margin-bottom: 0px;
}
/* box layout css */
@media (max-width: 1599px) {
	.tel-section-title h2 {
		font-size: 38px;
	}

	.tel-cta-pricing-area .cta-price h3 {
		font-size: 32px;
	}

	.tel-btn-1 a {
		font-size: 14px;
		padding: 14px 25px;
	}

	.tx-listItems__styleOne a {
		width: calc(100% - 28px);
		font-size: 13px;
	}

	.tx-listItems__styleOne li {
		flex-wrap: wrap;
	}

	.tel_price_img-area .price-plan-value h3 {
		font-size: 32px;
	}

	.tel_price__nav .tel_price__nav-item .tel_price__nav-title {
		font-size: 20px;
	}

	.tel-main-slider-item .tel-main-slider-text h1 {
		font-size: 50px;
	}

	.tel-main-slider-item .tel-main-slider-text .slider-pricing-btn-area .slider-pricing h3 {
		font-size: 36px;
	}

	.tel-slider-side {
		width: 70px;
	}

	.tel-slider-side .side-inner-text {
		font-size: 14px;
	}

	.tel-main-slider-text {
		padding-right: 0;
	}

	.tel-main-slider-item .tel-main-slider-img {
		max-width: 550px;
	}

	.tel-service-slide-item .service-text .more_icon {
		width: 65px;
		height: 65px;
	}

	.tel-service-slide-item .service-text .more_icon img {
		max-width: 28px;
	}

	.tel-service-slide-item .service-text {
		padding: 18px 25px;
	}

	.tel-service-pagination-carousel .tel-slider-arrow {width: 45px;height: 45px;font-size: 20px;}

	.tx-header.header_style_four .tel-header-content {
		margin-right: 100px;
	}
}
@media (max-width: 1440px) {
	.tx-header__styleDefault .tx-logo-wrapper {
		margin-left: 0px;
	}
	.tx-header__styleDefault .tx-wrapper {
		padding-right: 15px;
		padding-left: 15px;
	}
	.tx-header__styleDefault .tx-contact-info {
		padding-left: 20px;
	}
	.tx-header__styleDefault .tx-wrapper::after {
		max-width: 515px;
	}
	.tx-header__styleDefault .tx-wrapper::before {
		max-width: 950px;
	}
	.tx-header__styleDefault .tx-wraper.d-flex {
		justify-content: space-between;
	}
	.tel-main-slider-item .tel-main-slider-text .tel-slider-video-area h2,
	.tel-main-slider-item .tel-main-slider-text h1 {
		font-size: 60px;
	}

	.tel-main-slider-item .slider-side-img1 {
		left: -80px;
	}

	.tel-slide-video-btn {
		width: 250px;
	}

	.tel-main-slider-item
		.tel-main-slider-text
		.slider-pricing-btn-area
		.slider-pricing {
		margin-left: 20px;
	}
	.bg-size .elementor-background-overlay {
		background-size: 40% !important;
	}
	.tel-main-slider-text {
		padding-right:20px;
	}
}
@media (min-width: 1300px) {
	body.tx-boxed-layout {
		background-color: #f4f4f4;
		padding-top: 40px;
		padding-bottom: 40px;
		padding-right: 15px;
		padding-left: 15px;
	}
	.tx-boxed-layout .inner-wrapper {
		max-width: 1300px;
		margin: 0 auto;
	}
	.tx-boxed-layout .tx-container-fluid {
		padding: 0;
	}
	.tx-boxed-layout .tx-wrapper {
		padding-right: 10px;
		padding-left: 10px;
	}
}
@media (max-width: 1260px) {
	.tx-main-menu ul li:not(:last-child) {
		margin-left: 16px;
	}
	.tx-header__styleDefault .tx-wrapper {
		padding-right: 0;
	}
}

@media (max-width: 1199px) {
	.tna-header-2 .nav-outer {
		justify-content: center;
	}
	.tna-header-2 .inner-container {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	.tna-tranfer-header {
		position: absolute;
	}
	.tna-header-3 .nav-outer {
		justify-content: flex-end;
		padding-left: 20px;
	}
	.main-header.header-style-eight .mobile-nav-toggler{
		display: block;
		cursor: pointer;
		margin-right: 25px;
		font-size: 24px;
	}
	.tna-header-2 .inner-container {
		padding-top: 20px !important;
		padding-bottom: 19px !important;
	}
	.tna-header-3 .logo {
		padding: 25px 0;
	}
}
@media (max-width: 991px) {
	.tx-hero-slider__styleOne .tx-slideNav div {
		width: 50px;
		position: static;
		opacity: 1;
		visibility: visible;
		background: var(--theme-color);
		height: 50px;
		font-size: 16px;
	}
	.tx-hero-slider__styleOne .tx-slideNav {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px;
	}
	.tx-hero-slider__styleOne .tx-slidePagination__styleMiddle {
		bottom: 100px !important;
	}
	.tx-hero-slider__styleOne {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
	.tx-hero-slider__styleOne .tx-slideItem {
		background-size: cover !important;
	}
	.tna-header-2 .inner-container {
		padding-top: 25px !important;
		padding-bottom: 25px !important;
	}
	.tna-header-3 .logo {
		padding: 25px 0;
	}
}
@media (max-width: 782px) {
	.admin-bar .main-header .sticky-header,
	.admin-bar .is-open,
	.admin-bar .search-popup-wrapper,
	.admin-bar .tx-sideInfoWrapper,
	.admin-bar .tx-header__default {
		top: 46px;
	}
}

@media(max-width: 767px) {
    .tx-header__styleDefault .tx-wrapper::after {
    max-width: 150px;
}
}

@media (max-width: 600px) {
	.admin-bar .main-header .sticky-header,
	.admin-bar .is-open,
	.admin-bar .search-popup-wrapper,
	.admin-bar .tx-sideInfoWrapper,
	.admin-bar .tx-header__default {
		top: 0px;
	}
	.admin-bar .is-open {
		padding-top: 60px;
	}
}
.single-tf-header .tx-footer,
.single-tf-footer .tx-footer {
	display: none;
}
.single-tf-header .tx-header {
	position: static !important;
}
@media (max-width: 575px) {
	.tx-testimonial__styleTwo .tx-content {
		width: 100%;
	}
}

/* ─────────────────────────────────────────────────────────────────────────────
   ETV accessibility fixes — APPENDED. Nothing above this line was modified.
   telnet-custom.css loads after global.css and telnet-core.css, so equal-specificity
   rules here win on order.
   ───────────────────────────────────────────────────────────────────────────── */

/* [1] Hero stat badges sit directly on a photograph with no backdrop. The brand red
   #E10419 has a relative luminance of 0.1615, so (0.1615 + 0.05) / (L + 0.05) can
   never reach 4.5 for any L >= 0 — red on a darker backdrop is mathematically
   incapable of passing AA. Measured 1.01:1 over the tan rug at 834px, 1.15:1 at
   375px, 1.09:1 at 1920px. So: give the badge a dark scrim (which also rescues the
   white heading above it) and lift the small label to a lighter tint of the same
   hue, #ff8a95, which reaches 5.9:1 against that scrim. */
.tel-main-slider-item .tel-main-slider-text .slider-pricing-btn-area .slider-pricing,
.tel-slider-item-4 .tel-slider-text-4 .slider-btn-price .slider-pricing {
	padding: 10px 18px;
	border-radius: 12px;
	background: rgba(2, 6, 38, 0.78);
}

/* The theme paints the label two different ways depending on the slide template:
   a plain colour on <span>, and a clipped gradient with transparent text-fill on
   <p>. Override both so neither route re-introduces the unreadable red. */
.tel-main-slider-item .tel-main-slider-text .slider-pricing-btn-area .slider-pricing span,
.tel-main-slider-item .tel-main-slider-text .slider-pricing-btn-area .slider-pricing p,
.tel-slider-item-4 .tel-slider-text-4 .slider-btn-price .slider-pricing span,
.tel-slider-item-4 .tel-slider-text-4 .slider-btn-price .slider-pricing p {
	color: #ff8a95;
	-webkit-text-fill-color: #ff8a95;
}

/* [2] Restore a visible focus ring. global.css ships `* { outline: none }` plus
   `button, a:hover, a:focus, a:visited { outline: none }`, and telnet-core.css adds
   `*:focus { outline: none }` — between them they silence all 71 of the theme's own
   :focus rules. Verified before this fix by screenshotting a nav link focused and
   unfocused: the two images were byte-identical.
   This matters most on a TV browser, where the only way to navigate is a D-pad and
   the focus ring is the cursor. currentColor keeps the ring contrasting on the dark
   chrome and on the white article pages alike. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	/* !important is required, not stylistic: global.css ships
	   `button, a:hover, a:focus, a:visited { outline: none !important }`, and an
	   !important declaration beats a normal one whatever the specificity. Ours is
	   the same specificity (0,1,1) in a stylesheet that loads later, so between two
	   !important rules this one wins. :focus-visible keeps the ring off mouse
	   clicks. */
	outline: 3px solid currentColor !important;
	outline-offset: 3px !important;
}

/* [3] The nav's current item is painted in the brand red on the near-black header,
   which measures 4.00:1 against a 4.5 requirement — the one nav link a visitor is
   most likely to look for is the least readable one. #ff2d42 is the same hue a shade
   lighter and measures about 5.4:1 on that header; at a glance it is the same red. */
#menu-main-menu li.current-menu-item > a,
#menu-main-menu li.current_page_item > a,
.tx-mobileMmenu li.current-menu-item > a,
.tx-mobileMmenu li.current_page_item > a {
	color: #ff2d42;
}

/* [4] The theme switches to the hamburger below 1200px, which is Bootstrap's xl edge and a
   reasonable default — except an iPad Pro 11" in landscape is 1194px, so it lands six
   pixels inside the mobile treatment and a tablet with room for the whole menu gets a
   drawer instead. Measured with the nav forced visible at 1024, 1100 and 1194: the menu is
   548px wide with all seven items on one row and does not touch the logo or the header
   controls at any of them (the tightest gap, at 1024, is 35px). So the full nav comes back
   from 1024 up and the drawer keeps everything below that. */
@media (min-width: 1024px) and (max-width: 1199px) {
	.tx-header .tx-menu-wrapper,
	.tx-headerUnit .tx-menu-wrapper {
		display: flex !important;
	}
	#menu-main-menu {
		display: flex !important;
	}
	/* The drawer toggle is not inside .tx-menu-wrapper — it sits in the header's right-hand
	   controls and is driven by Bootstrap's own utilities, `.d-flex` plus `.d-xl-none`. So it
	   has to be matched on those classes, at a higher specificity than the bare `.d-flex`,
	   or the page shows a full menu and a hamburger at the same time. */
	.tx-sideInfo-btn.d-flex {
		display: none !important;
	}
}

/* [5] The hero slide paints its photograph straight onto the background with no overlay
   layer at all, so the white copy lands on whatever the picture happens to put there. At
   1440 and 1920 that is a sunlit wall and a wooden table, and the supporting sentence, the
   availability caveat and the step description all measure 3.86-4.19:1 against a 4.5
   requirement. A left-weighted gradient fixes the whole column at once and keeps the right
   two-thirds of the photograph — the part with the television in it — untouched.
   Scoped to 1200px and up: below that the text is centred over a different crop and every
   line already passes, so there is nothing to fix and no reason to darken it. */
@media (min-width: 1200px) {
	.tel-slider-item-4.bg_image::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(
			-90deg,
			rgba(2, 6, 38, 0.86) 0%,
			rgba(2, 6, 38, 0.66) 34%,
			rgba(2, 6, 38, 0.18) 58%,
			rgba(2, 6, 38, 0) 72%
		);
		pointer-events: none;
		z-index: 0;
	}
	.tel-slider-item-4.bg_image > .container {
		position: relative;
		z-index: 1;
	}
}

/* [4] Footer, last column. The three link columns start their first row 34px above the
   facts column, because the demo gave that one widget `margin: 035px 0 0 0` while the link
   widgets get `padding-top: 5px`. Four columns side by side that do not start on the same
   line read as a mistake, which it is. Matched to the link columns rather than nudged by eye. */
.elementor-188 .elementor-element.elementor-element-698abbb > .elementor-widget-container {
	/* !important because this file loads BEFORE post-188.css and the Elementor rule has the
	   same specificity, so on load order alone it wins. */
	margin-top: 0 !important;
}

/* [5] The two floating controls, swapped. The support widget ships
   `body:has(.etv-chatwoot-launcher) .tx-scrollup { bottom: max(88px, …) }` and parks itself at
   `bottom: max(16px, …)`, which puts back-to-top ABOVE the chat button. Chat is the one people
   reach for, so it takes the lower, closer slot and back-to-top sits above it.
   🔴 These two values are the widget's own, swapped. If a widget bump changes them, swap the
   new pair here rather than inventing numbers, or the buttons will overlap. */
body:has(.etv-chatwoot-launcher) .tx-scrollup {
	bottom: max(16px, env(safe-area-inset-bottom)) !important;
}
body:has(.etv-chatwoot-launcher) .etv-chatwoot-launcher {
	bottom: max(88px, calc(env(safe-area-inset-bottom) + 72px)) !important;
}
