*{
    padding: 0;
    margin: 0;
}

*{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
body{
	font-family: 'Poppins', sans-serif;
	font-size:16px;
	color: #676a81;
	background: #fff;
    max-width:1920px;
    margin:0 auto;
	overflow-x:hidden;
}

a,a:hover,a:active,a:focus {
	display:inline-block;
	text-decoration:none;
	color: #6a708e;
	font-size:16px;
	padding:0;
}
h1,h2,h3,h4,h5,h6 { 
	margin: 0;
	color:#43485c;
    font-size: 16px;
	font-family: 'Poppins', sans-serif;
	text-transform: capitalize;
}
p {
	margin: 0;
	line-height:1.8;
	color:#43485c;
	font-size:14px;
	font-family: 'Poppins', sans-serif;
}
img{border:none;max-width:100%; height:auto;}
ul{
	padding: 0;
    margin: 0 auto;
    list-style: none;
}
ul li {
	list-style: none;
	
}
select,input,textarea,button{box-shadow:none;outline:0!important;}
button {background: transparent;border: 0;}

html,body{
    height: 100%;
	position: relative;
}
[placeholder]:focus::-webkit-input-placeholder {
  -webkit-transition: opacity 0.3s 0.3s ease; 
  -moz-transition: opacity 0.3s 0.3s ease; 
  -ms-transition: opacity 0.3s 0.3s ease; 
  -o-transition: opacity 0.3s 0.3s ease; 
  transition: opacity 0.3s 0.3s ease; 
  opacity: 0;
}

.fix{position: relative;clear: both;}
/*=============Style css=========*/

/*-------------------------------------
        2. Header
--------------------------------------*/
.top-area {
    position: relative;
    z-index: 9999;
}
@media (min-width: 1024px){}
nav.navbar.bootsnav.no-background {
    background-color: #fff;
    border: none;
}
.header-area .navbar-header {
  display: flex;
  align-items: center;
}

/* Размер и отступ логотипа */
.header-area .navbar-logo {
  height: 40px;       /* подберите под вашу высоту navbar */
  width: auto;
  margin-right: 100px; /* расстояние до текста */
}
nav.navbar.bootsnav {
    background-color: #fff;
    border-bottom: transparent;
    box-shadow: 0 3px 15px rgba(0,0,0,.3);
}

/*.navbar-brand*/
.navbar-header a.navbar-brand,.navbar-header a.navbar-brand:hover,.navbar-header a.navbar-brand:focus {
    display: inline-block;
    color: #101517;
    font-size: 20px;
    font-weight: 600;
    padding: 33px 0px 57px;
    text-transform: uppercase;
}
/*.navbar-brand*/

/*.nav li*/
nav.navbar.bootsnav ul.nav > li > a {
    font-size: 16px;
    font-weight: 400;
    text-transform:uppercase;
    -webkit-transition: 0.3s linear; 
    -moz-transition: 0.3s linear; 
    -ms-transition: 0.3s linear; 
    -o-transition: 0.3s linear; 
    transition: 0.3s linear;
}
nav.navbar.bootsnav ul.nav > li > a {padding: 35px 20px;}
nav.navbar.bootsnav ul.nav > li > a:hover,nav.navbar.bootsnav ul.nav > li > a:focus,nav.navbar.bootsnav ul.nav > li.active>a{color: #101517;}

nav.navbar.bootsnav ul.nav > li.dropdown > a.dropdown-toggle:after {
    content: "";
}
nav.navbar.bootsnav ul.nav > li.dropdown span {
    font-size: 8px;
    margin-left: 15px;
}
.sticky-wrapper.is-sticky nav.navbar.bootsnav ul.nav > li > a {color:#6a708e;}
.sticky-wrapper.is-sticky nav.navbar.bootsnav ul.nav > li > a:hover,.sticky-wrapper.is-sticky nav.navbar.bootsnav ul.nav > li > a:focus,.sticky-wrapper.is-sticky nav.navbar.bootsnav ul.nav > li.active>a{color: #101517;}
/*.nav li*/



/*.menu-ui-design*/
.menu-ui-design{overflow-y:scroll;height: 350px;}
.menu-ui-design::-webkit-scrollbar {
    width:5px;
}
.menu-ui-design::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 8px #000;
}
.menu-ui-design::-webkit-scrollbar-thumb {
  background-color: #101517;
}
/*.menu-ui-design*/



/*.navbar-toggle */
nav.navbar.bootsnav .navbar-toggle {
    position: relative;
    background-color: transparent;
    border: 1px solid #101517;
    padding: 10px;
    top: 0;
}
nav.navbar.bootsnav .navbar-toggle i{color: #101517;}
/*.navbar-toggle */



/*-------------------------------------
        3.  Welcome-hero
--------------------------------------*/
.welcome-hero{
    display: flex;
    align-items: center;
    justify-content: center;
    position:relative;
    background:url(../images/about/Developer.png)no-repeat;
    background-size:cover;
    background-position: center;
    height:890px;
}
.welcome-hero:before{
    position:absolute;
    content: " ";
    top:0;
    left:0;
    background:rgba(31,44,108,.25);
    width:100%;
    height:100%;
}

/*.header-text-area*/
.header-text h2 {
    color: #fff;
    font-size: 54px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.5;
}
.header-text h2 span {color: #101517;}
.header-text p {
    color: #fff;
    font-size: 20px;
    font-weight: 300;
    text-transform: uppercase;
    margin: 30px 0 60px;
    letter-spacing: 1px;
}
.header-text a {
	width: 200px;
	height: 60px;
	line-height: 60px;
	border-radius: 15px;
	text-transform: capitalize;
	color: #fff;
	background: #250507;
	border: 1px solid #250507;
	box-shadow: 0 5px 20px rgba(0,0,0,.2);
	-webkit-transition: 0.3s linear;
	-moz-transition: 0.3s linear;
	-ms-transition: 0.3s linear;
	-o-transition: 0.3s linear;
	transition: 0.3s linear;
}
.header-text a:hover{
	box-shadow: 0 5px 20px rgba(0,0,0,.4);
	background: #5B0C11;
	border: 1px solid #5B0C11;
}
/*.header-text-area*/

/*-------------------------------------
        4.  About
--------------------------------------*/
.about {padding: 50px 0 100px;}
.about-content {padding-top: 100px;}
/*.single-about-txt*/
.single-about-txt h3 {
    font-size:18px;
    color: #3c4258;
    text-transform: initial;
    line-height: 1.8;
}
.single-about-txt p {
    font-size: 16px;
    color: #999fb3;
    padding: 35px 0 43px;
    border-bottom: 1px solid #999fb3;
}
.single-about-add-info {
    margin: 35px 0;
}
.single-about-add-info h3 {
    color: #636a82;
    font-size: 16px;
    text-transform: capitalize;
}
.single-about-add-info p {font-weight:  300;border:  0;padding: 0;margin-top: 3px;}
/*.single-about-txt*/

/*.single-about-img */
.single-about-img {
  position: relative;
}
.single-about-img:before {
  display: none;
}
.single-about-img img {
    max-width: 458px;
    height: 468px;
	}
.about-img-responsive {
    width: 100%;
    max-width: 458px;
    aspect-ratio: 458 / 468;
    height: auto;
    object-fit: cover;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/**/
@media (max-width: 767px) {
    .single-about-img {
        text-align: center !important;
        margin-top: 30px;
        margin-bottom: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .single-about-img img,
    .about-img-responsive {
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
        width: 90vw;
        max-width: 320px;
        height: auto;
    }
    .col-sm-offset-1.col-sm-5 {
    margin-left: 0 !important;
    width: 100% !important;
  }
}

/*  */
@media (max-width: 991px) {
  .about-content .row {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .col-sm-offset-1.col-sm-5 {
    margin-left: 0 !important;
    width: 100% !important;
    float: none !important;
    display: flex !important;
    justify-content: center !important;
  }
  .single-about-img {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100%;
    text-align: center !important;
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .single-about-img img,
  .about-img-responsive {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    width: 90vw;
    max-width: 320px;
    height: auto;
  }
}

/*  */
@media (max-width: 991px) {
  .about-content .row > .col-sm-4 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    display: block;
  }
  .single-about-add-info {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px;
    padding-right: 10px;
  }
  .about-content .row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}
.about-list-icon{
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background: linear-gradient(
  to right,
  rgba(0, 0, 0, 0.9)   0%,  /*  */
  rgba(255, 255, 255, 0.5) 100%  /*  */
);
}
/*.ab-list-icon */
.about-list-icon ul {
    display: flex;
}
.about-list-icon  ul li a {
    padding-right: 22px;
    cursor:pointer;
    color: #fff;
}
.about-list-icon ul li a {
    cursor: pointer;
    color: #fff;
    display: inline-block;
    border: 2px solid;
    margin-left: 20px;
    border-radius: 8px;
    width: 30px;
    height: 30px;
    line-height: 28px;
    text-align: center;
}
.about-list-icon ul li a i {
    margin-left: 6px;
}
/*.ab-list-icon */

/*.single-about-img */

/*-------------------------------------
        5.  Education
--------------------------------------*/

.education {
    background:  #f9fbfd;
    padding-top:  50px;
}
.education-horizontal-timeline {
    padding: 80px 0;
}

/*.education-horizontal-timeline*/
.education-horizontal-timeline .col-sm-4 {padding:0 2px;}

.single-horizontal-timeline .experience-time h3{text-transform: capitalize;}
.single-horizontal-timeline .experience-time h3 span{text-transform:lowercase;}
.single-horizontal-timeline .timeline-content h5 {margin: 15px 0;}
.single-horizontal-timeline p {color: #999fb3;max-width: 335px;}

/*.timeline-horizontal-border*/
.timeline-horizontal-border {
    display:  flex;
    align-items: center;
    padding: 26px 0 30px;
}
.main-timeline {
  position: relative;
  z-index: 2;          /* текст и события здесь */
}
.timeline-horizontal-border i {
	font-size: 10px;
	color: #000;
	margin-right: 5px;
}
span.single-timeline-horizontal {
    display:  inline-block;
    background: #b2c1ce;
    height:  1px;
    width: 380px;
}
span.single-timeline-horizontal.spacial-horizontal-line {width: 88px;}
/*.timeline-horizontal-border*/

/*.education-horizontal-timeline*/

/*-------------------------------------
        6.  Skills
--------------------------------------*/
.skills {
    
}
.skill-content{padding: 50px 0 80px;}
.single-skill-content{padding-top: 100px;}
.section-heading h2 {
    font-size: 24px;
    font-weight: 600;
    text-transform: uppercase;
    padding-bottom: 50px;
    border-bottom: 1px solid #e5ebf2;
}
.single-progress-txt {
    display: flex;
}
.single-progress-txt h3 {
    width: 10%;
    color: #2c333b;
    position: relative;
    top: 6px;
    left: 20px;
}
.barWrapper {
    font-weight: 400;
    font-size: 16px;
    text-transform: uppercase;
}
.progress {
    border-radius:3px;
    overflow: visible;
    background: #e6ecf3;
    height:10px;
    margin-top: 15px;
    width: 85%;
    margin-bottom: 37px;
}
.progress-bar {
	background: #000;
	border-radius: 5px;
	-webkit-transition: width 2s ease-in-out;
	-ms-transition: width 2s ease-in-out;
	-moz-transition: width 2s ease-in-out;
	-o-transition: width 2s ease-in-out;
	transition: width 2s ease-in-out;
}
.tooltip{
   position:relative;
   float:right;
}
.tooltip > .tooltip-inner {
   background-color: transparent;
   padding: 1px 5px;
   color: #2c333b;
   font-weight: 500;
   font-size: 12px;
   border-radius: 0;
}
.popOver + .tooltip > .tooltip-arrow {
   border-left: 6px solid transparent;
   border-right: 6px solid transparent;
   border-top: 6px solid #fff;
   bottom: -1px;
   transform: translateX(-50%);
   margin-left: 0;
}

/*-------------------------------------
        7. Experience
-------------------------------------*/
.experience {
    padding: 50px 0 100px;
    border-top: 1px solid #e5ebf2;
}
.experience-content {padding-top: 100px;}
.single-timeline-box {margin-bottom: 75px;}

/*experience-time*/
.experience-time {
    position: relative;
}
.experience-time h2 {
    font-weight: 400;
}
.experience-time h3 {
	font-size: 16px;
	font-weight: 400;
	color: #030303;
	margin-top: 14px;
	text-transform: uppercase;
}
/*experience-time*/

/*main-timeline*/
.main-timeline{
    position: relative;
}
.main-timeline:before{
    content: "";
    width: 2px;
    height: 94%;
    background: #b2c1ce;
    position: absolute;
    top: 1.5%;
    left: 45.86%;
    z-index: -1;
}
.main-timeline .timeline{
    position: relative;
}

.timeline-content span>i, .experience-time span>i {
	color: #000;
	position: absolute;
	font-size: 10px;
	left: -14.5%;
	z-index: 1;
}
.timeline-content h4.title {
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
}
.timeline-content h5 {
    color: #636a82;
    font-size: 14px;
    font-weight: 300;
    margin: 18px 0 20px;
}
.main-timeline .description {
    font-size: 14px;
    color: #999fb3;
}
.main-timeline .timeline-content.right{
    float: right;
    text-align: left;
}
.timeline-single-before:before {
    content: '';
    top: 57px;
    left: -3px;
    position: absolute;
    width: 100%;
    height:400px;
    border-left:15px solid #fff;
}

.experience-time-responsive{display: none;}
/*-------------------------------------
        8. Profiles
--------------------------------------*/
.profiles {
    padding:  50px 0 100px;
    border:  1px solid #e5ebf2;
}

.profiles-content {padding-top: 100px;}
.profiles-content .col-sm-3{padding:0;}
.profile-txt {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.single-profile {
    position: relative;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #b2c1ce;
    overflow:hidden;
    -webkit-transition:background 0.5s linear; 
    -moz-transition:background 0.5s linear; 
    -ms-transition:background 0.5s linear; 
    -o-transition:background 0.5s linear; 
    transition:background 0.5s linear;
}
.profile-icon-name {
    text-transform: capitalize;
    color: #636a82;
    font-size: 16px;
}
.single-profile.profile-no-border{border-right:transparent;}
.profile-border {
    border-bottom: 1px solid #b2c1ce;
}
 .single-profile-overlay{
    display:flex;
    align-items:center;
    text-transform: capitalize;
    justify-content:center;
    position: absolute;
    top: 0;
    left: 0;
    content: " ";
    width:100%;
    height: 100%;
    background: #101517;
    background: -moz-linear-gradient(left, #000 0%, #dcdcde 100%);
    background: -webkit-linear-gradient(left, #000 0%,#dcdcde 100%);
    background: linear-gradient(to right, #000 0%,#fff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000', endColorstr='#fff',GradientType=1 );
    -webkit-transform:scale(0);
    -moz-transform:scale(0);
    -ms-transform:scale(0);
    -o-transform:scale(0);
    transform:scale(0);
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.single-profile:hover .single-profile-overlay{
    -webkit-transform:scale(1);
    -moz-transform:scale(1);
    -ms-transform:scale(1);
    -o-transform:scale(1);
    transform:scale(1);
    top:0;
}
.single-profile:hover .profile-icon-name,.single-profile:hover .profile-txt a>i{color: #fff;}
.single-profile:hover .profile-border {border:transparent;}
/*-------------------------------------
        9. Portfolio
--------------------------------------*/
.portfolio {
    padding:  50px 0 100px;
    border:  1px solid #e5ebf2;
}

.portfolio-content {padding-top: 100px;}

/* ---- .item ---- */
.isotope:after {
    content: '';
    display: block;
    clear: both;
}
.isotope .item {
    position:relative;
    overflow:hidden;
    margin-bottom: 30px;
}
/*.item img*/
.isotope .item img{
    width:100%;
    height:100%;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.isotope .item:hover  img{
    -webkit-transform:scale(1.5);
    -moz-transform:scale(1.5);
    -ms-transform:scale(1.5);
    -o-transform:scale(1.5);
    transform:scale(1.5);
}/*.item img*/

/*.isotope-overlay*/
.isotope-overlay{
    position:absolute;
    height:100%;
    width:100%;
    background:rgba(31,44,108,.5);
    display:flex;
    align-items:center;
    text-transform: uppercase;
    justify-content:center;
    flex-direction:row;
    -webkit-transform:scale(0);
    -moz-transform:scale(0);
    -ms-transform:scale(0);
    -o-transform:scale(0);
    transform:scale(0);
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.isotope-overlay a {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    text-align: center;
}
.isotope .item:hover .isotope-overlay{
    -webkit-transform:scale(1);
    -moz-transform:scale(1);
    -ms-transform:scale(1);
    -o-transform:scale(1);
    transform:scale(1);
    top:0;
}/*.isotope-overlay*/

/*-------------------------------------
        10. Clients
--------------------------------------*/
.clients-area {
  width: 100%;
  background: #fff;
  padding: 32px 0;
  display: flex;
  justify-content: center;
}

.clients-carousel-viewport {
  width: 100%;
  max-width: 1200px;
  overflow: hidden;
  position: relative;
}

#client {
  display: flex;
  align-items: center;
  gap: 32px;
  width: max-content;
  will-change: transform;
}
#client .item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;         
  min-width: 44px;      
  margin: 0;
  padding: 0 8px;       
  box-sizing: border-box;
  flex: 0 0 auto;
}

#client .item img {
  height: 100%;         
  width: auto;          
  object-fit: contain;  
  display: block;
  border-radius: 0;
  background: transparent;
}
@media (max-width: 991px) {
  #client .item {
    height: 48px;
    min-width: 36px;
    padding: 0 6px;
  }
  #client .item img {
    height: 100%;
    width: auto;
  }
}

/* Мобильные */
@media (max-width: 480px) {
  #client .item {
    height: 38px;
    min-width: 28px;
    padding: 0 4px;
  }
  #client .item img {
    height: 100%;
    width: auto;
  }
}
/*-------------------------------------
        11. Contact
--------------------------------------*/
.contact {
    background: #f9fbfd;
    padding: 50px 0 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px; /*  */
}
.single-contact-box {
    padding-top: 0 !important;
    margin: 0 auto !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.contact-form  .form-group {
    margin-bottom: 20px;
    
}
.contact-form .form-control {
    padding: 25px;
    font-size: 14px;
    border: 1px solid #dedede;
    border-radius: 15px;
    box-shadow: none;
    outline: 0!important;
    background: #fff;
    color: #636a82;
    resize: none;
}

/*--contct button--*/
.contact-form .single-contact-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 15px;
	height: 50px;
	text-transform: capitalize;
	margin-top: 3px;
	background: #000;
	border: 1px solid #000;
	cursor: pointer;
	box-shadow: 0 5px 20px rgba(0,0,0,0.1);
	-webkit-transition: .5s;
	-moz-transition: .5s;
	-ms-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}
.contact-form .single-contact-btn .contact-btn ,
.contact-form .single-contact-btn .contact-btn:focus {
    margin-top:0px;
    outline: 0 !important;
    border:0;
    color: #fff;
    border-radius: 0px;
    font-size:14px;
    -webkit-transition: .5s; 
    -moz-transition:.5s; 
    -ms-transition:.5s; 
    -o-transition:.5s;
    transition: .5s;
    
}
.single-contact-btn:hover{
    background: #E83100 80%;
    border: 1px solid #808080;
    box-shadow: 0 5px 20px rgba(255,255,255,0.2);
}

/*--contct button--*/

/* contact-adress */
.contact-add-head h3 {
    padding-top: 44px;
    font-size:  24px;
    color:  #3c4258;
}
.contact-add-head p {
    padding-top: 44px;
    font-size:  16px;
    text-transform: capitalize;
    color:  #636a82;
    font-weight:  300;
    margin-top:  6px;
}
/* contact-adress */

/*.contact-add-info */
.contact-add-info { margin: 42px 0 52px;}
.single-contact-add-info h3 {
    color:  #636a82;
    font-weight:  500;
}
.single-contact-add-info p {
    color:  #999fb3;
    font-size:  16px;
    margin-top:  18px;
}
.single-contact-add-info {
    margin-bottom:  26px;
}
/*.contact-add-info */

/*hm-foot-icon*/
.hm-foot-icon {
   
}
.hm-foot-icon ul li{float:left;}
.hm-foot-icon ul li>a {
    color: #636a82;
    margin-right:18px;
    -webkit-transition: .3s; 
    -moz-transition:.3s; 
    -ms-transition:.3s; 
    -o-transition:.3s;
    transition: .3s;
}
.hm-foot-icon ul li>a:hover{
    color: #000;
}/*hm-foot-icon*/

.hm-footer-copyright p{
    color: #888ea5;
    text-transform: capitalize;
    padding: 38px 0;
}
.hm-footer-copyright p a {color: #888ea5;}
/*===============================
    Scroll Top
===============================*/
#scroll-Top  .return-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: none;
    width: 40px;
    line-height: 40px;
    height: 40px;
    text-align: center;
    font-size: 20px;
    cursor: pointer;
    color: #fff;
    background:#2c333b;
	border:1px solid #2c333b;
	border-radius:50%;
	-webkit-transition: .5s; 
	-moz-transition:.5s; 
	-ms-transition:.5s; 
	-o-transition:.5s;
    transition: .5s;
	z-index: 2;
}
#scroll-Top  .return-to-top:hover {
	background: #1f0101;
	color: #000;
	border: 1px solid #1f0101;
}

#scroll-Top  .return-to-top i{
    position:relative;
    bottom:0;

}

#scroll-Top  .return-to-top i{
    position: relative;
    animation-name: example;
    animation-direction: alternate;
    animation-iteration-count: infinite;
    animation-duration:1s;
}
@keyframes example {
    0%   {bottom:0px;}
    100%  {bottom:7px;}
}


section#education { position: relative; }
#rain-container {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 10;
}
.raindrop {
  position: absolute;
  top: -20px;
  width: 10px;            
  height: auto;
  animation-name: fall;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes fall {
  0%   { transform: translateY(-100%); }
  100% { transform: translateY(110vh); }
}
.barWrapper {
    position: relative;    
    overflow: hidden;      
  }
  #fly {
    position: absolute;
    width: 30px;           
    top: 50%;              
    left: 0;               
    transform-origin: center center; 
    pointer-events: none; 
  }

  #experience { position:relative; overflow:hidden; }
  .main-timeline { position:relative; min-height:300px; }
 #fly-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 1;          
}
  .fly-item {
  position: absolute;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
  
}
.tools-circles {
      position: relative;
      width: 100%;
      height: 750px;
      overflow: hidden;
      border: 1px solid #ccc;
      border-radius: 20px;
      margin-top: 20px;
    }
    .tool-circle {
      position: absolute;
      width: 170px;
      height: 170px;
      background: #000;
      color: #fff;
      font-size: 20px;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      pointer-events: none;
      user-select: none;
      white-space: nowrap;
    }
    .tool-circle--green {
      background: #39FF14;
      color: #000;
    }
  #confetti-container {
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10;
}
.confetti {
  border-radius: 2px;
  pointer-events: none;
  will-change: transform, opacity;
}
  .confetti-piece, .star-piece, .ribbon-piece {
    position: absolute;
    pointer-events: none;
    will-change: transform, opacity;
  }
  
  .confetti-piece {
    width: 6px;
    height: 12px;
    background-color: red; 
  }
  
  .star-piece {
    font-size: 12px;
    color: gold;           
    line-height: 1;
  }
  
  .ribbon-piece {
    width: 4px;
    height: 25px;
    background-color: pink; 
    border-radius: 2px;
  }
/* mob*/
@media (max-width: 991px) {
  .tool-circle {
    width: 120px !important;
    height: 120px !important;
    line-height: 120px !important;
    font-size: 0.95em !important;
  }
}
@media (max-width: 575px) {
  .tool-circle {
    width: 90px !important;
    height: 90px !important;
    line-height: 90px !important;
    font-size: 0.8em !important;
  }
}
@keyframes stamp-bounce {
  0% {
    transform: scale(0.7) rotate(-2deg);
    opacity: 0.2;
  }
  60% {
    transform: scale(1.15) rotate(2deg);
    opacity: 1;
  }
  80% {
    transform: scale(0.95) rotate(-1deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}
.section-animate {
  animation: stamp-bounce 0.7s cubic-bezier(.68,-0.55,.27,1.55);
}

.gsap-title {
  display: flex;
  flex-wrap: wrap;
  font-size: 4.5em;
  font-weight: bold;
  justify-content: center;
  gap: 0.05em;
  margin: 60px 0 40px 0;
  color: #fff;
  letter-spacing: 0.02em;
  text-align: center;
  line-height: 1.1;
}
.gsap-title span {
  display: inline-block;
  opacity: 0;
  transform: translateY(0);
  will-change: transform, opacity;
}

.contact-btn {
  font-size: 2em;
  padding: 0.5em 1.5em;
  border-radius: 40px;
  border: none;
  background: #fff;
  color: #222;
  font-weight: bold;
  box-shadow: 0 4px 24px #0002;
  /* position, left, bottom, transform, transition! */
  opacity: 1;
  will-change: transform, opacity;
}
.gsap-subtitle {
  display: flex;
  flex-wrap: wrap;
  font-size: 2.2em;
  font-weight: 500;
  justify-content: center;
  gap: 0.04em;
  margin: 0 0 30px 0;
  color: #fff;
  letter-spacing: 0.01em;
  text-align: center;
  line-height: 1.2;
}
.gsap-subtitle span {
  display: inline-block;
  opacity: 0;
  filter: blur(8px);
  will-change: opacity, filter;
}
.flame-btn {
  position: relative;
  overflow: visible;
}

.flame-text {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-shadow:
    0 0 8px #ff9800,
    0 0 16px #5efd02,
    0 0 32px #ff9800,
    0 0 48px 
    #49ff11;
}

.flame {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 18px;
  height: 28px;
  border-radius: 50% 50% 40% 40%;
  background: radial-gradient(ellipse at center, #fff176 0%, #ff9800 60%, #ff5722 100%);
  opacity: 0.7;
  transform: translateX(-50%) scaleY(1);
  z-index: 1;
  pointer-events: none;
  animation: flame-flicker 1.1s infinite alternate;
  filter: blur(1.5px);
}
.flame1 { left: 44%; width: 13px; height: 20px; animation-delay: 0s; }
.flame2 { left: 50%; width: 18px; height: 28px; animation-delay: 0.3s; }
.flame3 { left: 56%; width: 11px; height: 16px; animation-delay: 0.6s; }

@keyframes flame-flicker {
  0%   { opacity: 0.7; transform: translateX(-50%) scaleY(1) scaleX(1);}
  30%  { opacity: 1;   transform: translateX(-50%) scaleY(1.15) scaleX(0.95);}
  60%  { opacity: 0.8; transform: translateX(-50%) scaleY(0.9) scaleX(1.1);}
  100% { opacity: 0.6; transform: translateX(-50%) scaleY(1.1) scaleX(0.9);}
}
.flame-letter {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.flame-effect {
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 12px;
  height: 18px;
  pointer-events: none;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0.7;
  filter: blur(1.2px);
  animation: flame-letter-flicker 0.7s infinite alternate;
  background: radial-gradient(ellipse at center, #18f711 10%, #ff4800 20%, #55fa08 100%);
}
@keyframes flame-letter-flicker {
  0%   { opacity: 0.7; height: 18px; }
  40%  { opacity: 1;   height: 22px; }
  70%  { opacity: 0.8; height: 15px; }
  100% { opacity: 0.6; height: 19px; }
}
@media (max-width: 1024px) {
  .gsap-title {
    font-size: 2.2em;
    margin: 32px 0 18px 0;
  }
  .gsap-subtitle {
    font-size: 1.1em;
    margin-bottom: 12px;
  }
}
@media (max-width: 600px) {
  .gsap-subtitle {
    font-size: 0.6em;
    line-height: 1.25;
    word-break: break-word;
  }
}
@media (max-width: 767px) {
  .gsap-title {
    font-size: 1.5em;
    margin: 18px 0 8px 0;
  }
  .gsap-subtitle {
    font-size: 0.8em;
    margin-bottom: 6px;
  }
  .contact {
    padding: 30px 0 60px !important;
    min-height: 300px;
  }
  .single-contact-box {
    padding-top: 0 !important;
  }
  .container,
  .container-fluid {
    width: 100vw !important;
    max-width: 100vw !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }
  nav.navbar.bootsnav,
  header,
  nav.navbar.bootsnav .navbar-header,
  nav.navbar.bootsnav ul.nav {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important;
    right: 0 !important;
    overflow-x: hidden !important;
  }
  nav.navbar.bootsnav ul.nav > li {
    width: 100%;
    box-sizing: border-box;
  }
}
@keyframes bounce-in {
  0% { transform: scale(0.7); opacity: 0.2; }
  60% { transform: scale(1.1); opacity: 1; }
  80% { transform: scale(0.95);}
  100% { transform: scale(1);}
}
#gsap-coffee-banner {
  position: fixed;
  bottom: 24px;
  left: 24px;
  right: auto;
  top: auto;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fffbe9;
  color: #222;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.13);
  padding: 10px 22px 10px 16px;
  font-size: 1.1rem;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: box-shadow 0.3s, opacity 0.3s;
  max-width: 320px;
  min-width: 160px;
  width: auto;
  height: auto;
  max-height: 80px;
  box-sizing: border-box;
  flex: none !important;
}

#gsap-coffee-banner.right {
  left: auto !important;
  right: 24px !important;
}

#gsap-coffee-banner .coffee-cup {
  font-size: 2.2em;
  margin-right: 6px;
}

#gsap-coffee-banner .banner-text {
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
  display: block;
}

#gsap-coffee-banner .heart {
  color: #e44;
  font-size: 1.1em;
  margin-left: 6px;
}

/* Mobile */
@media (max-width: 600px) {
  #gsap-coffee-banner {
    max-width: 96vw;
    min-width: 0;
    padding: 8px 4vw 8px 3vw;
    font-size: 0.98rem;
    bottom: 8px;
    left: 8px;
    right: auto;
  }
  #gsap-coffee-banner.right {
    left: auto !important;
    right: 8px !important;
  }
  #gsap-coffee-banner .banner-text {
    font-size: 1.1em;
  }
}

#flying-eyes-container {
  position: fixed;
  left: 0; top: 0; width: 100vw; height: 100vh;
  pointer-events: none; z-index: 99999;
}
.flying-eye {
  position: absolute;
  width: 32px; height: 32px;
  z-index: 99999;
}
.eye-ball {
  width: 32px; height: 32px;
  background: #fff;
  border: 2px solid #222;
  border-radius: 50%;
  position: absolute;
  overflow: hidden;
}
.pupil {
  width: 10px; height: 10px;
  background: #222;
  border-radius: 50%;
  position: absolute;
  left: 11px; top: 11px;
  transition: all 0.2s;
}
.eyelid {
  position: absolute;
  left: 0; top: 0;
  width: 32px; height: 32px;
  background: #fffbe9;
  border-radius: 50%;
  transform: scaleY(0);
  transform-origin: center top;
  z-index: 2;
  transition: transform 0.13s;
  pointer-events: none;
}