:root {
	--global-color-rds-primary: #043f75;
	--global-color-rds-primary-rgba: rgba(4, 63, 117, 1);
	--global-color-rds-primary-hover: #366591;
	--global-color-rds-primary-dark: #021c3d;
	--global-color-rds-secondary: #d2deea;
	--global-color-rds-secondary-rgba: rgba(210, 222, 234, 1);
	--global-color-rds-secondary-hover: #e3ebf2;
	--global-color-rds-text: #333;
	--global-color-rds-palette-1: #bcdeec; /*#adcad6;*/
	--global-color-rds-palette-1-rgba: rgba(173, 202, 214, 1);
	--global-color-rds-palette-2: #1a7d99;
	--global-color-rds-palette-2-rgba: rgba(88, 199, 231, 1);
	--global-color-rds-palette-3: #004151; /*#41bbd9;*/
	--global-color-rds-palette-3-rgba: rgba(65, 187, 217, 1);
	--global-color-rds-palette-4: #d3deea;
	--global-color-rds-palette-4-rgba: rgba(211, 222, 234, 1);
	--global-color-rds-transparent-1-rgba: rgba(4, 63, 117, 0.75);
	--global-color-rds-transparent-2-rgba: rgba(4, 63, 117, 0.5);
	--global-color-rds-transparent-3-rgba: rgba(4, 63, 117, 0.25);
	--global-color-rds-primary-bg-contrast: #002546;
}

hr {
  border: none;
  height: 1px;
  background-color: #ccc !important;
  margin: 16px 0 !important;
}

.btn-100 p {
    margin:0;
}
.btn-100 a {
    display: block;
    position: relative;
    width: 100%;
    text-align: left;
    border-radius: 0;
    text-decoration: none;
}
.btn-100 a:hover {
    background-color: #f6f6f6;
}
.btn-100 a::before {
    position: absolute;
    right: 0;
    top: 0;
    font-family: "FontAwesome";
    content: '\f105';
    display: inline-block;
    padding-right: 4px;
}

/* COMPONENTS */


/* services */

#retelit-services-menu {
    text-align:center;
}

#retelit-services-menu a {
    display: inline-block;
    padding: 0 20px;
    text-transform:uppercase;
}


/* retelit-grid */
.retelit-grid-blue{
    overflow:hidden;
}

.retelit-grid-blue .elementor-heading-title {
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
    padding-bottom:20px;
}
.retelit-grid-blue .elementor-widget-container {
    font-size: 13px;
    line-height: 1.2;
}

.retelit-grid-blue .e-child {
    position:relative;
}
.retelit-grid-blue .e-child::after {
    content:'';
    position:absolute;
    top:10%;
    right:-1px;
    height:80%;
    width:1px;
    background-color: #fff;
}

@media (max-width: 1024px) {
    .retelit-grid-blue .elementor-heading-title {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .retelit-grid-blue .e-child::after {
        content:'';
        position:absolute;
        top:100%;
        right:10%;
        height:1px;
        width:80%;
        background-color: #fff;
    }
}

/* TITLES */

.h-rds {
	position: relative;
	color: var(--global-color-rds-primary);
}
.h-rds::before {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -2px;
	width: 120px;
	height: 1px;
	background-color: var(--global-color-rds-palette-1);
}
.h-rds::after {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -2px;
	width: 40px;
	height: 1px;
	background-color: var(--global-color-rds-primary);
}

.h-rds-2 {
	font-weight: 700;
}
.h-rds-2::before {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -4px;
	width: 120px;
	height: 3px;
	background-color: var(--global-color-rds-palette-1);
}
.h-rds-2::after {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -4px;
	width: 40px;
	height: 3px;
	background-color: var(--global-color-rds-primary);
}

.h-rds-3 {
	font-weight: 900;
}
.h-rds-3::before {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -5px;
	width: 120px;
	height: 5px;
	background-color: var(--global-color-rds-palette-1);
}
.h-rds-3::after {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -5px;
	width: 40px;
	height: 5px;
	background-color: var(--global-color-rds-primary);
}

.hn-1 >  * {
	position: relative;
	color: var(--global-color-rds-primary);
	margin-bottom: 30px !important;
	font-weight: 500 !important;
}
.hn-1 > ::before {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -10px;
	width: 120px;
	height: 1px;
	background-color: var(--global-color-rds-palette-1);
}
.hn-1 > ::after {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -10px;
	width: 40px;
	height: 1px;
	background-color: var(--global-color-rds-primary);
}
.hn-1.text-center > ::before {
	left: 50%;
	width: 50px;
}
.hn-1.text-center > ::after {
	left: calc(50% - 50px);
	width: 50px;
}
.hn-1.text-end > ::before {
	left: calc(100% - 120px);
	width: 120px;
}
.hn-1.text-end > ::after {
	left: calc(100% - 40px);
	width: 40px;
}

.hn-2 >  * {
	position: relative;
	color: var(--global-color-rds-primary);
	margin-bottom: 35px !important;
	font-weight: 700 !important;
}
.hn-2 > ::before {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -12px;
	width: 120px;
	height: 3px;
	background-color: var(--global-color-rds-palette-1);
}
.hn-2 > ::after {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -12px;
	width: 40px;
	height: 3px;
	background-color: var(--global-color-rds-primary);
}
.hn-2.text-center > ::before {
	left: 50% ;
	width: 50px;
}
.hn-2.text-center > ::after {
	left: calc(50% - 50px);
	width: 50px;
}
.hn-2.text-end > ::before {
	left: calc(100% - 120px);
	width: 120px;
}
.hn-2.text-end > ::after {
	left: calc(100% - 40px);
	width: 40px;
}

.hn-3 >  * {
	position: relative;
	color: var(--global-color-rds-primary);
	margin-bottom: 35px !important;
	font-weight: 900 !important;
}
.hn-3 > ::before {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -12px;
	width: 120px;
	height: 3px;
	background-color: var(--global-color-rds-palette-1);
}
.hn-3 > ::after {
	position: absolute;
	content: '';
	left: 0px;
	bottom: -12px;
	width: 40px;
	height: 3px;
	background-color: var(--global-color-rds-primary);
}
.hn-3.text-center > ::before {
	left: 50%;
	width: 50px;
}
.hn-3.text-center > ::after {
	left: calc(50% - 50px);
	width: 50px;
}
.hn-3.text-end > ::before {
	left: calc(100% - 120px);
	width: 120px;
}
.hn-3.text-end > ::after {
	left: calc(100% - 40px);
	width: 40px;
}

.hn-sm >  *{
    font-size:20px;
}

.hn-uppercase {
	text-transform: uppercase;
}

/* COMPONENTS */

/* press */

.rds-press-box-first .e-con-inner {
    position:relative;
} 
.rds-press-box-first .e-con-inner::after {
    z-index:0;
    position:absolute;
    display:block;
    content:'';
    width:100%;
    height:100%;
    left:-30px;
    bottom:-30px;
    background-color: #edeff2;
} 
.rds-press-box-first .rds-press-box-first-content {
    position:relative;
    z-index: 10;
} 
.rds-press-box-first .rds-press-box-first-date {
    font-size: .9rem;
    font-weight: 600;
    color: var(--global-color-rds-primary);

} 
.rds-press-box-first .rds-press-box-first-title {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--global-color-rds-primary);
} 
.rds-press-box-first .rds-press-box-first-img {
    position:relative;
    z-index: 10;
} 


.rds-press-box .rds-press-img {
    position:relative;
}
.rds-press-box .rds-press-img .elementor-widget-container {
    position:relative;
}
.rds-press-box .rds-press-img .elementor-widget-container img {
    position:relative;
    z-index: 10;
}
.rds-press-box .rds-press-img .elementor-widget-container::before {    
    z-index:0;
    position:absolute;
    display:block;
    content:'';
    width:100%;
    height:100%;
    left:-30px;
    bottom:-30px;
    background-color: #edeff2;
}
.rds-press-box .rds-press-date {
    font-size: .8rem;
    font-weight: 600;
    padding: 4px;
}
.rds-press-box .rds-press-title .elementor-heading-title  {
    display: block;
    width: 85%;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--global-color-rds-primary);
}

/* hero */
.rds-hero-page{
    height:400px;
}
.rds-hero-page .rds-hero-title {
    line-height: 1.1;
    font-weight: 300;
    font-size: 3.8rem;
    color:#fff;
}
.rds-hero-breadcrumbs  {
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: #fff !important;
}
.rds-hero-breadcrumbs a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    color: #fff !important;
    padding: 20px 20px 20px 0;
}
.rds-hero-breadcrumbs a::after {
    position: absolute;
    top: 21px;
    right: 5px;
    font-family: "FontAwesome";
    content: "\f105";
    display: inline-block;
}
.rds-hero-breadcrumbs .breadcrumb_last {
    display: inline-block;
    padding: 20px 0 20px 0;
}

@media (max-width: 767px) {
    .rds-hero-page .rds-hero-title {
        font-size: 2.8rem;
    }
}

/**/

.rds-card-icon i {
    font-size: 2rem;
    color: var(--global-color-rds-primary);
}

.rds-card-1 i {
    color:#fff;
    font-size:1.6rem;
    padding: 10px;
    width: auto !important;
    box-shadow: 0 .1875rem .4375rem 0 rgba(0,0,0,.13),0 .0625rem .125rem 0 rgba(0,0,0,.11);
}

.rds-card-2 {
  color: var(--global-color-rds-primary);
  background-color: #fff;
}
.rds-card-2::after {
  transition: all .2s ease;
  position: absolute;
  display: block;
  top: 3%;
  left: -8px;
  content: '';
  width: 16px;
  height: 94%;
  border-radius: 3px;
  background-color: var(--global-color-rds-primary);
  transform: skewY(10deg);
}
.rds-card-2 .title * {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 16px;
    text-transform: uppercase;
}
.rds-card-2 .subtitle {
    font-size: 1.1rem;
}

.rds-card-5::before {
    position: absolute;
    display: block;
    content: '';
    top: 0px;
    left: 0;
    width: 1px;
    height: 100%;
    border-left: dashed 2px #d9d9d9;
}
.rds-card-5::after {
    position: absolute;
    display: block;
    content: '';
    bottom: 1.15rem;
    left: 3.3rem;
    width: calc(100% - 4.6rem);
    height: 1px;
    border-bottom: dashed 2px #d9d9d9;
}
.rds-card-5 .card-body::before {
    position: absolute;
    display: block;
    top: 0rem;
    left: -40px;
    content: '';
    width: 32px;
    height: 25px;
    border-radius: 7px;
    background-color: var(--global-color-rds-primary);
    transform: rotate(-60deg);
}

/* FOOTER */

footer {
    border-top:solid 1px var(--global-color-rds-primary);
    font-size:12px;
}

footer a {
	position: relative !important;
    display: inline-block !important;
	color: #fff !important;
	text-decoration: none !important;
    transition: none !important;
}
footer a:hover {
	color: #fff !important;
	text-decoration: none;
    background-color: transparent !important;
    
    transition: none !important;
}

footer a:hover::after {
	position:absolute;
	bottom:10px !important;
	left:20px !important;
	content:'';
	height:0 !important;
	border-bottom:dashed 1px #fff;
    background-color: transparent !important;    
    transition: none !important;
    width: calc(100% - 40px) !important;
}

footer a::before {
    position: absolute !important;
    top: 12px;
    line-height: 20px;
    text-align: left !important;
    display: block !important;
    opacity:1 !important;
    background-color: transparent !important;    
    transition: none !important;
}
footer a:hover::before {
    position: absolute !important;
    top: 11px;
    line-height: 20px;
    text-align: left !important;
    display: block !important;
    opacity:1 !important;
    background-color: transparent !important;
    transition: none !important;
}

footer .rds-foot-bottom a {
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  opacity: .9;
  white-space: nowrap;
  height: 40px;
  display: inline-block !important;
}
footer .rds-foot-bottom a:hover::after {
  bottom: 14px !important;
  left: 0px !important;
  width: 100% !important;
}

footer .rds-identity a .retelit-logo {
	fill: var(--global-color-rds-primary);
	height: auto;
	width: 258px;
}
footer .rds-identity a:hover .retelit-logo {
	opacity: 0.8;
}

footer .rds-socials {
	padding-top:14px;
	text-align:right;
}
footer .rds-socials ul {
	display: inline-block;
	padding: 0;
	margin: 0;
	list-style: none;
}
footer .rds-socials ul li {
	display: inline-block;
	margin-right: 15px;
	font-size: 40px;
}
footer .rds-socials ul li a {
	color: var(--global-color-rds-primary) !important;
	text-decoration: none;
}
footer .rds-socials ul li a:hover {
	opacity:0.8;
}

.rds-default-form-sticky-button {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 99999;

	display: flex;
	align-items: center;

	height: 62px;

	color: #fff;
	text-decoration: none;
	font-family: inherit;

	filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.2));
}
/* Label chiusa di default */
.rds-default-form-sticky-label {
	box-sizing: border-box;

	display: flex;
	flex-direction: column;
	justify-content: center;

	width: 0;
	min-width: 0;
	height: 50px;
	margin-right: -12px;
	padding: 0;

	overflow: hidden;
	white-space: nowrap;

	background-color: #004477;
	color: #fff;
	line-height: 1.2;

	opacity: 0;
	transform: translateX(14px);
	pointer-events: none;

	transition:
		width 0.3s ease,
		padding 0.3s ease,
		opacity 0.2s ease,
		transform 0.3s ease,
		background-color 0.2s ease;
}
.rds-default-form-sticky-label strong {
	display: block;
	margin: 0 0 3px;

	color: #fff;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.15;
}
.rds-default-form-sticky-label > span {
	display: block;

	color: #fff;

	font-size: 13px;
	font-weight: 400;
	line-height: 1.15;
}
/* Icona circolare */
.rds-default-form-sticky-icon {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 62px;
	width: 62px;
	height: 62px;

	border-radius: 50%;
	background-color: #004477;
	color: #fff;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}
.rds-default-form-sticky-icon svg {
	display: block;

	width: 21px;
	height: 21px;

	fill: currentColor;
}
/* Apertura label su hover o tastiera */
.rds-default-form-sticky-button:hover .rds-default-form-sticky-label,
.rds-default-form-sticky-button:focus-visible .rds-default-form-sticky-label {
	width: 180px;
	padding: 7px 28px 7px 12px;

	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}
/* Stati hover */
.rds-default-form-sticky-button:hover,
.rds-default-form-sticky-button:focus,
.rds-default-form-sticky-button:focus-visible {
	color: #fff;
	text-decoration: none;
}
.rds-default-form-sticky-button:hover .rds-default-form-sticky-label,
.rds-default-form-sticky-button:hover .rds-default-form-sticky-icon,
.rds-default-form-sticky-button:focus-visible .rds-default-form-sticky-label,
.rds-default-form-sticky-button:focus-visible .rds-default-form-sticky-icon {
	background-color: #00365f;
}
.rds-default-form-sticky-button:hover .rds-default-form-sticky-icon {
	transform: scale(1.03);
}
.rds-default-form-sticky-button:focus-visible {
	outline: 3px solid rgba(0, 68, 119, 0.35);
	outline-offset: 4px;
}
/* Mobile */
@media (max-width: 767px) {
	.rds-default-form-sticky-button {
		right: 12px;
		bottom: 12px;
		height: 54px;
	}

	.rds-default-form-sticky-label {
		height: 46px;
	}

	.rds-default-form-sticky-icon {
		flex-basis: 54px;
		width: 54px;
		height: 54px;
	}

	.rds-default-form-sticky-label strong,
	.rds-default-form-sticky-label > span {
		font-size: 12px;
	}

	.rds-default-form-sticky-button:hover .rds-default-form-sticky-label,
	.rds-default-form-sticky-button:focus-visible .rds-default-form-sticky-label {
		width: 160px;
		padding: 7px 24px 7px 12px;
	}
}
/* Riduce le animazioni per chi lo richiede */
@media (prefers-reduced-motion: reduce) {
	.rds-default-form-sticky-label,
	.rds-default-form-sticky-icon {
		transition: none;
	}
}

/* WPML */
.main-menu-wpml {
    padding-top:7px;
}
.main-menu-wpml .wpml-elementor-ls{
    width:64px;
    
}
.main-menu-wpml .wpml-elementor-ls * {
    border-color: transparent !important;    
}
.main-menu-wpml .wpml-ls-legacy-dropdown-click a {
    border-color: transparent !important;
    background-color: transparent !important;
}
.main-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 68%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #fff; /* freccia bianca */
}
.main-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 68%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #fff;
}
.main-menu-wpml #wpml-ls-submenu-click-default {
  background-color: #fff !important;
}
.header-retelit:hover .main-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after,
.header-retelit.open .main-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after,
.header-retelit.sticky .main-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  border-top: 6px solid #000;
}

.mobile-menu-wpml {
    position: absolute !important;
    top: 25px;
    right: 5px;
}
.mobile-menu-wpml .wpml-elementor-ls{
    width:64px;
    
}
.mobile-menu-wpml .wpml-elementor-ls * {
    border-color: transparent !important;    
}
.mobile-menu-wpml .wpml-ls-legacy-dropdown-click a {
    border-color: transparent !important;
    background-color: transparent !important;
}
.mobile-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 68%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #fff; /* freccia bianca */
}
.mobile-menu-wpml #wpml-ls-submenu-click-default {
  background-color: transparent !important;
}

.sticky .mobile-menu-wpml {
  top: 2px;
}
.sticky .mobile-menu-wpml .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  border-top: 6px solid #000; /* freccia bianca */
}

/* ELEMENTOR */

.swiper-slide-contents {
  margin-top: 100px !important;
}

.elementor-slides .swiper-slide-inner .elementor-slide-heading {
  font-weight: 300;
  margin-top: 0;
  margin-bottom: .5rem;
  line-height: 1.15;
  color: var(--bs-heading-color);
}

.elementor-slides .swiper-slide-inner .elementor-slide-heading {
  font-size: 4rem;
}
@media (max-width: 992px) {
  .elementor-slides .swiper-slide-inner .elementor-slide-heading {
    font-size: 3.5rem;
  }
}
@media (max-width: 768px) {
  .elementor-slides .swiper-slide-inner .elementor-slide-heading {
    font-size: 3rem;
  }
}
@media (max-width: 576px) {
  .elementor-slides .swiper-slide-inner .elementor-slide-heading {
    font-size: 2rem;
  }
}

.elementor-menu-toggle .e-font-icon-svg {
  fill: #fff;
}
.sticky .elementor-menu-toggle .e-font-icon-svg {
  fill: var(--global-color-rds-primary);
}

/* HELLO THEME ADJUSTEMT */

a {
  color: var(--global-color-rds-primary);
}

[type="button"]:focus, [type="button"]:hover, [type="submit"]:focus, [type="submit"]:hover, button:focus, button:hover {
  background-color: var(--global-color-rds-primary);
}

[type="button"], [type="submit"], button {
  border: 1px solid #fff;
}