/*
Template Name: LaunchPage
Author URI: https://themeforest.net/user/epic-themes
Author Name: Epic Themes
Version: 1.0
*/

/* --- TABLE OF CONTENT

01. GENERAL LAYOUT
02. MENU-NAV
03. FOOTER
04. HOME
05. TEAM
06. FEATURES
07. GALLERY
08. PRICING
09. CONTACT
10. OTHER ELEMENTS
		a. Buttons
		b. Testimonials
		c. Benefits List
		d. Fun Facts
		e. Dropcaps Features
11. MEDIA QUERIES

--- */

/* ========================================================== */
/* 			               01. GENERAL LAYOUT                 */
/* ========================================================== */

ul {
	padding: 0;
}

ul, ol {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
	color:black;
	font-size: 14px;
	line-height:24px;
	margin-bottom:20px;
}

ul li, ol li{
	font-size: 17px;
	line-height: 28px;
	font-family: 'Open Sans', sans-serif;
	list-style-type: none;
}

ul li i{
	vertical-align: middle;
	padding-right: 5px;
}

p {
	font-size: 17px;
    line-height: 28px;
	font-weight: 400;
	color: black;
	margin-bottom:20px;
	font-family: 'Open Sans', sans-serif;
}

a,
a:hover,
a:focus,
a:active,
a:visited {
	text-decoration: none;
	outline: 0;
	color: #00bfff;
}

a:hover{
	color: #00bfff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Montserrat', sans-serif;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom:20px;
  color: black;
  font-weight: 700;
}

h1 {
	font-size: 45px;
}

h2 {
	font-size: 35px;
}

h3 {
	font-size: 32px;
}

h4 {
	font-size: 26px;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 18px;
}

h2.section-title {
    margin-bottom: 10px;
}

p.section-subtitle{
	font-size:18px;
}

p.section-subtitle.white{
	color:#ffffff;
}

p.section-subtitle.black{
	color:#252525;
}

iframe {
    max-width: 100%;
    border: none;
}

.iframe-youtube{
    position: relative;
    margin-top: 30px;
    z-index: 100;
}

.iframe-youtube iframe{
    padding: 10px 10px;
    box-shadow: 0 15px 36px rgba(0, 0, 0, 0.20);
    background-color: #fff;
    webkit-border-radius: 8px 8px;
    -moz-border-radius: 8px 8px;
    border-radius: 8px 8px;
    z-index: 100;
}

.popup-gallery:hover .video-popup-image{
	opacity: 1;

}

.video-play-icon {
	position: absolute;
	z-index: 100;
	top: 50%;
	left: 50%;
	margin-top: -45px;
	margin-left: -45px;
    width: 90px;
    height: 90px;
    line-height: 90px;
    text-align: center;
    font-size: 40px;
    color: #007bff;
    background-color: rgba(0, 123, 255, 0.70);
    border-radius: 50% 50%;
    display: inline-block;
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.video-play-icon:hover {
    background-color: rgba(0, 123, 255, 0.99);
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.video-play-icon i {
    color: #fff;
}

.white-text{
	color: #fff;
}

.red {
    color: #e52f37;
}

.strong{
	font-weight: bold;
}

.section-bg-1{
    background: url(../images/bg100.jpg); 
    background-position: top center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    width: 100%;
    position: relative;
    padding: 110px 0;
}

.section-bg-2{
    background: url(../images/bg100.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    width: 100%;
    position: relative;
    padding: 120px 0;
}

.section-bg-3{
    background: url(../images/bg100.jpg);
    background-position: top center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    width: 100%;
    position: relative;
    padding: 140px 0;
}

.section-bg-overlay{
	width: 100%;
	background: #5B21B6;
	opacity: 0.95;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.section-white {
	background: #fff;
	padding: 90px 0 100px 0;
}

.section-grey{
	background: #5a21b609;
	padding: 90px 0 100px 0;
}

.section-red {
	background: #e52f37;
	padding: 90px 0 100px 0;
}

.section-white.no-padding, .section-grey.no-padding, .section-red.no-padding {
	padding:0;
}

.section-white.medium-paddings, .section-grey.medium-paddings, .section-red.medium-paddings {
	padding: 60px 0;
}

.section-white.small-paddings, .section-grey.small-paddings, .section-red.small-paddings {
	padding: 30px 0;
}

.section-white.xsmall-paddings, .section-grey.xsmall-paddings, .section-red.xsmall-paddings {
	padding: 10px 0;
}

.section-white.small-padding-top, .section-grey.small-padding-top, .section-red.small-padding-top {
	padding: 30px 0 90px 0;
}

.section-white.small-padding-bottom, .section-grey.small-padding-bottom, .section-red.small-padding-bottom {
	padding: 90px 0 70px 0;
}

.section-white.no-padding-bottom, .section-grey.no-padding-bottom, .section-red.no-padding-bottom {
	padding: 90px 0 0 0;
}

.small-col-inside{
	margin: 90px 0;
	max-width: 575px;
	padding-left: 55px;
}

.width-100{
	width: 100%;
}

.box-shadow {
	border-radius: 8px;
    box-shadow: 0px 8px 40px 0 rgba(0, 0, 0, 0.15);
}

.image-shadow {
	border-radius: 8px 8px;
	box-shadow: 10px 12px 40px rgba(0, 0, 0, 0.2);
}

/* margin and padding classes */

.margin-right-15 {
	margin-right: 15px;
}

.margin-left-15 {
	margin-left: 15px;
}

.margin-right-25 {
	margin-right: 25px !important;
}

.margin-left-25 {
	margin-left: 25px !important;
}

.margin-left-20 {
	margin-left: 20px !important;
}

.margin-top-120 {
	margin-top: 120px !important;
}

.margin-top-110 {
	margin-top: 110px !important;
}

.margin-top-100 {
	margin-top: 100px !important;
}

.margin-top-90 {
	margin-top: 90px !important;
}

.margin-top-80 {
	margin-top: 80px !important;
}

.margin-top-70 {
	margin-top: 70px !important;
}

.margin-top-60 {
	margin-top: 60px !important;
}

.margin-top-50 {
	margin-top: 50px !important;
}

.margin-top-40 {
	margin-top: 40px !important;
}

.margin-top-35 {
	margin-top: 35px !important;
}

.margin-top-30 {
	margin-top: 30px !important;
}

.margin-top-20 {
	margin-top: 20px !important;
}

.margin-top-10 {
	margin-top: 10px !important;
}

.margin-top-5 {
	margin-top: 5px !important;
}

.margin-bottom-0 {
	margin-bottom: 0px !important;
}

.margin-bottom-5{
	margin-bottom: 5px;
}

.margin-bottom-10 {
	margin-bottom: 10px !important;
}

.margin-bottom-20 {
	margin-bottom: 20px !important;
}

.margin-bottom-30 {
	margin-bottom: 30px !important;
}

.margin-bottom-40 {
	margin-bottom: 40px !important;
}

.margin-bottom-50 {
	margin-bottom: 50px !important;
}

.margin-bottom-60 {
	margin-bottom: 60px !important;
}

.margin-bottom-70 {
	margin-bottom: 70px !important;
}

.margin-bottom-80 {
	margin-bottom: 80px !important;
}

.margin-bottom-100 {
	margin-bottom: 100px !important;
}

.margin-bottom-120 {
	margin-bottom: 120px !important;
}

.margin-bottom-130 {
	margin-bottom: 120px !important;
}

.margin-bottom-140 {
	margin-bottom: 140px !important;
}

.padding-top-0 {
	padding-top: 0px !important;
}

.padding-top-10 {
	padding-top: 10px !important;
}

.padding-top-20 {
	padding-top: 20px !important;
}
.padding-top-25 {
	padding-top: 25px !important;
}

.padding-top-30 {
	padding-top: 30px !important;
}

.padding-top-35 {
	padding-top: 35px !important;
}

.padding-top-40 {
	padding-top: 40px !important;
}

.padding-top-45 {
	padding-top: 45px !important;
}

.padding-top-50 {
	padding-top: 50px !important;
}
.padding-top-60 {
	padding-top: 60px !important;
}

.padding-top-70 {
	padding-top: 70px !important;
}

.padding-top-80 {
	padding-top: 80px !important;
}

.padding-top-100 {
	padding-top: 100px !important;
}

.padding-top-120 {
	padding-top: 120px !important;
}

.padding-top-150 {
	padding-top: 150px !important;
}

.padding-bottom-70 {
	padding-bottom: 70px !important;
}

.padding-bottom-60 {
	padding-bottom: 60px !important;
}

.padding-bottom-50 {
	padding-bottom: 50px !important;
}

.padding-bottom-40 {
	padding-bottom: 40px !important;
}

.padding-bottom-30 {
	padding-bottom: 30px !important;
}

.padding-bottom-20 {
	padding-bottom: 20px !important;
}

.padding-bottom-10 {
	padding-bottom: 10px !important;
}

.padding-bottom-0 {
	padding-bottom: 0px !important;
}

.margin-top-0 {
	margin-top: 0px !important;
}

.padding-left-20{
	padding-left: 20px;
}

/* ========================================================== */
/* 			               02. MENU-NAV                       */
/* ========================================================== */

.navbar-brand{
	font-family: 'Montserrat', sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #5b21b6;
}

.navbar-brand:hover{
	color: #5b21b6;
}

.navbar-fixed-top.opaque .navbar-brand{
	color: #5b21b6;
}

.navbar-fixed-top.opaque .navbar-brand:hover{
	color: #5b21b6;
}

.navbar {
	width: 100%;
	z-index: 9999;
	padding-top: 20px;
	padding-bottom: 20px;
}

.navbar-toggler {
    border: 1px solid #5b21b6;
}

.navbar-toggler-icon {
	width: 1.3em;
    height: 1.3em;
}

.navbar-toggler-icon i {
    color: #5b21b6;
    vertical-align: middle;
}

.navbar-fixed-top {
	position: absolute!important;
	background-color: #fff;
	border-bottom: none;
	transition: background-color 0.25s ease 0s;
}

.navbar-fixed-top.opaque {
	position: fixed!important;
	top: 0;
	margin-top: 0;
	background-color: #fff!important;
	border-bottom: 1px solid #efefef;
	box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.04)!important;
	transition: all 0.25s ease-in-out 0s;
}

.navbar-fixed-top .navbar-nav > li > a{
	color:black;
	font-size: 17px !important;
	line-height: 30px !important;
	padding: 10px 15px!important;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
}

.navbar-fixed-top.opaque .navbar-nav > li > a{
	color:black;
}

.navbar-fixed-top .navbar-nav > li > a:hover{
	color: #00bfff!important;
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-fixed-top.opaque .navbar-nav .current a {
    color:#00bfff!important;
     -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-fixed-top .navbar-nav > li > a.discover-btn {
	border: 1px solid #ff4500;
	color: #fff!important;
	background:#ff4500;
	padding: 12px 18px!important;
	margin-left: 10px;
	margin-right: 15px;
	font-family: 'Open Sans', sans-serif;
     -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-fixed-top .navbar-nav > li > a.discover-btn:hover {
	color: #ff4500!important;
	background: transparent;
	border: 1px solid #ff4500;
}

.navbar-fixed-top.opaque .navbar-nav > li > a.discover-btn {
	color: #fff!important;
	background: #ff4500;
	border: 1px solid #ff4500;
     -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar-fixed-top.opaque .navbar-nav > li > a.discover-btn:hover {
	border: 1px solid #ff4500;
	color: #ff4500!important;
	background: transparent;
}

/* ========================================================== */
/* 			                03. FOOTER                        */
/* ========================================================== */

.footer{
	position: relative;
	overflow: hidden;
    display: block;
    padding: 40px 0 20px 0;
    background-color: #fafbfc;
}

.footer p {
	margin-bottom: 5px;
	line-height: 24px;
	color: #454545;
}

.footer p > a {
	font-size: 17px;
	color: #e52f37;
	text-decoration:underline;
}

.footer p > a:hover {
	color: #e52f37;
	text-decoration:underline;
}

span.template-name{
	font-weight: bold;
}

a.footer-links {
    display: block;
    font-size: 17px;
    margin-bottom: 2px;
    color: #454545;
}

a.footer-links:hover {
	color: #e52f37;
	text-decoration:underline;
    transition: all .5s ease-in-out;
}

/* Footer Social Icons */
ul.footer_social{
	float: right;
}

ul.footer_social li{
	display:inline-block;
    margin:0 ;
	line-height:100%!important;
}

ul.footer_social li a i {
  display: inline-block;
  margin:0 8px;
  padding:0;
  font-size:26px!important;
  line-height: 26px!important;
  color: #1e90ff;
  transition: all .5s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -webkit-transition: all .25s ease-in-out;
}

ul.footer_social li a i.fa-twitter {
  color: #4099ff;
}

ul.footer_social li a i.fa-pinterest {
  color: #C92228;
}

ul.footer_social li a i.fa-facebook-square {
  color: #3b5998;
}

ul.footer_social li a i.fa-instagram {
  color: #8a3ab9;
}

ul.footer_social li a i.fa-skipe {
  color: #00aff0;
}

ul.footer_social li a i.fa-dribble {
  color: #ea4c89;
}

ul.footer_social li a i:hover {
	color:#e52f37!important;
}

/* ========================================================== */
/* 			               04. HOME                           */
/* ========================================================== */

.home-section {
	position: relative;
	z-index: 999;
  	padding-top: 140px;
  	padding-bottom: 110px;
  	background: url(../images/bg100.jpg) top center no-repeat; /* 1920 x 1150 */
	background-size: cover;
}

.home-section-overlay{
	width: 100%;
	background: #000;
	opacity: 0.5;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.home-section h1{
	margin-bottom: 20px;
	line-height: 1.2;
    color: #fff;
    text-shadow: 1px 1px #373737;
}

.home-section p.hero-text{
	margin-bottom: 35px;
	font-size: 20px;
	line-height: 30px;
	font-weight: 400;
	color: #fff;
	text-shadow: 1px 1px #373737;
}

/* -----  Hero Video PopUp ----- */
.popup-gallery-wrapper{
	position: relative;
	margin-top: 25px;
}

.hero-gallery{
	float: left;
}

.video-icon {
	float: left;
	width: 60px;
	height: 60px;
	background: #fff;
	border:2px solid #fff;
	border-radius: 50% 50%;
	display: inline-block;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.video-icon:before {
    content: '';
    width: 60px;
    height: 60px;
    position: absolute;
    border: 1px solid #fff;
    border-radius: 100%;
    left: 50%;
    margin-left: -30px;
    bottom: 10%;
    margin-bottom: -6px;
    -webkit-animation: doublePulsation 1.9s ease infinite;
    animation: doublePulsation 1.9s ease infinite;
    z-index: 0;
}

@-webkit-keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

@keyframes doublePulsation {
     0% {-webkit-transform: scale(1.0, 1.0); opacity: 0.0;}
    50% {opacity: 0.55;}
    100% {-webkit-transform: scale(1.3, 1.3); opacity: 0.0;}
}

.video-icon:hover{
	background: transparent;
}

.video-icon i {
	font-size: 26px;
	line-height: 56px;
	color:#e52a3d;
	margin-left: 18px;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

.video-icon:hover i{
	color: #fff;
}

.popup-video-text{
	float: left;
	padding-top: 15px;
	padding-left: 20px;
	font-size: 18px;
	line-height: 28px;
	color: #fff;
	text-decoration: underline;
    text-shadow: 1px 1px #656565;
}

/* -----  Register ----- */
.register-form-wrapper{
	margin-top: 25px;
	padding: 40px 40px;
	background: ;
	border-radius: 5px 5px;
}

.register-form-wrapper h3{
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: 500;
}

.register-form-wrapper p{
	margin-bottom: 25px;
	font-size: 17px;
}

input.register-input, select.register-input{
	width: 100%!important;
    height: 52px!important;
    padding-left: 11%!important;
    padding-right: 5%!important;
    margin-bottom: 15px!important;
    color: #555!important;
    border: 1px solid #f1f1f1!important;
    background-color: #f9f9f9!important;
    font-size: 16px!important;
    border-radius: 5px 5px 5px 5px!important;
}

input.name-input{
    background: url('../images/input-user.png') no-repeat 12px 15px;
}

input.name-email{
    background: url('../images/input-envelope.png') no-repeat 12px 15px;
}

select.register-input{
    background: url('../images/input-select.png') no-repeat 12px 15px;
}

input.register-submit{
	background: #e52f37;
    border: none;
    color: #fff;
    letter-spacing: 1px;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    width: 100%;
    max-width: 535px;
    padding: 16px 0;
    text-transform: uppercase;
    -webkit-border-radius: 3px 3px;
    -moz-border-radius: 3px 3px;
    border-radius: 3px 3px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}

input.register-submit:hover{
	background:#2745B3;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

#register-form input.register-input:focus, #register-form select.register-input:focus {
  border-color:#656565!important;
  color: #454545!important;
  outline: none;
}

#register-form input.register-input:focus, #register-form select.register-input:focus {
  border-color:#656565!important;
  color: #454545!important;
  outline: none;
}

p.register_success_box{
	display:inline-block;
	color:#2745B3;
	border: 1px solid #2745B3;
	padding: 25px 25px;
	font-size:19px;
	text-shadow: none;
	font-style:italic;
	border-radius: 8px 8px;
	margin:15px 0;
}

p.register-form-terms{
	margin: 10px 0 5px 0;
	font-size: 14px;
	color: #7c8595;
    text-shadow: none;
}

input.white-input::-webkit-input-placeholder,
select.white-input::-webkit-input-placeholder { /* WebKit browsers */
    color:#656565;
}
input.white-input:-moz-placeholder,
select.white-input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:#656565;
}
input.white-input::-moz-placeholder,
select.white-input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:#656565;
}
input.white-input:-ms-input-placeholder,
select.white-input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:#656565;
}

/* Pertners */
.partners-section {
    padding: 40px 0 20px 0;
    background-color: #fff;
}

.partners img.partners {
    opacity: 0.4;
    margin: 10px 15px;
    max-height: 55px;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}

.partners img.partners:hover {
    opacity: 0.8;
}

.partners-title{
	font-size: 18px;
	line-height: 78px;
	display: inline-block;
	margin-right: 15px;
}

/* ========================================================== */
/* 			               05. TEAM                           */
/* ========================================================== */

.team-item{
	padding: 10px 25px 30px 25px;
	background-color: #fff;
	border: 1px solid #e5efff;
	border-top: none;
    text-align: center;
    transition: all 1s;
	border-radius: 0 0 8px 8px;
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

.team-item h3{
	margin:20px 0 1px 0!important;
	color:#454545;
	font-size:18px;
	text-transform:uppercase;
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

.team-info {
	display: block;
	margin-bottom:0;
}

.team-info p{
	color:#acacac;
	font-style:italic;
}

.team-info::after {
    background: #e52f37;
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: 50px;
    height: 3px;
    margin-top: -20px;
}

.team-img{
	border-radius: 8px 8px 0 0;
}

/* ========================================================== */
/* 			                06. FEATURES                      */
/* ========================================================== */

.services-wrapper{
	position: relative;
}

.main-services {
	position: relative;
    margin: 10px 5px;
    overflow: hidden;
    text-align: center;
	transition:all 1s;
}

.main-services:hover{
	transform: scale(1.025);
	transition:all 1s;
}

.main-services img{
	width: 100%;
	max-width: 200px;
    margin-bottom: 10px;
    border-radius: 50%;
}

.main-services h3 {
	margin-bottom: 5px;
}

.main-services h3 a{
	font-size: 22px;
	font-weight: 700;
	color: #e52f37;
}

.main-services h4{
	margin-bottom: 10px;
	font-size: 21px;
	font-weight: 700;
}

.main-services p{
	padding: 0 10px;
	margin-bottom: 15px;
}

.main-services i {
    margin-bottom: 15px;
	display: inline-block;
    padding: 16px 16px;
    font-size: 40px;
    line-height: 46px;
    width: 75px;
    height: 75px;
    text-align: center;
    color: #fff;
    border-radius: 20px;
    background-color: #e52f37;
}

.main-services.red i {
    background-color: #e52f37;
}

.main-services.blue i {
    background-color: transparent;
}

.main-services.green i {
    background-color: #2745B3;
}

blockquote {
	font-size: 16px;
	color: #4285f4;
	border-left: 2px solid #4285f4;
}

.faq-box{
	margin: 30px 0 0 0;
	transition: all 1s;
}

.faq-box h4{
	font-size: 22px;
	margin-bottom: 10px;
}

.faq-box h5{
	margin-bottom: 7px;
}

.faq-box p{
	color: #7c8595;
}

/* Features */
.feature-box{
	overflow: hidden;
	margin: 40px 0 0 0;
}

.feature-box i{
	float: left;
	font-size: 50px;
	line-height: 50px;
	width: 55px;
	height: 55px;
	text-align: center;
	color: #50a0d2;
}

.feature-box.light-blue i{
    color: #50a0d2;
}

.feature-box.dark-blue i{
    color: #3473b8;
}

.feature-box.light-green i{
    color: #a9d129;
}

.feature-box.dark-green i{
    color: #87ac34;
}

.feature-box.orange i{
    color: #fe9c24;
}

.feature-box.light-red i{
    color: #fc6a3f;
}

.feature-box.pink i{
    color: #ea4c89;
}

.feature-box-text {
	float: left;
	width: 75%;
	margin-left: 30px;
}

.feature-box h4{
	font-size: 20px;
	margin-bottom: 10px;
}

.feature-box p{
	color: #7c8595;
}

/* ========================================================== */
/* 						   07. PORTFOLIO                      */
/* ========================================================== */

.gallery-insta{
	margin: 0 !important;
}

.gallery-insta img{
	border-radius:0 !important;
	padding: 5px 5px;
}

p.follow-instagram a{
	color: #e52f37;
}

.popup-wrapper{
	display:block;
	position:relative;
	overflow:hidden;
}

.popup-gallery{
	display:inline-block;
	position:relative;
}

.popup-gallery img {
	position:relative;
	z-index:10;
	width: 100%;
	height: auto;
	-webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.popup-gallery:hover img {
	opacity: 0.25;
}

.popup-gallery a span.eye-wrapper,
.popup-gallery a span.eye-wrapper2 {
	background-color:#5B21B6;
	position: absolute;
	display: block;
	overflow:hidden;
	z-index: 2;
	width: 90%;
	height:90%!important;
	top: 5%;
	left: 5%;
	font-size: 22px;
	color:#fff;
	text-align: center;
	font-weight:300;
	opacity: 0;
}

.popup-gallery a span.eye-wrapper i.eye-icon, .popup-gallery a span.eye-wrapper2 i.eye-icon{
	position: absolute;
	display: inline-block;
	font-size:36px;
	z-index: 3;
	top: 50%!important;
	margin-top: -18px!important;
	left: 0%;
	right: 0%;
}

.popup-gallery a:hover span{
	opacity: 1;
}

.popup-gallery img,
.popup-gallery a span {
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

.gallery-item{
	margin-bottom: 37px;
}

/* ========================================================== */
/* 			               08. PRICING                        */
/* ========================================================== */

.price-box-white{
	text-align: center;
	background-color: #fff;
	border: 1px solid #dde9fb;
	box-shadow: 0 12px 55px 0 rgba(0,0,0,.05);
	padding: 50px 20px;
	width: 90%;
	margin-top:30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-grey{
	text-align: center;
	background: #e52f37;
	border: 2px solid #e52f37;
	box-shadow: 10px 12px 40px rgba(0, 0, 0, 0.2);
	padding: 50px 20px;
	width: 90%;
	margin-top:30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-grey:hover, .price-box-white:hover {
	transform: scale(1.03,1.03);
	-ms-transform: scale(1.03,1.03); /* IE 9 */
    -webkit-transform: scale(1.03,1.03); /* Safari */

    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
}

.price-box-white .price-title, .price-box-white ul.pricing-list li.price-value{
	color: #292929;
}

.price-box-grey .price-title, .price-box-grey ul.pricing-list li.price-value{
	color: #fff;
}

.price-box-white .price-subtitle,.price-box-white .price-text{
	color: #6a6a6a;
}

.price-box-grey .price-subtitle,.price-box-grey .price-text{
	color: #fff;
}

ul.pricing-list li.price-title{
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 1px;
}

ul.pricing-list li.price-value{
	font-family: 'Open Sans', sans-serif;
	font-size: 70px;
	line-height: 70px;
	display: block;
	margin-top:20px;
	margin-bottom: 10px;
}

ul.pricing-list li.price-subtitle{
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
}

ul.pricing-list li.price-text{
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
	margin-bottom: 5px;
}

ul.pricing-list li.price-tag a{
	color: #e52f37;
	background: #fff;
	border:1px solid #fff;
	border-radius: 23px 23px;
	padding: 15px 30px;
	display: inline-block;
	font-size: 14px;
	line-height: 24px;
	font-weight: 600;
	margin: 40px 0 30px 0;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

ul.pricing-list li.price-tag a:hover{
	background: transparent;
	border:1px solid #fff;
	color: #fff;
}

/* ========================================================== */
/* 			                 09. CONTACT                      */
/* ========================================================== */

.contact-form-wrapper{
	margin-top: 25px;
}

.contact-form-wrapper h3{
	margin-bottom: 5px;
	font-size: 24px;
	font-weight: 500;
}

.contact-form-wrapper p{
	margin-bottom: 25px;
	font-size: 17px;
}

input.contact-input, select.contact-input{
	width: 100%;
    height: 56px;
    padding-left: 2%;
    padding-right: 2%;
    margin-bottom: 15px;
    color: #fff;
    border: 2px solid #fff;
    background-color: transparent;
    font-size: 16px;
	-webkit-border-radius: 5px 5px;
    -moz-border-radius: 5px 5px;
    border-radius: 5px 5px;
}

textarea{
	height:145px;
	margin-bottom:12px;
	width:100%;
    padding-left:2%;
    padding-right:2%;
    padding-top:10px;
    padding-bottom:10px;
	color: #fff;
	background-color: transparent;
    border: 2px solid #fff;
    font-size:16px;
	-webkit-border-radius: 5px 5px;
    -moz-border-radius: 5px 5px;
    border-radius: 5px 5px;
}

input.contact-submit{
	background: #fff;
    border: none;
    color: #e52f37;
    letter-spacing: 1px;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    width: 100%;
    max-width: 300px;
    padding: 20px 0;
    text-transform: uppercase;
    -webkit-border-radius: 3px 3px;
    -moz-border-radius: 3px 3px;
    border-radius: 3px 3px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}

input.contact-submit:hover{
	background:#eaeaea;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

input.contact-input::-webkit-input-placeholder,
textarea.contact-input::-webkit-input-placeholder { /* WebKit browsers */
    color:#fff;
}
input.contact-input:-moz-placeholder,
textarea.contact-input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:#fff;
}
input.contact-input::-moz-placeholder,
textarea.contact-input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:#fff;
}
input.contact-input:-ms-input-placeholder,
textarea.contact-input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:#fff;
}

#contact-form input.contact-input:focus, #contact-form textarea:focus {
  border-color:#fff!important;
  color: #fff!important;
  outline: none;
}

#contact-form select.contact-input:focus {
  border-color:#fff!important;
  color: #454545!important;
  outline: none;
}

p.contact_success_box{
	display:inline-block;
	color:#fff;
	border: 1px solid #eee;
	padding: 25px 25px;
	font-size:19px;
	text-shadow: none;
	font-style:italic;
	border-radius: 8px 8px;
	margin:15px 0;
}

/* ========================================================== */
/* 			               11. OTHER ELEMENTS                 */
/* ========================================================== */

/* a) Buttons */
.btn-white {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 700;
	color: #ff4500;
	background-color: #ffffff;
	border: 1px solid #fff;
    box-shadow: 0px 8px 40px 0 rgba(0, 0, 0, 0.37);
	margin: 10px 10px;
	padding: 16px 26px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-white:hover{
	box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.5);
	color: #ff4500!important;
	background:#f9f9f9;
}

.btn-white-border {
	color: #fff;
	background: transparent;
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 700;
	border: 1px solid #fff;
	border-radius: 23px 23px;
	margin: 10px 10px;
	padding: 16px 26px;
	display: inline-block;
    box-shadow: 0px 8px 40px 0 rgba(0, 0, 0, 0.37);
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-white-border:hover{
	box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.5);
	color: #e52f37!important;
	background:#f9f9f9;
}

.btn-white i, .btn-white-border i {
	font-size: 22px;
	line-height: 22px;
	margin-right: 10px;
	vertical-align: text-top;
}

.btn-blue {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: #fff;
	background-color: #1e90ff;
	border: 1px solid #1e90ff;
    box-shadow: 0px 5px 20px 0 rgba(0, 0, 0, 0.27);
    letter-spacing: 1px;
	border-radius: 23px 23px;
	margin: 5px 10px 10px 0;
	padding: 18px 25px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-blue:hover{
	box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.5);
	color: #fff!important;
	background:#1e90ff;
}

.btn-red {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: #fff;
	background-color: #ff4500;
	border: 1px solid #ff4500;
    box-shadow: 0px 5px 20px 0 rgba(0, 0, 0, 0.27);
    letter-spacing: 1px;
	border-radius: 23px 23px;
	margin: 5px 10px 10px 0;
	padding: 18px 25px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-red:hover{
	box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.5);
	color: #fff!important;
	background:#ff4500;
}

.btn-blue.small, .btn-blue-line.small, .btn-red.small, .btn-red-line.small, .btn-white.small, .btn-white-border.small {
	font-size: 16px;
	padding: 14px 20px;
}

.btn-red-line {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: #e52f37;
	background-color: #fff;
	border: 1px solid #e52f37;
	border-radius: 23px 23px;
	margin: 15px 10px 0 0;
	padding: 20px 30px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-red-line:hover{
	color: #fff!important;
	background:#e52f37;
}

a.btn-red:visited, a.btn-red:focus{
	color: #fff!important;
}


/* b) Testimonials - Accordion Tabs */
.card{
	position: relative;
	margin: 20px 0;
	border:none;
    background-color: #fff !important;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
}

.card-header {
	max-width: 100%;
	position: relative;
    padding: 15px 25px;
    margin-bottom: 0;
    background-color: transparent;
    border-bottom: none;
    border-left: 6px solid #2745B3;
}

.card-header h5 .btn-link p {
	font-family: 'Open Sans', sans-serif;
	margin-top: 15px;
	padding: 0;
	font-size: 18px;
    font-weight: 700;
    color: #071e55;
	text-align: left!important;
    background-color: transparent;
}

.card-header h5 .btn-link p span {
	font-size: 17px;
    color: #2745B3;
}

.card-header h5 .btn-link:hover, .card-header h5 .btn-link:focus {
	text-decoration: none;
}

.card-body {
    padding: 20px 25px 5px 25px;
    border-top: none;
    border-left: 6px solid #2745B3;
    font-family: 'Open Sans', sans-serif;
    font-size: 20px;
    color: #7c8595;
    font-style: italic;
}

img.testim-img{
	float: left;
	margin-right: 15px;
	max-width: 65px;
	border-radius: 50%;
}

p.testim-name{
	display: inline-block;
}

.testim-rating {
	margin-bottom: 30px;
}

.testim-rating i{
	color: #fdcc28;
}

.testim-platform.first{
	display: block;
	border-right: 1px solid #cecece;
}

.testim-platform p{
	margin-bottom: 5px;
	font-weight: bold;
	color: #071e55;
}

/* c) Benefits List */
ul.benefits {
    margin-bottom: 20px;
}

ul.benefits li {
    font-size: 17px;
    line-height: 26px;
    margin-bottom: 8px;
}

ul.benefits.white li {
	color: #fff;
}

ul.benefits li i {
    font-size: 18px;
    line-height: 18px;
    margin-right: 1px;
    color: #00BFFF;
}

ul.benefits.white li i {
    color: #fff;
}

.no-padding-bottom{
	padding-bottom: 0;
}

/* ----- d) Fun Facts ----- */
.fun-facts-boxs{
	display: inline-block;
	width:19%;
	padding:10px 10px;
}

.fun-facts-title{
	font-size:16px;
	font-weight:400;
	color:#fff;
}

.fun-facts-title span{
	font-size:28px;
	line-height:40px;
	font-weight:600;
	font-style:normal;
	color:#fff;
}

.fun-facts-box i{
	font-size:45px;
	line-height:60px;
	color: #fff;
}

/* ----- e) Dropcaps Features ----- */
.nav-pills .nav-link {
	margin-bottom: 10px;
}

.nav-pills .nav-link, .nav-pills .show > .nav-link {
    border: none!important;
	transition: all 1s;
}

.nav-pills .nav-link:hover {
    color: #fff;
    background-color: #fff;
    border: none!important;
    border-radius: 8px !important;
	box-shadow: 0 12px 55px 0 rgba(0,0,0,.05) !important;
	-moz-box-shadow: 0 12px 55px 0 rgba(0,0,0,.05) !important;
	-webkit-box-shadow: 0 12px 55px 0 rgba(0,0,0,.05) !important;
	transition: all 1s;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #fff;
    border: 1px solid #f4f5f6!important;
    border-radius: 8px !important;
	box-shadow: 0 12px 55px 0 rgba(0,0,0,.05) !important;
	-moz-box-shadow: 0 12px 55px 0 rgba(0,0,0,.05) !important;
	-webkit-box-shadow: 0 12px 55px 0 rgba(0,0,0,.05) !important;
	transition: all 1s;
}

.features-second{
	margin: 10px 0;
}

.features-second h4{
	margin-top: 10px;
	font-size: 21px;
}

.features-second p{
	margin-bottom: 10px;
}

.dropcaps-circle {
    float: left;
    margin: 1px 25px 10px 0;
	background-color: #fcfcfc;
	border: 1px solid #eaeaea;
	width: 80px;
    height: 80px;
    text-align: center;
    vertical-align: middle;
    color: #017df7;
    font-size: 40px;
    line-height: 80px;
    position: relative;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}

.dropcaps-circle.blue {
    color: #1e90ff;
}

.dropcaps-circle.red {
    color: #e52f37;
}

.dropcaps-circle.green {
    color: #2745B3;
}

input[type="submit"] {
			width: 100%;
			max-width: 100%;
			box-sizing: border-box;
	}
	form {
			width: 100%;
			max-width: 100%;
			box-sizing: border-box;
	}

	.form-group input[type="text"],
	.form-group input[type="email"],
	.form-group input[type="submit"] {
			width: 100%;
			max-width: 100%;
			box-sizing: border-box;
	}

	.button-wrapper {
		position: relative;
		box-sizing: border-box;
	  }
	  
	  /* Basic Button Styles */
	  input[type="submit"].bottone {
		width: 100%;
		height: 60px; /* Set height to 60px */
		font-family: 'Open Sans', sans-serif;
		font-size: 17px; /* Adjust font size to 15px */
		font-weight: 700;
		text-align: center;
		color: #fff;
		background: #ff4500;
		border: none;
		padding: 15px;
		transition: all 0.3s ease-in-out;
		cursor: pointer;
		outline: none;
		position: relative;
		box-sizing: border-box;
		letter-spacing: 3px;
		z-index: 1;
	  }

	  
	  /* Pseudo-element for the border effect */
	  .button-wrapper::after {
		content: '';
		position: absolute;
		top: 0px;
		left: -5px;
		width: calc(100% + 10px); /* Extends beyond the button */
		height: calc(60px + 10px);
		border: 6px solid #ff6730; /* The animated border color */
		opacity: 0;
		transition: all 0.3s ease-in-out;
		transform: translateY(-5px); /* Slightly lift the button */
	  }
	  
	  /* Reveal the border animation on hover */
	  .button-wrapper:hover::after,
	  .button-wrapper:focus::after {
		opacity: 1;
		box-shadow: 0px 0px 12px 6px #912700; /* Add border-like shadow on hover */
	  }
	  
	  /* Optionally, we can add an additional ring animation to the button using a pseudo-element */
	  .button-wrapper::before {
		content: '';
		width: 30px;
		height: 30px;
		border-radius: 50%;
		border: 6px solid #ff4500;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		animation: ring 1.35s infinite;
	  }
	  
	  /* Ring animation keyframes */
	  @keyframes ring {
		0% {
		  width: 30px;
		  height: 30px;
		  opacity: 1;
		}
		100% {
		  width: 260px;
		  height: 260px;
		  opacity: 0;
		}
	  }

	  .logo{
		height: 75px;
	  }
	
/* ========================================================== */
/* 			             11. MEDIA QUERIES                    */
/* ========================================================== */

@media (max-width: 1200px) {
	
	input[type="submit"].bottone {
		width: 100%;
		font-size: 16px;
		
	  }
}

@media (max-width: 991px) {

	input[type="submit"].bottone {
		font-size: 8px; /* Adjust font size to 15px */
	  }

	.logo{
		height: 50px;
	  }


	.button-wrapper::after {
		top: 0px;
		left: -5px;
		width: calc(100% + 10px); /* Extends beyond the button */
		height: calc(60px + 10px);
	  }

	.navbar-fixed-top.opaque {
	    padding-top: 10px;
	    padding-bottom: 10px;
	}

	.navbar-fixed-top .navbar-nav > li.discover-link {
		margin-top: 10px;
	}

	.navbar-fixed-top .navbar-nav > li > a.discover-btn {
	    padding: 8px 12px!important;
	    margin-left: 20px;
	    font-size: 17px!important;
	}

	.home-section {
		padding-top: 170px;
	  	padding-bottom: 70px;
	    background-attachment: inherit;
	}

	.home-section h1 {
	    font-size: 38px;
	    line-height: 44px;
	}

}

@media (max-width: 768px) {


	input[type="submit"].bottone{
		font-size: 16px;
	}

	.navbar-fixed-top {
		background-color: #fff;
	}

	.home-section {
		padding-top: 65px;
	  	padding-bottom: 90px;
	    background-attachment: inherit;
	}

	.footer {
	    padding-top: 40px;
	    text-align: center;
	}

	.footer-top i {
		display: block;
	    margin-top: 50px!important;
	}

	ul.footer_social {
		margin-top: 15px;
		float: none;
	}

	ul.footer_social li a i {
	    margin: 0 8px!important;
	}

	.partners-section {
	    padding: 40px 0;
	}

	.partners{
		text-align: center;
	}

	.partners-title{
		font-size: 18px;
		line-height: 30px;
		float: none!important;
		margin-right: 30px;
	}

	.testim-inner{
		margin-top: 40px;
		margin-bottom: 40px;
	}

	.top-margins-images{
		margin-top: 50px;
	}

	.bottom-margins-images{
		margin-bottom: 50px;
	}

	.section-bg-1, .section-bg-2, .section-bg-3{
	    background-attachment: inherit;
	}

}

@media (max-width: 375px) {

	.navbar-toggle {
	    border: 1px solid #9f9f9f!important;
	}

	.home-section {
		padding-top: 65px;
	  	padding-bottom: 70px;
	}

	.home-section h1 {
	    font-size: 38px;
	    line-height: 44px;
	}

	.card{
	    box-shadow: none;
	}

	.card-header h5 .btn-link {
		font-size: 16px;
		clear: left;
	}

	.card-header h5 .btn-link p {
		margin-top: 7px;
	}

	.card-header h5 .btn-link p span {
		display: block;
		font-size: 15px;
	}

	.section-white {
	    padding: 60px 0 70px 0!important;
	}

	.section-white.small-padding-bottom, .section-grey.small-padding-bottom {
	    padding: 60px 0 50px 0!important;
	}

	.margin-left-20{
		margin-left: 1px!important;
	}

	.services-wrapper{
		margin-top: 30px;
	}

	.small-col-inside{
		margin: 50px 0;
		padding-right: 25px;
		padding-left: 25px;
	}

	.partners img.partners {
	    margin: 10px 25px 10px 0;
	    max-height: 40px;
	}

	.feature-box {
	    text-align: center;
	}

	.feature-box i {
		display: inline-block;
		float: none;
		margin-bottom: 25px;
	}

	.feature-box-text {
	    width: 100%;
	    margin-left: 0;
	}

}





/* =============================================
   Process Section Styles
   ============================================= */

.process-section {
    padding: 80px 0;
    background-color: #f8f9fa; /* Grigio Chiaro */
    overflow: hidden; /* Nasconde i numeri che escono dai bordi */
}

.process-section .section-title {
    color: #333; /* Grigio Scuro */
    font-weight: 700;
    margin-bottom: 15px;
}

.process-section .section-subtitle {
    color: #666;
    font-size: 18px;
    max-width: 700px;
    margin: 0 auto 50px auto;
}

.process-card {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 40px 30px;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    border-top: 4px solid #5b21b6; /* Viola Profondo */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease-in-out;
}

.process-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.process-card .step-number {
    position: absolute;
    top: -20px;
    right: 15px;
    font-size: 80px;
    font-weight: 700;
    color: #000000;
    opacity: 0.05;
    z-index: 1;
}

.process-card i {
    font-size: 48px;
    color: #00BFFF; /* Blu Elettrico */
    margin-bottom: 25px;
    display: block;
}

.process-card h4 {
    color: #333;
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 15px;
}

.process-card p {
    color: #666;
    font-size: 16px;
    line-height: 1.7;
}

.cta-subtext {
    margin-bottom: 20px;
    font-size: 18px;
    color: #555;
    font-weight: 500;
}

.btn-cta {
    background-color: #ff4500; /* Arancione Brillante */
    color: #fff;
    padding: 15px 35px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 5px 15px rgba(255, 102, 0, 0.3);
}

.btn-cta:hover {
    background-color: #ff4500;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(255, 102, 0, 0.4);
    color: #fff;
}

/* Responsive adjustments for medium devices and down */
@media (max-width: 991px) {
    .process-card {
        /* Center cards on md screens if they are, for example, two in a row */
        margin-left: auto;
        margin-right: auto;
        max-width: 450px;
    }
}



/* =============================================
   Article Section Styles
   ============================================= */

.article-section {
    padding: 80px 0;
}

.article-body {
    /* Rimuove gli stili di testo dal genitore se presenti */
    text-align: left; 
}

/* Stile per i sottotitoli dell'articolo (H2) */
.article-body h2 {
    font-size: 28px;
    font-weight: 700;
    color: #343a40; /* Grigio Scuro per leggibilità */
    margin-top: 45px;
    margin-bottom: 20px;
    padding-left: 25px; /* Spazio per la barra decorativa */
    position: relative; /* Necessario per il pseudo-elemento ::before */
    border-left: 5px solid #5b21b6; /* Viola Profondo */
}

/* Stile per i paragrafi dell'articolo */
.article-body p {
    font-size: 18px; /* Dimensione ottimale per la lettura */
    line-height: 1.8; /* Interlinea generosa per ariosità */
    color: #495057; /* Grigio leggermente più chiaro del titolo */
    margin-bottom: 25px;
}

/* Stile per i link all'interno del testo */
.article-body a {
    color: #00BFFF; /* Blu Elettrico */
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
    border-bottom: 1px dotted #00BFFF;
}

.article-body a:hover {
    color: #5B21B6; /* Viola Profondo */
    border-bottom: 1px solid #5b21b6;
}

/* Box per i link correlati */
.related-links-box {
    background-color: #e9ecef;
    border-radius: 8px;
    padding: 25px 30px;
    margin-top: 50px;
    border-left: 4px solid #00BFFF; /* Blu Elettrico */
}

.related-links-box p {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.6;
}

.related-links-box strong {
    color: #343a40;
    display: block;
    margin-bottom: 8px;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .article-body h2 {
        font-size: 24px;
        padding-left: 20px;
        border-left-width: 4px;
    }
    .article-body p {
        font-size: 17px;
    }
}






/* Contenitore deve stare sopra l'overlay */
.section-bg-1 .container {
    position: relative;
    z-index: 2;
}

/* Stile titolo principale della sezione */
.section-title-white {
    color: #ffffff;
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 60px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    position: relative;
    padding-bottom: 20px;
}

/* Linea decorativa sotto il titolo */
.section-title-white::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background-color: #00BFFF; /* Blu Elettrico */
    border-radius: 2px;
}

/* La card principale con effetto vetro */
.pillar-card {
    background: rgba(255, 255, 255, 0.1); /* Sfondo semi-trasparente */
    border-radius: 16px;
    padding: 40px 25px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    
    /* Effetto vetro smerigliato */
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    transition: all 0.3s ease-in-out;
    margin-bottom: 30px; /* Spazio su mobile */
}

/* Effetto al passaggio del mouse */
.pillar-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.4);
}

/* Cerchio che contiene l'icona */
.pillar-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 30px auto;
    border-radius: 50%;
    background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0.3));
    display: flex;
    align-items: center;
    justify-content: center;
}

.pillar-icon i {
    font-size: 36px;
    color: #ffffff;
}

/* Stili per il testo dentro la card */
.pillar-content h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.pillar-content p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    line-height: 1.7;
    margin: 0;
}

/* Adattamenti responsive */
@media (max-width: 991px) {
    .section-title-white {
        font-size: 36px;
        margin-bottom: 40px;
    }
}



/* =============================================
   Partnership & Testimonials Section (Interactive Update)
   ============================================= */

/* --- Stili Generali Sezione --- */
.partnership-intro {
    margin-bottom: 50px;
}
.partnership-badge {
    display: inline-block; padding: 6px 15px; background-color: #e8dffc; color: #5B21B6; border-radius: 50px; font-size: 14px; font-weight: 700; margin-bottom: 20px;
}
.partnership-intro .section-title { margin-bottom: 20px; }
.partnership-intro .section-subtitle { font-size: 18px; color: #666; }

/* --- Stili per i Tab Interattivi --- */
.partner-tabs {
    margin-top: 30px;
    margin-bottom: 30px;
    display: inline-flex;
    background-color: #e9ecef;
    border-radius: 50px;
    padding: 5px;
}
.tab-button {
    background-color: transparent;
    border: none;
    padding: 12px 25px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    transition: all 0.3s ease;
}
.tab-button.active {
    background-color: #ffffff;
    color: #5B21B6; /* Viola di brand */
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* --- Stili per il Contenuto dei Tab --- */
.tab-content-wrapper {
    min-height: 180px; /* Altezza minima per evitare "salti" al cambio tab */
}
.tab-content {
    display: none; /* Nascosto di default */
    text-align: center;
}
.tab-content.active {
    display: block; /* Visibile solo se attivo */
    animation: fadeIn 0.5s;
}
.partner-logo { margin-bottom: 20px; height: 100px; }
.founder-photo { height: 200px; border-radius: 50%; margin-bottom: 20px; }
.tab-content p { font-size: 17px; color: #444; max-width: 600px; margin: 0 auto; line-height: 1.7; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* --- Stili per le Testimonial Cards (invariati ma riportati per completezza) --- */
.testimonial-card {
    background-color: #ffffff; border-radius: 12px; padding: 40px; margin-bottom: 30px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.07); position: relative; border-top: 4px solid #00BFFF; transition: all 0.3s ease-in-out; display: flex; flex-direction: column; height: 100%;
}
.testimonial-card:hover { transform: translateY(-8px); box-shadow: 0 15px 50px rgba(0, 0, 0, 0.12); }
.testimonial-card .fa-quote-left { position: absolute; top: 25px; left: 30px; font-size: 60px; color: #e9ecef; z-index: 1; }
.testimonial-source { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; position: relative; z-index: 2; color: #6c757d; font-size: 14px; }
.testimonial-rating .fas, .testimonial-rating .far { color: #ffc107; }
.testimonial-text { font-size: 17px; line-height: 1.7; color: #555; font-style: italic; margin-bottom: 25px; position: relative; z-index: 2; flex-grow: 1; }
.testimonial-author { display: flex; align-items: center; padding-top: 20px; border-top: 1px solid #e9ecef; position: relative; z-index: 2; }
.testimonial-author img { width: 60px; height: 60px; border-radius: 50%; margin-right: 15px; }
.author-info strong { display: block; font-size: 18px; color: #333; font-weight: 700; }
.author-info span { font-size: 14px; color: #666; }



/* =============================================
   Features Section - Soft UI Restyle
   ============================================= */

/* La card principale con stile "soft" */
.feature-card-soft {
    background-color: #ffffff;
    border-radius: 16px;
    padding: 35px;
    margin-bottom: 30px;
    text-align: center;
    border: 1px solid #ffffff;
    box-shadow: 0 10px 40px rgba(8, 107, 222, 0.08); /* Ombra con tinta blu */
    transition: all 0.3s ease-in-out;
    height: 100%;
    position: relative;
}

.feature-card-soft:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 50px rgba(8, 107, 222, 0.15);
}

/* Bordo superiore decorativo con gradiente */
.feature-card-soft::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 4px;
    background: linear-gradient(90deg, #00BFFF, #5B21B6); /* Blu e Viola di brand */
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    opacity: 0;
    transition: opacity 0.3s ease, left 0.3s ease, right 0.3s ease;
}

.feature-card-soft:hover::before {
    opacity: 1;
    left: 0;
    right: 0;
}

/* Icona con effetto "incassato" (inset) */
.feature-icon-soft {
    width: 70px;
    height: 70px;
    margin: 0 auto 25px auto;
    border-radius: 50%;
    background-color: #f1faff; /* Stesso colore dello sfondo sezione */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 5px 5px 10px #d4e3ed, inset -5px -5px 10px #ffffff;
}

.feature-icon-soft i {
    font-size: 28px;
    /* Colore gradiente per l'icona */
    background: linear-gradient(45deg, #5B21B6, #00BFFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

/* Stili per il testo */
.feature-text h4 {
    font-size: 20px;
    font-weight: 700;
    color: #1F2937; /* Grigio scuro */
    margin-bottom: 10px;
}

.feature-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #6B7280; /* Grigio medio */
    margin-bottom: 0;
}



/* =============================================
   FAQ Section - Accordion Restyle
   ============================================= */

.accordion-item {
    background-color: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    margin-bottom: 15px;
    overflow: hidden; /* Per arrotondare i bordi correttamente */
    box-shadow: 0 5px 20px rgba(0, 115, 255, 0.05);
}

.accordion-header {
    margin: 0;
}

.accordion-button {
    width: 100%;
    padding: 20px 25px;
    text-align: left;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    background-color: #ffffff;
    border: none;
    cursor: pointer;
    position: relative;
    box-shadow: none !important; /* Rimuove l'ombra di focus di Bootstrap */
}

/* Rimuove l'icona di default di Bootstrap */
.accordion-button::after {
    display: none;
}

/* Stile per l'icona personalizzata +/- */
.accordion-button::before {
    content: '+';
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 400;
    color: #5B21B6; /* Viola di brand */
    transition: transform 0.3s ease;
}

/* Stile per l'icona quando l'accordion è aperto */
.accordion-button:not(.collapsed)::before {
    content: '−'; /* Carattere 'meno' */
    transform: translateY(-50%) rotate(180deg);
}

.accordion-button.collapsed:hover {
    background-color: #f8f9fa;
}

/* Stile del corpo della risposta */
.accordion-body {
    padding: 25px;
    font-size: 17px;
    line-height: 1.7;
    color: #666;
    border-top: 1px solid #e9ecef;
}

/* =============================================
   Final CTA Section Styles
   ============================================= */



/* Pulsante CTA Finale */
.btn-final-cta {
    background-color: #ff4500; /* Arancione Brillante */
    color: #ffffff;
    padding: 18px 40px;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 8px 25px rgba(255, 102, 0, 0.4);
    animation: pulse 2s infinite; /* Animazione pulsante */
}

.btn-final-cta:hover {
    background-color: #ff4500;
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(255, 102, 0, 0.5);
    animation: none; /* Ferma l'animazione al passaggio del mouse */
    color: #fff;
}

/* Animazione "pulse" per il pulsante */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}