 /*  import google fonts */
 @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Ubuntu:wght@400;500;700&display=swap');

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     text-decoration: none;
 }

 html {
     scroll-behavior: smooth;
 }

 /* custom scroll bar */
 ::-webkit-scrollbar {
     width: 10px;
 }

 ::-webkit-scrollbar-track {
     background: #f1f1f1;
 }

 ::-webkit-scrollbar-thumb {
     background: #888;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: #555;
 }

 /* all similar content styling codes */
 section {
     padding: 100px 0;
 }

 .max-width {
     max-width: 1300px;
     padding: 0 80px;
     margin: auto;
 }

 .about,
 .services,
 .skills,
 .teams,
 .contact,
 footer {
     font-family: 'Poppins', sans-serif;
 }

 .about .about-content,
 .services .serv-content,
 .skills .skills-content,
 .contact .contact-content {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     justify-content: space-between;
 }

 section .title {
     position: relative;
     text-align: center;
     font-size: 40px;
     font-weight: 500;
     margin-bottom: 60px;
     padding-bottom: 20px;
     font-family: 'Ubuntu', sans-serif;
 }

 section .title::before {
     content: "";
     position: absolute;
     bottom: 0px;
     left: 50%;
     width: 180px;
     height: 3px;
     background: #ffffff;
     transform: translateX(-50%);
 }

 section .title::after {
     position: absolute;
     bottom: -8px;
     left: 50%;
     font-size: 20px;
     color: crimson;
     padding: 0 5px;
     background: #fff;
     transform: translateX(-50%);
 }

 /* navbar styling */
 .navbar {
     position: fixed;
     width: 100%;
     z-index: 999;
     padding: 30px 0;
     font-family: 'Ubuntu', sans-serif;
     transition: all 0.3s ease;
 }

 .navbar.sticky {
     padding: 15px 0;
     background: crimson;
 }

 .navbar .max-width {
     display: flex;
     align-items: center;
     justify-content: space-between;
 }

 .navbar .logo {
     display: flex;
     align-items: center;
 }

 .navbar .logo .img-box {
     /* border: 1px solid pink; */
     width: 90px;
 }

 .navbar .logo .img-box img {
     width: 100%;
     height: 100%;
 }

 .navbar .logo a {
     color: #fff;
     font-size: 35px;
     font-weight: 600;
 }

 .navbar .logo a span {
     color: crimson;
     transition: all 0.3s ease;
 }

 .navbar.sticky .logo a span {
     color: #fff;
 }

 .navbar .menu li {
     list-style: none;
     display: inline-block;
 }

 .navbar .menu li a {
     display: block;
     color: #fff;
     font-size: 18px;
     font-weight: 500;
     margin-left: 25px;
     transition: color 0.3s ease;
 }

 .navbar .menu li a:hover {
     color: crimson;
 }

 .navbar.sticky .menu li a:hover {
     color: #fff;
 }

 /* menu btn styling */
 .menu-btn {
     color: #fff;
     font-size: 23px;
     cursor: pointer;
     display: none;
 }

 .scroll-up-btn {
     position: fixed;
     height: 45px;
     width: 42px;
     background: crimson;
     right: 30px;
     bottom: 10px;
     text-align: center;
     line-height: 45px;
     color: #fff;
     z-index: 9999;
     font-size: 30px;
     border-radius: 6px;
     border-bottom-width: 2px;
     cursor: pointer;
     opacity: 0;
     pointer-events: none;
     transition: all 0.3s ease;
 }

 .scroll-up-btn.show {
     bottom: 30px;
     opacity: 1;
     pointer-events: auto;
 }

 .scroll-up-btn:hover {
     filter: brightness(90%);
 }


 /* home section styling */
 .home {
     background: url("./src/images/logo-home.jpg") no-repeat center;
     background-size: cover;
     /* background-attachment: fixed; */
     height: 100vh;
     color: #fff;
     min-height: 500px;
     font-family: 'Ubuntu', sans-serif;
 }

 .home .bg-overlay {
     display: flex;
     height: 100vh;
     width: 100%;
     top: 0;
     left: 0;
     position: absolute;

     background-color: #050228;
     opacity: 0.88;
     transition: background 0.3s, border-radius 0.3s, opacity 0.3s;

 }

 .home .max-width {
     width: 100%;
     display: flex;
 }

 .home .max-width .row {
     margin-right: 0;
 }

 .home .home-content .text-1 {
     font-size: 27px;
 }

 .home .home-content .text-2 {
     font-size: 75px;
     font-weight: 600;
     margin-left: -3px;
 }



 .home .home-content .text-3 {
     font-size: 40px;
     margin: 5px 0;
 }

 .home .home-content .text-3 .typing {
     color: crimson;
     font-weight: 500;
     font-size: 40px;
 }

 .home .home-content a {
     display: inline-block;
     background: crimson;
     color: #fff;
     font-size: 25px;
     padding: 12px 36px;
     margin-top: 20px;
     font-weight: 400;
     border-radius: 6px;
     border: 2px solid crimson;
     transition: all 0.3s ease;
 }

 .home .home-content a:hover {
     color: crimson;
     background: none;
 }

 /* about section styling */
 .about .title::after {
     content: "";
 }

 .about .about-content .left {
     width: 45%;
 }

 .about .about-content .left img {
     height: 400px;
     width: 400px;
     object-fit: cover;
     border-radius: 6px;
 }

 .about .about-content .right {
     width: 55%;
 }

 .about .about-content .right .text {
     font-size: 25px;
     font-weight: 600;
     margin-bottom: 10px;
 }

 .about .about-content .typing-2 {
     color: crimson;
 }

 .about .about-content .right p {
     text-align: justify;
 }

 .about .about-content .right a {
     display: inline-block;
     background: crimson;
     color: #fff;
     font-size: 20px;
     font-weight: 500;
     padding: 10px 30px;
     margin-top: 20px;
     border-radius: 6px;
     border: 2px solid crimson;
     transition: all 0.3s ease;
 }

 .about .about-content .right a:hover {
     color: crimson;
     background: none;
 }

 .about {
     background: linear-gradient(90deg, #92EFFD, #4E65FF);


 }

 /* services section styling */
 .services,
 .teams {
     color: #fff;
     background: #111;
 }

 .services .title::before,
 .teams .title::before {
     background: #fff;
 }

 .services .title::after,
 .teams .title::after {
     background: #111;
     content: "";
 }

 .services .serv-content .card {
     width: 250px;
     height: 200px;
     border: 1px solid;
     background: #222;
     text-align: center;
     border-radius: 6px;
     /* padding: 50px 25px; */
     cursor: pointer;
     transition: all 0.3s ease;
     perspective: 800px
 }

 .services .serv-content .card:hover {
     background: crimson;
 }

 .services .serv-content .card .card-inner {
     width: 100%;
     height: 100%;
     position: relative;
     transition: transform 0.8s;
     transform-style: preserve-3d;
 }

 .services .serv-content .card.flipped {
     padding: 0;
 }

 .card.flipped .card-inner {
     transform: rotateY(180deg);
 }

 .card-front,
 .card-back {
     position: absolute;
     width: 100%;
     height: 100%;
     backface-visibility: hidden;
     border-radius: 12px;
     padding: 20px;
     box-sizing: border-box;
 }

 .card-front {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
 }

 .card-back {
     transform: rotateY(180deg);
     display: flex;
     align-items: center;
     /*justify-content: center; */
     text-align: start;
     color: #fff;
 }

 .services .serv-content .card .box {
     transition: all 0.3s ease;
 }

 .services .serv-content .card:hover .box {
     transform: scale(1.05);
 }

 .services .serv-content .card i {
     font-size: 50px;
     color: crimson;
     transition: color 0.3s ease;
 }

 .services .serv-content .card:hover i {
     color: #fff;
 }

 .services .serv-content .card .text {
     font-size: 20px;
     font-weight: 500;
     margin: 10px 0 7px 0;
     /* color: red; */
     text-align: start;
 }

 /* skills section styling */

 #skills {
     /* background: url("./src/images/grunge-background-259.png") no-repeat center;
     background-size: cover;
     background-attachment: fixed; */

     background-color: transparent;
     background-image: linear-gradient(180deg, #040620 0%, #01064E 100%);
 }

 @keyframes rainbow {
     0% {
         background-color: #69c5f0;
     }

     50% {
         background-color: #7fd4b1;
     }

     100% {
         background-color: #00ffd5;
     }
 }

 .skills .title {
     color: #fff;
 }

 .skills .title::after {
     color: #ffffff;
     content: "";
 }

 .skills .skills-content .column {
     width: calc(50% - 30px);
 }

 .skills .skills-content .left .text {
     border-radius: 5px;
     padding: 0 20px;
     /* background: url("./src/images/text-bg.png") no-repeat center; */

     /* background-size: cover; */
     /* border: 1px solid; */
     /* background-attachment: fixed;  */
     font-size: 20px;
     font-weight: 600;
     margin-bottom: 10px;
     color: #faf7f7;
 }

 .skills .skills-content .left p {
     text-align: justify;
 }

 .skills .skills-content .left a {
     display: inline-block;
     background: crimson;
     color: #fff;
     font-size: 18px;
     font-weight: 500;
     padding: 8px 16px;
     margin-top: 20px;
     border-radius: 6px;
     border: 2px solid crimson;
     transition: all 0.3s ease;
 }

 .skills .skills-content .left a:hover {
     color: crimson;
     background: none;
 }

 .skills .skills-content .right .bars {
     margin-bottom: 15px;
 }

 .skills .skills-content .right .info {
     display: flex;
     margin-bottom: 5px;
     align-items: center;
     justify-content: space-between;
 }

 .skills .skills-content .right span {
     font-weight: 500;
     font-size: 18px;
 }

 .skills .skills-content .right .line {
     height: 5px;
     width: 100%;
     background: lightgrey;
     position: relative;
 }

 .skills .skills-content .right .line::before {
     content: "";
     position: absolute;
     height: 100%;
     left: 0;
     top: 0;
     background: crimson;
 }

 .skills-content .right .html::before {
     width: 90%;
 }

 .skills-content .right .css::before {
     width: 60%;
 }

 .skills-content .right .js::before {
     width: 80%;
 }

 .skills-content .right .php::before {
     width: 50%;
 }

 .skills-content .right .mysql::before {
     width: 70%;
 }



 /* contact section styling */
 .contact .title::after {
     content: "";
 }

 .contact .contact-content .column {
     width: calc(50% - 30px);
 }

 .contact .contact-content .text {
     font-size: 20px;
     font-weight: 600;
     margin-bottom: 10px;
 }

 .contact .contact-content .left p {
     text-align: justify;
 }

 .contact .contact-content .left .icons {
     margin: 10px 0;
 }

 .contact .contact-content .row {
     display: flex;
     height: 65px;
     align-items: center;
 }

 .contact .contact-content .row .info {
     margin-left: 30px;
 }

 .contact .contact-content .row i {
     font-size: 25px;
     color: crimson;
 }

 .contact .contact-content .info .head {
     font-weight: 500;
 }

 .contact .contact-content .info .sub-title {
     color: #333;
 }

 .btn-contato {
     display: flex;
     align-items: center;
     gap: 12px;
     font-size: 1.2rem;
     padding: 1rem 2rem;
     border: none;
     border-radius: 12px;
     cursor: pointer;
     color: #fff;
     text-decoration: none;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
     transition: transform 0.2s ease, box-shadow 0.2s ease;
 }

 .btn-contato:hover {
     transform: scale(1.05);
     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
 }

 .btn-whatsapp {
     background-color: #25D366;
     margin-bottom: 3vh;
 }

 .btn-email {
     background-color: #0072C6;
     margin-top: 3vh;
 }


 .contact {
     background: linear-gradient(90deg, #1BFFFF, #2E3192);
 }

 .right form .button-area button {
     color: #fff;
     display: block;
     width: 160px !important;
     height: 45px;
     outline: none;
     font-size: 18px;
     font-weight: 500;
     border-radius: 6px;
     cursor: pointer;
     flex-wrap: nowrap;
     background: crimson;
     border: 2px solid crimson;
     transition: all 0.3s ease;
 }

 .right form .button-area button:hover {
     color: crimson;
     background: none;
 }

 /* footer section styling */
 footer {
     background: #111;
     padding: 15px 23px;
     color: #fff;
     text-align: center;
 }

 footer span a {
     color: crimson;
     text-decoration: none;
 }

 footer span a:hover {
     text-decoration: underline;
 }


 /* responsive media query start */
 @media (max-width: 1104px) {
     .about .about-content .left img {
         height: 350px;
         width: 350px;
     }
 }

 @media (max-width: 991px) {

     .max-width {
         padding: 0 50px;
     }
 }

 @media (max-width: 947px) {
     .services .serv-content .card .text {
         text-align: center;
     }

     .menu-btn {
         display: block;
         z-index: 999;
     }

     .menu-btn i.active:before {
         content: "\f00d";
     }

     .navbar .menu {
         position: fixed;
         height: 100vh;
         width: 100%;
         left: -100%;
         top: 0;
         background: #111;
         text-align: center;
         padding-top: 80px;
         transition: all 0.3s ease;
     }

     .navbar .menu.active {
         left: 0;
     }

     .navbar .menu li {
         display: block;
     }

     .navbar .menu li a {
         display: inline-block;
         margin: 20px 0;
         font-size: 25px;
     }

     .home .home-content .text-2 {
         font-size: 70px;
     }

     .home .home-content .text-3 {
         font-size: 35px;
     }

     .home .home-content .text-3 .typing {
         font-size: 35px;
     }

     .home .home-content a {
         font-size: 23px;
         padding: 10px 30px;
     }

     .max-width {
         max-width: 930px;
     }

     .about .about-content .column {
         width: 100%;
     }

     .about .about-content .left {
         display: flex;
         justify-content: center;
         margin: 0 auto 60px;
     }

     .about .about-content .right {
         flex: 100%;
     }

     .services .serv-content .card {
         width: calc(50% - 10px);
         margin-bottom: 20px;
     }

     .skills .skills-content .column,
     .contact .contact-content .column {
         width: 100%;
         margin-bottom: 35px;
     }
 }

 @media (max-width: 690px) {
     .max-width {
         padding: 0 23px;
     }

     .home .home-content .text-2 {
         font-size: 60px;
     }

     .home .home-content .text-3 {
         font-size: 32px;
     }

     .home .home-content .text-3 .typing {
         font-size: 32px;
     }

     .home .home-content a {
         font-size: 20px;
     }

     .services .serv-content .card {
         width: 100%;
     }
 }

 @media (max-width: 500px) {

     .navbar .logo a {
         font-size: 25px;
     }


     .home .home-content .text-2 {
         font-size: 50px;
     }

     .home .home-content .text-3 {
         font-size: 27px;
     }

     .home .home-content .text-3 .typing {
         font-size: 27px;
     }

     .about .about-content .right .text,
     .skills .skills-content .left .text {
         font-size: 19px;
     }

     .contact .right form .fields {
         flex-direction: column;
     }

     .contact .right form .name,
     .contact .right form .email {
         margin: 0;
     }

     .right form .error-box {
         width: 150px;
     }

     .scroll-up-btn {
         right: 15px;
         bottom: 15px;
         height: 38px;
         width: 35px;
         font-size: 23px;
         line-height: 38px;
     }
 }

 @media (max-width:400px) {
     .home .home-content .text-2 {
         font-size: 40px;
     }

     .contact .contact-content .info .sub-title.email {
         font-size: 15px;
     }
 }

  @media (max-width:370px) {
     .contact .contact-content .info .sub-title.email {
         font-size: 14px;
     }

     
 }

  @media (max-width:355px) {
     .contact .contact-content .info .sub-title.email {
         font-size: 3.8vw;
     }

    }