/**********************************/
/********** General CSS ***********/
/**********************************/
body {
    color: #666666;
    background: #000000;
    font-family: 'Open Sans', sans-serif;
}

a {
    color: #fdfcfc; /* change all color to white */
    transition: all .3s;
}

a:hover,
a:active,
a:focus {
    color: #0070f3;
    outline: none;
    text-decoration: none;
}

.btn:focus {
    box-shadow: none;
}

/* General Styling */
.logo {
    display: flex;
    align-items: right;
    justify-content: center;
    text-decoration: none;
    width: 100%;
    padding: 10px 0 0 0;
    background: #222222; /* Dark background */
    transition: background 0.3s ease, transform 0.2s ease;
}

.logo {
    font-size: 1.2em;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.9);
}



/**********************************/
/****** Layout with Sidebar *******/
/**********************************/
.wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    /* max-width: 1140px; */
}

.wrapper .sidebar {
    position: relative;
    width: 100%;
    float: left;
    background: #222222; /*sidebar ka color*/
}

.wrapper .content {
    position: relative;
    width: 100%;
    padding: 15px;
    float: left;
    background: #222222; /*pure background ka color*/
}

.wrapper .sidebar-header,
.wrapper .sidebar-footer {
    display: none;
}

.navbar {
    padding: 15px;
    background: #222222 !important;
}

.navbar-expand-md .navbar-nav .nav-item {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .2);
}

.navbar-expand-md .navbar-nav .nav-item:first-child{
    border-top: none;
}

.navbar-expand-md .navbar-nav .nav-link {
    color: #ffffff;
    padding: 5px 15px 7px 15px;
    transition: all .1s;
}

.navbar-expand-md .navbar-nav .nav-link i {
    color: #0070f3;   /*bavbar ke text ke background ka colour*/
    float: right;
    padding-top: 5px;
    transition: all .3s;
}

.navbar-expand-md .navbar-nav .nav-link:hover,
.navbar-expand-md .navbar-nav .nav-link.active {
    color: rgba(0, 112, 243, 1);  /*bavbar ke  hover text ke background ka colour*/
}

.navbar-expand-md .navbar-nav .nav-link:hover i,
.navbar-expand-md .navbar-nav .nav-link.active i{
    color: #ffffff; /*bavbar ke text ka colour*/
}

.wrapper .sidebar .sidebar-header img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    display: block;
    margin: 10px 50px 0px 50px;
    border-radius: 50%; /* Circular image */
    }

.glow-img {
    width: 200px;
    height: 250px;
    object-fit: cover;
    border-radius: 5px; /* optional, for slightly rounded corners */
    border: 3px solid rgba(0, 120, 255, 0.3);

  /* Ambient glow effect */
    box-shadow: 
    0 0 25px rgba(0, 120, 255, 0.3),
    0 0 50px rgba(0, 120, 255, 0.2),
    0 0 75px rgba(0, 120, 255, 0.1);
}

.wrapper .sidebar,
.wrapper .content {
    -webkit-transition: margin 200ms ease-out;
    -moz-transition: margin 200ms ease-out;
    -o-transition: margin 200ms ease-out;
    transition: margin 200ms ease-out;
}


.wrapper .sidebar .social-links {
    display: flex; /* Use flexbox for better responsiveness */
    justify-content: center; /* Center the icons */
    gap: 10px; /* Space between icons */
    flex-wrap: wrap; /* Wrap to next line on small screens */
    width: 100%; /* Full width for responsiveness */
    padding: 20px 0 0px; /* Adjust padding */
    text-align: center;
}

.wrapper .sidebar .social-links a {
    display: flex; /* Use flex to align icon properly */
    justify-content: center; /* Center the icon */
    align-items: center; /* Center the icon */
    width: 40px; /* Larger for better visibility */
    height: 40px; /* Keep it circular */
    border-radius: 50%; /* Circular shape */
    font-size: 18px; /* Increase font size */
    color: white; /* Change icon color */
    background: rgba(0, 120, 255, 0.9);; /* Social link background */
    padding: 10px;
    transition: all 0.3s ease, transform 0.2s ease;
}

/* Hover Effect */
.wrapper .sidebar .social-links a:hover {
    background: rgba(0, 150, 255, 1); /* Darker shade on hover */
    transform: scale(1.1); /* Slight zoom effect */
}

.wrapper .sidebar .social-links a i {
    color: #ffffff;
    font-size: 16px;
    padding-top: 5px;
    transition: all .3s;
}

/* Site Name Styling */
.logo .sitename {
    font-size: 24px;
    font-weight: bold;
    color: rgba(0, 150, 255, 1); /* White text */
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Hover Effect */
.logo:hover {
    color: #0070f3; /* Change text color on hover */
    transform: scale(1.05); /* Slight zoom effect */
}

@media (max-width: 767px) {       /* Mobile View se social media icone hatane ke liye*/
    .wrapper .sidebar .social-links a {
    display: none;
    }

    .logo .sitename {
    display: none;
    }
}


@media (min-width: 768px) {
    .wrapper .content {
        padding: 30px 0px 30px 30px;
    }
    
    .wrapper .content::before,
    .wrapper .content::after {
        position: 0;
        content: "";
        width: 100%;
        height: 30px;
        background: #F6D155;
        z-index: 1;
    }
    
    .wrapper .content::before {
        top: 0;
    }
    
    .wrapper .content::after {
        bottom: 0;
    }
    
    .wrapper .sidebar {
        position: fixed;
        width: 300px;
        height: 100%;
        margin-left: -250px;
        float: left;
        overflow: auto;
        scrollbar-width: thin;
        scrollbar-color: gray;
        z-index: 2;
    }

    .wrapper .sidebar:hover {
        margin-left: 0px;
    }
    
    .wrapper .content {
        position: relative;
        width: calc(100% - 50px);
        margin-left: 50px;
        float: right;
    }
    
    .wrapper .sidebar:hover  .sidebar-header {
        position: relative;
        display: block;
        width: 100%;
    }

    .navbar-brand {
        display: none;
    }
    
    .navbar {
        padding: 15px 0;
        flex-direction: column;
    }
    
    .wrapper .sidebar:hover .navbar-expand-md .navbar-nav .nav-link {
        padding: 5px 30px 7px 30px;
    }
    
    .wrapper .sidebar::-webkit-scrollbar {
        width: 7px;
    }

    .wrapper .sidebar::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);
    }

    .wrapper .sidebar::-webkit-scrollbar-thumb {
        background-color: darkgrey;
        outline: 1px solid slategrey;
        border-radius: 7px
    }
    
    .navbar-brand {
        display: none;
    }
    
    .wrapper .sidebar .social-links {
        justify-content: center; /* Center icons on small screens */
        gap: 10px;
    }
    
    .wrapper .sidebar .social-links a {
        width: 40px; /* Slightly smaller */
        height: 40px;
        font-size: 18px;
    }

    .logo .sitename {
        font-size: 18px; /* Reduce font size */
        letter-spacing: 1px;
    }
}


@media (min-width: 992px) {
    .wrapper .sidebar {
        margin: 0;
    }

    .wrapper .content {
        width: calc(100% - 300px);
        margin-left: 300px;
    }

    .sidebar .sidebar-header {
        position: relative;
        display: block;
        width: 100%;
    }
    
    .navbar-expand-md .navbar-nav .nav-link {
        padding: 5px 30px 7px 30px;
    }
    
    .sidebar .sidebar-footer {
        display: block;
    }
}

@media (max-width: 1140px) {
    .wrapper .content {
        padding: 30px;
    }
}

@media (max-width: 576px) {
    .wrapper .content {
        padding: 15px;
        margin-left: 2px;
        margin-right: 2px;
    }

    .wrapper .content-header {
        padding: 5px;

    }

    .logo {
        padding: 8px 0 0 0; /* Smaller padding */
    }

    .logo .sitename {
        font-size: 16px; /* Even smaller text */
    }
}


/**********************************/
/******** Back to Top CSS *********/
/**********************************/
.back-to-top {
    position: fixed;
    display: none;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 1;
    font-size: 30px;
    right: 30px;
    bottom: 30px;
    transition: background 0.5s;
    z-index: 11;
}

.back-to-top i {
    color: #0070f3;
}

.back-to-top i:hover {
    color: #0070f3;
}

.back-to-top {
    -webkit-animation: action 1s infinite  alternate;
    animation: action 1s infinite  alternate;
}

@-webkit-keyframes action {
    0% { transform: translateY(0); }
    100% { transform: translateY(-15px); }
}

@keyframes action {
    0% { transform: translateY(0); }
    100% { transform: translateY(-15px); }
}


/**********************************/
/*********** Header CSS ***********/
/**********************************/
.header {
    position: relative;
    background: url(../img/banner.png) no-repeat;
    border-radius: 10px; 
    overflow: hidden; 
    object-fit: contain;
    margin: 0 30px 30px 10px;
}

.header .content-inner {
    padding: 150px 30px;
    background-size: contain;
    overflow: hidden;
}



.header p {
    color: #0070f3;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 10px;
}

.header h1 {
    color: #ffffff;
    font-size: 50px;
    font-weight: 700;
}

.header h2 {
    display: inline-block;
    margin: 0;
    height: 25px;
    font-size: 25px;
    color: #f1f083;
}

.header .typed-text {
    display: none;
}

.header .typed-cursor {
    font-size: 25px;
    font-weight: 300;
    color: #f1f083;
}

.large-btn .content-inner {
    font-size: 0;
    border-bottom: 30px solid #F6D155;
}

.large-btn .btn {
    position: relative;
    width: 50%;
    padding: 15px 0;
    color: #0070f3;
    font-size: 20px;
    background: #222222;
    border-radius: 0;
}

.large-btn .btn:last-child {
    color: #222222;
    background: #0070f3;
}

.large-btn .btn i {
    margin-right: 8px;
}

.large-btn .btn::after {
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    transition: all .3s;
}

.large-btn .btn:hover::after {
    width: 100%;
    background: rgba(255, 255, 255, .1);
}


/**********************************/
/******* Content Header CSS *******/
/**********************************/
.content-header {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 10px;
    margin: left 120px; 
}

.content-header h2 {
    color: #fdf4f4;
    font-size: 35px;
    font-weight: 700;
    letter-spacing: 3px;
    margin: 0px 740px 0px 0px ;
}

/* education main box for mobile */
@media (max-width: 768px) {
    .header { 
        margin: 0 10px 30px 7px;
    }

    .header .content-inner {
        padding: 100px 10px;
    }

    .header p {
        font-size: 25px;
    }
    
    .header h1 {
        font-size: 35px;
    }
    
    .header h2 {
        font-size: 16px;
    }
    
    .header .typed-text {
        display: none;
    }
    
    .header .typed-cursor {
        font-size: 16px;
        
    }

    .content-header h2 {
    margin: 0px 10px 0px 0px ;
    }

    .header {
    position: relative;
    background: url(../img/mobile_banner.png) no-repeat;
    border-radius: 10px; 
    overflow: hidden; 
    object-fit: contain;
    margin: 0 30px 30px 10px;
    }
}


/* education main box for Smaller Screens (Below 480px) */
@media (max-width: 480px) {
    .header {
        margin: 0 10px 30px 4px;
    }

    .header .content-inner {
        padding: 85px 30px;
    }

    .header p {
        font-size: 18px;
    }
    
    .header h1 {
        font-size: 25px;
    }
    
    .header h2 {
        font-size: 16px;
    }
    
    .header .typed-text {
        display: none;
    }
    
    .header .typed-cursor {
        font-size: 16px;
        
    }
}



/**********************************/
/*********** About CSS ************/
/**********************************/
.about {
    position: relative;
    padding: 10px 10px;
    background: #222222;
    border-radius: 30px; 
    overflow: hidden; 
    margin: 0 30px 30px 10px;
}

/* Responsive Video Container */
.video-container {
    position: relative;
    width: 90%;
    max-width: 600px;
    margin: auto;
    padding-top: 55%; /* 16:9 Aspect Ratio */
    background-color: black;
    overflow: hidden;
    border-radius: 8px;
    border: 3px solid #2e2e2e5e;
    box-shadow: 0px 0px 10px #2e2e2e5e;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Responsive Button */
.about .btn {
    border-radius: 30px;
    color: #222222;
    background: #362502;
    transition: all .3s;
    padding: 15px 80px;
    border: 1px solid #030303;
    z-index: 200;
    display: inline-block;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    margin-left: 550px;
    margin-top: 15px;
}

.about .btn {
    border-radius: 30px;
    color: #222222;
    background: linear-gradient(135deg, rgba(0, 150, 255, 0.8), rgba(0, 80, 200, 0.9));
    transition: all .3s;
}

.about .btn:hover {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(0, 150, 255, 0.8), rgba(0, 80, 200, 0.9));
}


.about h2{
    text-align: center;
    color: #ffffff;
}

.about p{
    color: #ffffff;
}

/* media for mobile */
@media (max-width: 768px) {
    .video-container {
        margin: auto;
        bottom: 20px;
        

    }

    .about {
        padding: 1px 1px;
        margin-left: 2px;
        margin-right: 2px;
    }

    .about p {
        font-size: 16px;

    }

    .about .btn {
        font-size: 16px;
        padding: 8px 16px;
        margin-left: 155px;
    }
}


/* 📌 Special Styling for Smaller Screens (Below 480px) */
@media (max-width: 480px) {
    .about .btn {
        font-size: 16px;
        padding: 8px 16px;
        margin-left: 136px;
    }
}

.centered-container {
    display: flex;
    flex-direction: row; 
    margin-left: 40px; 
    width: 100%; 
    height: 100px; 
    margin-bottom: -40px;
}

.centered-text {
    font-size: 2rem;
    font-weight: bold; 
    color: #ffffff; 
    letter-spacing: 2px; 
}

/* skill section */
.skill {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border-radius: 8px;
    background-color: rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    aspect-ratio: 1.5 / 1;
    position: relative;
}
.tech-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    max-width: 900px;
    width: 100%;
    padding: 2rem;
    margin: auto;
}

.tech-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border-radius: 8px;
    background-color: rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    aspect-ratio: 1.5 / 1;
    position: relative;
}

.tech-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 0 2px #0070f3, 0 0 20px rgba(0, 112, 243, 0.5);
}


.tech-icon {
    font-size: rem;
    margin-bottom: 1rem;
}

.tech-name {
    font-size: 1.2rem;
    font-weight: 500;
}

/* Custom icons */
.icon-python {
    display: inline-block;
    width: 150px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3C!-- Created with Inkscape (http://www.inkscape.org/) --%3E%3Csvg xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:cc='http://web.resource.org/cc/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:sodipodi='http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' version='1.0' width='388.84pt' height='115.02pt' id='svg2' sodipodi:version='0.32' inkscape:version='0.43' sodipodi:docname='logo-python-generic.svg' sodipodi:docbase='/home/sdeibel'%3E%3Cmetadata id='metadata2193'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:format%3Eimage/svg+xml%3C/dc:format%3E%3Cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Csodipodi:namedview inkscape:window-height='543' inkscape:window-width='791' inkscape:pageshadow='2' inkscape:pageopacity='0.0' borderopacity='1.0' bordercolor='%23666666' pagecolor='%23ffffff' id='base' inkscape:zoom='1.4340089' inkscape:cx='243.02499' inkscape:cy='71.887497' inkscape:window-x='0' inkscape:window-y='0' inkscape:current-layer='svg2' /%3E%3Cdefs id='defs4'%3E%3ClinearGradient id='linearGradient2795'%3E%3Cstop style='stop-color:%23b8b8b8;stop-opacity:0.49803922' offset='0' id='stop2797' /%3E%3Cstop style='stop-color:%237f7f7f;stop-opacity:0' offset='1' id='stop2799' /%3E%3C/linearGradient%3E%3ClinearGradient id='linearGradient2787'%3E%3Cstop style='stop-color:%237f7f7f;stop-opacity:0.5' offset='0' id='stop2789' /%3E%3Cstop style='stop-color:%237f7f7f;stop-opacity:0' offset='1' id='stop2791' /%3E%3C/linearGradient%3E%3ClinearGradient id='linearGradient3676'%3E%3Cstop style='stop-color:%23b2b2b2;stop-opacity:0.5' offset='0' id='stop3678' /%3E%3Cstop style='stop-color:%23b3b3b3;stop-opacity:0' offset='1' id='stop3680' /%3E%3C/linearGradient%3E%3ClinearGradient id='linearGradient3236'%3E%3Cstop style='stop-color:%23f4f4f4;stop-opacity:1' offset='0' id='stop3244' /%3E%3Cstop style='stop-color:%23ffffff;stop-opacity:1' offset='1' id='stop3240' /%3E%3C/linearGradient%3E%3ClinearGradient id='linearGradient4671'%3E%3Cstop style='stop-color:%23ffd43b;stop-opacity:1' offset='0' id='stop4673' /%3E%3Cstop style='stop-color:%23ffe873;stop-opacity:1' offset='1' id='stop4675' /%3E%3C/linearGradient%3E%3ClinearGradient id='linearGradient4689'%3E%3Cstop style='stop-color:%235a9fd4;stop-opacity:1' offset='0' id='stop4691' /%3E%3Cstop style='stop-color:%23306998;stop-opacity:1' offset='1' id='stop4693' /%3E%3C/linearGradient%3E%3ClinearGradient x1='224.23996' y1='144.75717' x2='-65.308502' y2='144.75717' id='linearGradient2987' xlink:href='%23linearGradient4671' gradientUnits='userSpaceOnUse' gradientTransform='translate(100.2702,99.61116)' /%3E%3ClinearGradient x1='172.94208' y1='77.475983' x2='26.670298' y2='76.313133' id='linearGradient2990' xlink:href='%23linearGradient4689' gradientUnits='userSpaceOnUse' gradientTransform='translate(100.2702,99.61116)' /%3E%3ClinearGradient x1='172.94208' y1='77.475983' x2='26.670298' y2='76.313133' id='linearGradient2587' xlink:href='%23linearGradient4689' gradientUnits='userSpaceOnUse' gradientTransform='translate(100.2702,99.61116)' /%3E%3ClinearGradient x1='224.23996' y1='144.75717' x2='-65.308502' y2='144.75717' id='linearGradient2589' xlink:href='%23linearGradient4671' gradientUnits='userSpaceOnUse' gradientTransform='translate(100.2702,99.61116)' /%3E%3ClinearGradient x1='172.94208' y1='77.475983' x2='26.670298' y2='76.313133' id='linearGradient2248' xlink:href='%23linearGradient4689' gradientUnits='userSpaceOnUse' gradientTransform='translate(100.2702,99.61116)' /%3E%3ClinearGradient x1='224.23996' y1='144.75717' x2='-65.308502' y2='144.75717' id='linearGradient2250' xlink:href='%23linearGradient4671' gradientUnits='userSpaceOnUse' gradientTransform='translate(100.2702,99.61116)' /%3E%3ClinearGradient x1='224.23996' y1='144.75717' x2='-65.308502' y2='144.75717' id='linearGradient2255' xlink:href='%23linearGradient4671' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)' /%3E%3ClinearGradient x1='172.94208' y1='76.176224' x2='26.670298' y2='76.313133' id='linearGradient2258' xlink:href='%23linearGradient4689' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)' /%3E%3CradialGradient cx='61.518883' cy='132.28575' r='29.036913' fx='61.518883' fy='132.28575' id='radialGradient2801' xlink:href='%23linearGradient2795' gradientUnits='userSpaceOnUse' gradientTransform='matrix(1,0,0,0.177966,0,108.7434)' /%3E%3ClinearGradient x1='150.96111' y1='192.35176' x2='112.03144' y2='137.27299' id='linearGradient1475' xlink:href='%23linearGradient4671' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)' /%3E%3ClinearGradient x1='26.648937' y1='20.603781' x2='135.66525' y2='114.39767' id='linearGradient1478' xlink:href='%23linearGradient4689' gradientUnits='userSpaceOnUse' gradientTransform='matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)' /%3E%3CradialGradient cx='61.518883' cy='132.28575' r='29.036913' fx='61.518883' fy='132.28575' id='radialGradient1480' xlink:href='%23linearGradient2795' gradientUnits='userSpaceOnUse' gradientTransform='matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)' /%3E%3C/defs%3E%3Cg id='g2303'%3E%3Cpath id='path46' style='fill:%23646464;fill-opacity:1' d='M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z ' /%3E%3Cpath id='path48' style='fill:%23646464;fill-opacity:1' d='M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z ' /%3E%3Cpath id='path50' style='fill:%23646464;fill-opacity:1' d='M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z ' /%3E%3Cpath id='path52' style='fill:%23646464;fill-opacity:1' d='M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z ' /%3E%3Cpath id='path54' style='fill:%23646464;fill-opacity:1' d='M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z ' /%3E%3Cpath id='path56' style='fill:%23646464;fill-opacity:1' d='M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z ' /%3E%3Cpath id='path1948' style='fill:url(%23linearGradient1478);fill-opacity:1' d='M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z ' /%3E%3Cpath id='path1950' style='fill:url(%23linearGradient1475);fill-opacity:1' d='M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z ' /%3E%3Cpath id='text3004' style='font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%25;fill:%23646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans' d='M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383' /%3E%3Cpath id='path1894' style='opacity:0.44382019;fill:url(%23radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1' transform='matrix(0.73406,0,0,0.809524,16.24958,27.00935)' d='M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z' /%3E%3C/g%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-numpy {
    display: inline-block;
    width: 150px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 721.86 324.74'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%234d77cf;%7D.cls-2%7Bfill:%234dabcf;%7D%3C/style%3E%3C/defs%3E%3Cg id='Layer_1' data-name='Layer 1'%3E%3Cpath class='cls-1' d='M299.23,125a5.76,5.76,0,0,1,1.62.45,5.58,5.58,0,0,1,1.38.93,17,17,0,0,1,1.49,1.62l41.51,52.47c-.17-1.67-.28-3.31-.36-4.88s-.12-3.07-.12-4.47V124.83h17.87v87.38H352.06a9.68,9.68,0,0,1-3.95-.72,8.47,8.47,0,0,1-3.12-2.64l-41.21-52c.13,1.51.22,3,.3,4.46s.13,2.83.13,4.11v46.84H286.33V124.83H297A17.21,17.21,0,0,1,299.23,125Z'/%3E%3Cpath class='cls-1' d='M392,150v39.46q0,4.62,2.1,7.14a7.62,7.62,0,0,0,6.18,2.52,13.26,13.26,0,0,0,5.73-1.26,21.37,21.37,0,0,0,5.19-3.54V150h18.59v62.19H418.28a4.39,4.39,0,0,1-4.57-3.12l-1.13-3.6a37.32,37.32,0,0,1-3.72,3.16,23.32,23.32,0,0,1-4.11,2.39A24.55,24.55,0,0,1,400,212.6a25,25,0,0,1-5.51.57,21.75,21.75,0,0,1-9-1.77,18.67,18.67,0,0,1-6.63-4.94,21.68,21.68,0,0,1-4.08-7.5,31,31,0,0,1-1.38-9.48V150Z'/%3E%3Cpath class='cls-1' d='M441.78,212.21V150H453.3a5.13,5.13,0,0,1,2.91.78,4.21,4.21,0,0,1,1.65,2.34l1,3.36a33.22,33.22,0,0,1,3.23-3,20.83,20.83,0,0,1,3.63-2.34,19.68,19.68,0,0,1,9.15-2.13,14.6,14.6,0,0,1,9.33,2.91,18.14,18.14,0,0,1,5.6,7.76,18.71,18.71,0,0,1,3.81-4.92,20.42,20.42,0,0,1,4.86-3.29,23.69,23.69,0,0,1,5.51-1.86,28.63,28.63,0,0,1,5.8-.6,26.3,26.3,0,0,1,9.47,1.59,18.05,18.05,0,0,1,6.93,4.62,20.15,20.15,0,0,1,4.23,7.44,32,32,0,0,1,1.44,10v39.52h-18.6V172.69q0-9.66-8.27-9.65a8.46,8.46,0,0,0-6.27,2.49q-2.49,2.47-2.49,7.16v39.52H477.65V172.69q0-5.34-2.1-7.5c-1.4-1.44-3.46-2.15-6.18-2.15a10.53,10.53,0,0,0-4.77,1.13,17.72,17.72,0,0,0-4.23,3.06v45Z'/%3E%3Cpath class='cls-1' d='M562.93,183v29.21H542.66V124.83h30.82A50.86,50.86,0,0,1,589.35,127a30.49,30.49,0,0,1,10.91,6,23.36,23.36,0,0,1,6.33,9.06,30.63,30.63,0,0,1,2,11.27,33.11,33.11,0,0,1-2.1,12,24.08,24.08,0,0,1-6.42,9.36,30,30,0,0,1-10.94,6.08A49.9,49.9,0,0,1,573.48,183Zm0-15.29h10.55c5.28,0,9.08-1.25,11.4-3.78s3.48-6,3.48-10.55a15.79,15.79,0,0,0-.9-5.46,11.11,11.11,0,0,0-2.73-4.23,12.41,12.41,0,0,0-4.62-2.73,20.71,20.71,0,0,0-6.63-1H562.93Z'/%3E%3Cpath class='cls-1' d='M644.61,228.35a6.69,6.69,0,0,1-2,2.72,6.62,6.62,0,0,1-3.84.87H624.82l12-25.18L612,150h16.43a5.25,5.25,0,0,1,3.36,1,5.15,5.15,0,0,1,1.68,2.28l10.19,26.81A59,59,0,0,1,646,187.5c.4-1.28.84-2.54,1.32-3.77s.94-2.5,1.38-3.78l9.24-26.69a4.5,4.5,0,0,1,1.89-2.31,5.4,5.4,0,0,1,3-.93h15Z'/%3E%3Cpolygon class='cls-2' points='132.38 96.4 95.25 77.66 54.49 98 92.63 117.15 132.38 96.4'/%3E%3Cpolygon class='cls-2' points='149.41 104.99 188.34 124.65 147.95 144.93 109.75 125.75 149.41 104.99'/%3E%3Cpolygon class='cls-2' points='201.41 77.94 241.41 98 205.63 115.96 166.62 96.28 201.41 77.94'/%3E%3Cpolygon class='cls-2' points='184.19 69.3 148.18 51.24 112.56 69.02 149.67 87.73 184.19 69.3'/%3E%3Cpolygon class='cls-2' points='156.04 224.36 156.04 273.5 199.66 251.73 199.62 202.57 156.04 224.36'/%3E%3Cpolygon class='cls-2' points='199.6 185.41 199.55 136.77 156.04 158.4 156.04 207.06 199.6 185.41'/%3E%3Cpolygon class='cls-2' points='251.97 176.3 251.97 225.63 214.76 244.19 214.73 195.09 251.97 176.3'/%3E%3Cpolygon class='cls-2' points='251.97 159.05 251.97 110.71 214.69 129.24 214.72 177.98 251.97 159.05'/%3E%3Cpath class='cls-1' d='M140.64,158.4l-29.38-14.78v63.84S75.32,131,72,124.13c-.43-.89-2.19-1.86-2.64-2.1C62.88,118.65,44,109.09,44,109.09V221.92l26.12,14v-59s35.55,68.32,35.92,69.07,3.92,7.94,7.74,10.47c5.07,3.37,26.84,16.46,26.84,16.46Z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-pandas {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath style='-inkscape-stroke:none' d='M48.697 15.176h12.25v25.437h-12.25zm0 52.251h12.25v25.436h-12.25z' color='%23000' fill='%23130754'/%3E%3Cpath style='-inkscape-stroke:none' d='M48.697 48.037h12.25v12.001h-12.25z' color='%23000' fill='%23ffca00'/%3E%3Cpath style='-inkscape-stroke:none' d='M29.017 36.087h12.25v84.552h-12.25zM67.97 88.414h12.25v25.436H67.97zm0-52.297h12.25v25.437H67.97z' color='%23000' fill='%23130754'/%3E%3Cpath style='-inkscape-stroke:none' d='M67.97 68.983h12.25v12.001H67.97z' color='%23000' fill='%23e70488'/%3E%3Cpath style='-inkscape-stroke:none' d='M87.238 8.55h12.25v84.552h-12.25z' color='%23000' fill='%23130754'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-matplot {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' stroke='%23777' fill-opacity='.8'%3E%3Cpath fill='%23FFF' d='m63,1a63,63 0 1,0 2,0zm0,14a49,49 0 1,0 2,0zm0,14a35,35 0 1,0%0A2,0zm0,14a21,21 0 1,0 2,0zm0,14a7,7 0 1,0 2,0zm64,7H1m108-45-90,90m90,0-90-90m45-18v126'/%3E%3Cpath fill='%23F60' d='m50,8-20,10 68,92 10-10L64,64z'/%3E%3Cpath fill='%23FC0' d='m17,50v28L64,64z'/%3E%3Cpath fill='%237F7' d='m64,64 6,35H58z'/%3E%3Cpath fill='%23CF3' d='m64,64 13-40 9,5z'/%3E%3Cpath fill='%2304F' d='m64,64 14-6 1,4zl-26,13 3,4z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-sns {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath d='M56.813 127.586c-1.903-.227-3.899-.52-4.434-.652a48.078 48.078 0 00-2.375-.5 36.042 36.042 0 01-2.703-.633c-4.145-1.188-4.442-1.285-7.567-2.563-2.875-1.172-8.172-3.91-9.984-5.156-.496-.344-.96-.621-1.031-.621-.07 0-1.23-.816-2.578-1.813-8.57-6.343-15.004-14.043-19.653-23.527-.8-1.629-1.453-3.074-1.453-3.21 0-.134-.144-.505-.32-.817-.363-.649-.88-2.047-1.297-3.492a20.047 20.047 0 00-.625-1.813c-.195-.46-.352-1.02-.352-1.246 0-.227-.195-.965-.433-1.645-.238-.675-.43-1.472-.43-1.77 0-.296-.187-1.32-.418-2.276C.598 73.492 0 67.379 0 63.953c0-3.422.598-9.535 1.16-11.894.23-.957.418-2 .418-2.32 0-.321.145-.95.32-1.4.18-.448.41-1.253.516-1.788.11-.535.36-1.457.563-2.055l.59-1.726c.433-1.293.835-2.387 1.027-2.813.11-.238.539-1.21.957-2.16.676-1.535 2.125-4.43 2.972-5.945.309-.555.426-.739 2.098-3.352 2.649-4.148 7.176-9.309 11.39-12.988 1.485-1.297 6.446-5.063 6.669-5.063.062 0 .53-.281 1.043-.625 1.347-.902 2.668-1.668 4.39-2.531a53.06 53.06 0 001.836-.953c.285-.164.82-.41 3.567-1.64.605-.27 1.257-.516 3.136-1.173.414-.144 1.246-.449 1.84-.672.598-.222 1.301-.406 1.563-.406.258 0 .937-.18 1.508-.402.57-.223 1.605-.477 2.304-.563.696-.082 1.621-.277 2.055-.43.43-.148 1.61-.34 2.621-.425a72.572 72.572 0 003.941-.465c2.688-.394 8.532-.394 11.192 0a75.02 75.02 0 003.781.445c.953.079 2.168.278 2.703.442.535.16 1.461.36 2.055.433.594.079 1.594.325 2.222.551.63.23 1.344.414 1.59.414s.754.137 1.125.309c.375.168 1.168.449 1.766.625.594.18 1.613.535 2.27.797.652.261 1.527.605 1.945.761.77.29 6.46 3.137 7.234 3.622 6.281 3.917 9.512 6.476 13.856 10.964 5.238 5.414 8.715 10.57 12.254 18.16.25.536.632 1.329.851 1.758.215.434.395.942.395 1.13 0 .19.18.76.402 1.269.602 1.383 1.117 2.957 1.36 4.16.12.59.343 1.32.495 1.621.153.3.332 1.063.403 1.688.07.624.277 1.648.453 2.269 1.02 3.531 1.527 13.934.91 18.535-.183 1.367-.39 3.02-.46 3.672-.118 1.117-.708 4.004-1.212 5.945l-.52 2.055c-.98 3.957-3.402 9.594-6.359 14.809-1.172 2.07-5.101 7.668-5.843 8.324-.067.058-.399.45-.735.863-.336.418-1.414 1.586-2.39 2.594-4.301 4.441-7.77 7.187-13.86 10.969-.722.449-6.847 3.441-7.992 3.906-.594.238-1.586.64-2.203.89-.613.247-1.297.454-1.512.458-.215.003-.781.195-1.258.425-.476.23-1.082.422-1.351.426-.266.004-1.043.192-1.727.418-.683.23-1.633.477-2.11.55-.476.075-1.495.278-2.269.45-.773.172-3.11.508-5.187.746a59.06 59.06 0 01-13.945-.031zm4.703-12.5c.3-.234.609-.7.691-1.027.18-.723 29.234-58.97 29.781-59.7.461-.617.504-1.605.082-1.953-.222-.187-3.004-.246-10.43-.234-5.57.012-10.253.016-10.406.012-.226-.008-.273-3.73-.25-19.672.016-10.817-.035-19.766-.113-19.89-.078-.126-.383-.227-.68-.227-.418 0-.613.18-.87.808-.485 1.168-1.825 3.82-8.348 16.485a3554.569 3554.569 0 00-4.055 7.89c-1.156 2.262-2.98 5.813-4.047 7.89a8751.248 8751.248 0 00-8.598 16.759c-4.933 9.636-5.53 10.785-5.742 11.039-.41.496-.633 1.64-.402 2.07.21.394.629.41 11.043.394 5.953-.007 10.863.024 10.914.07.137.141.086 37.31-.055 38.196-.093.582-.031.89.235 1.156.46.461.586.457 1.25-.066zm0 0' fill='%23049688'/%3E%3C/svg%3E%0A");    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-sklearn {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath fill='%23f89939' d='M98.18 88.13c15.63-15.62 18.23-38.36 5.8-50.78-12.43-12.42-35.17-9.82-50.8 5.8-15.63 15.62-11.11 45.48-5.8 50.78 4.29 4.29 35.17 9.82 50.8-5.8Z'/%3E%3Cpath fill='%233499cd' d='M34.04 65.56c-9.07-9.06-22.27-10.57-29.48-3.37-7.21 7.21-5.7 20.4 3.37 29.46 9.07 9.07 26.4 6.44 29.48 3.37 2.49-2.49 5.71-20.4-3.37-29.46Z'/%3E%3Cpath fill='%23010101' d='M123.82 85.68c-.58 0-.87-.35-.87-1.06 0-.53.35-1.69 1.04-3.46 1.01-2.59 1.52-4.45 1.52-5.58 0-.68-.2-1.25-.6-1.7-.4-.45-.9-.68-1.5-.68-.88 0-1.89.41-3.03 1.24-1.14.83-2.67 2.32-4.6 4.48.28-1.4.88-3.32 1.78-5.76l-4.31.83c-.98 2.12-1.69 4.03-2.13 5.73-.22.83-.38 1.69-.49 2.56-1.35 1.31-2.23 2.1-2.61 2.39-.39.29-.8.43-1.22.43-.39 0-.7-.15-.93-.44-.23-.29-.34-.69-.34-1.18 0-.53.1-1.14.3-1.83s.64-1.99 1.33-3.9l1.64-4.52-1.61.07c-1.46 2.78-3.17 4.28-5.13 4.49.53-1.38.8-2.44.8-3.18 0-.94-.46-1.41-1.38-1.41-1.09 0-1.94.51-2.55 1.54-.62 1.03-.93 2-.93 2.91s.51 1.55 1.52 2c-.66.97-1.4 1.88-2.2 2.74-.95.94-1.69 1.66-2.23 2.13-.55.49-1.06.73-1.52.73-.72 0-1.08-.51-1.08-1.52s.4-2.75 1.2-5.35l1.56-5.18h-.99l-3.61 2c-.59-1.35-1.62-2.03-3.09-2.03-1.17 0-2.51.5-4.03 1.49-1.52.99-2.77 2.28-3.74 3.89-.75 1.24-1.21 2.54-1.38 3.88-1.36 1.36-2.38 2.24-3.06 2.65-.71.42-1.45.63-2.23.63-1.99 0-3.22-1.15-3.69-3.45 5.19-1.52 7.78-3.5 7.78-5.94 0-.92-.33-1.66-.99-2.23-.66-.57-1.54-.85-2.63-.85-2.11 0-4.03 1.01-5.76 3.03-1.57 1.83-2.42 3.86-2.57 6.09-1.43 1.41-2.51 2.34-3.21 2.79-.72.46-1.4.69-2.03.69s-1.13-.3-1.5-.9c-.38-.6-.57-1.41-.57-2.44 0-.46.05-1.3.14-2.53 2.36-2.56 4.09-4.96 5.2-7.21 1.11-2.25 1.66-4.58 1.66-6.98 0-.85-.11-1.52-.33-2.02-.22-.5-.5-.75-.84-.75-.07 0-.18.02-.32.07l-4.49 1.66c-1.53 2.92-2.84 6.11-3.91 9.58-1.07 3.46-1.61 6.43-1.61 8.9 0 1.65.38 2.96 1.16 3.94.77.98 1.79 1.47 3.05 1.47 1.1 0 2.25-.35 3.46-1.05 1.21-.7 2.61-1.79 4.22-3.26s0-.02 0-.02c.19 1.11.65 2.04 1.37 2.8.99 1.02 2.28 1.54 3.88 1.54 1.44 0 2.75-.35 3.94-1.05 1.15-.67 2.44-1.72 3.88-3.11.12 1.04.46 1.94 1.03 2.71.73.97 1.61 1.46 2.64 1.46s2.09-.4 3.09-1.2c1-.8 2.08-2.05 3.26-3.73-.11 3.29.77 4.93 2.63 4.93.74 0 1.52-.27 2.33-.81s2.16-1.71 4.05-3.5c1.64-1.62 2.84-3.14 3.61-4.56 1.04-.18 1.99-.49 2.86-.94-1.78 2.79-2.67 5.02-2.67 6.68 0 .9.25 1.65.74 2.25.49.6 1.1.91 1.82.91 1.57 0 3.8-1.41 6.68-4.2 0 .22-.02.43-.02.65 0 .78.07 1.96.19 3.55l3.91-.92c0-1.06.02-1.9.05-2.53.06-.84.18-1.76.35-2.76.11-.59.38-1.15.81-1.68l.99-1.15c.36-.42.71-.8 1.02-1.13.37-.39.7-.72.99-.99.33-.29.62-.53.87-.69.27-.16.49-.25.65-.25.29 0 .44.19.44.57s-.28 1.26-.83 2.65c-1.04 2.59-1.56 4.52-1.56 5.78 0 .93.24 1.67.73 2.23.48.55 1.12.83 1.91.83 1.94 0 4.28-1.44 7-4.31V82.3c-1.93 2.27-3.32 3.41-4.18 3.41Zm-65.26-8.29c.8-3.91 1.62-6.94 2.45-9.11.83-2.17 1.47-3.26 1.9-3.26.2 0 .37.13.5.4.13.26.19.62.19 1.05 0 1.49-.46 3.26-1.4 5.33-.93 2.06-2.15 3.93-3.64 5.59Zm11.79-.98c.71-1.19 1.45-1.78 2.23-1.78.82 0 1.24.57 1.24 1.7 0 2.29-1.51 3.85-4.53 4.7 0-1.9.35-3.44 1.06-4.62Zm17.48 5.85c-1.04 2.01-2.16 3.01-3.33 3.01-.48 0-.88-.2-1.19-.59-.31-.39-.47-.91-.47-1.55 0-1.68.53-3.53 1.58-5.53 1.05-2 2.17-3 3.35-3 .49 0 .89.18 1.18.56.29.37.44.89.44 1.55 0 1.7-.52 3.55-1.56 5.56Z'/%3E%3Cpath fill='%23fff' d='M75.46 64.88c.15.21.22.48.22.8s-.09.61-.27.88-.44.49-.79.64c-.34.15-.73.23-1.16.23-.72 0-1.26-.15-1.64-.45s-.62-.74-.72-1.33l.93-.15c.05.37.2.66.43.85.24.2.57.3 1 .3s.75-.09.96-.26c.21-.17.31-.38.31-.62 0-.21-.09-.38-.28-.5-.13-.08-.45-.19-.96-.32-.69-.17-1.16-.32-1.43-.45s-.47-.3-.6-.53-.21-.47-.21-.74c0-.25.06-.47.17-.68.11-.21.27-.38.46-.52.15-.11.34-.2.59-.27.25-.07.52-.11.81-.11.43 0 .81.06 1.14.19.33.12.57.29.73.51.16.21.26.5.32.86l-.92.12c-.04-.28-.16-.51-.36-.67-.2-.16-.48-.24-.85-.24-.43 0-.74.07-.92.21-.18.14-.28.31-.28.5 0 .12.04.23.11.33.08.1.2.18.36.25.09.03.37.11.83.24.66.18 1.12.32 1.39.43.26.11.47.28.62.49Zm4.47 1.44c-.25.23-.55.34-.92.34-.46 0-.83-.17-1.11-.5s-.43-.88-.43-1.62.15-1.27.44-1.6.68-.51 1.15-.51c.31 0 .58.09.8.28.22.19.37.47.46.84l.91-.14c-.11-.56-.35-.99-.73-1.29-.38-.3-.87-.45-1.47-.45-.48 0-.91.11-1.32.34-.4.22-.71.56-.9 1.01-.2.45-.3.97-.3 1.57 0 .92.23 1.63.69 2.12.46.49 1.07.74 1.82.74.6 0 1.11-.18 1.53-.54.41-.36.67-.86.77-1.49l-.92-.12c-.07.47-.22.81-.47 1.04Zm2.19.98h.94v-5.52h-.94v5.52Zm0-6.55h.94v-1.08h-.94v1.08Zm6.73 1.02h-1.21l-2.22 2.25v-4.35h-.94v7.62h.94V65.1l.66-.63 1.83 2.82h1.16l-2.33-3.47 2.11-2.05Zm.96-1.02h.94v-1.08h-.94v1.08Zm0 6.55h.94v-5.52h-.94v5.52Zm4.41-.84c-.17.02-.31.04-.41.04-.14 0-.25-.02-.32-.07s-.13-.11-.16-.18c-.03-.08-.05-.25-.05-.51v-3.23h.94v-.73h-.94v-1.93l-.93.56v1.37h-.69v.73h.69v3.18c0 .56.04.93.11 1.1.08.18.21.32.39.42.19.11.45.16.79.16.21 0 .44-.03.71-.08l-.14-.83Z'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-pytorch {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --%3E%3Csvg width='800px' height='800px' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' fill='none'%3E%3Cpath fill='%23252F3E' d='M4.51 7.687c0 .197.02.357.058.475.042.117.096.245.17.384a.233.233 0 01.037.123c0 .053-.032.107-.1.16l-.336.224a.255.255 0 01-.138.048c-.054 0-.107-.026-.16-.074a1.652 1.652 0 01-.192-.251 4.137 4.137 0 01-.165-.315c-.415.491-.936.737-1.564.737-.447 0-.804-.129-1.064-.385-.261-.256-.394-.598-.394-1.025 0-.454.16-.822.484-1.1.325-.278.756-.416 1.304-.416.18 0 .367.016.564.042.197.027.4.07.612.118v-.39c0-.406-.085-.689-.25-.854-.17-.166-.458-.246-.868-.246-.186 0-.377.022-.574.07a4.23 4.23 0 00-.575.181 1.525 1.525 0 01-.186.07.326.326 0 01-.085.016c-.075 0-.112-.054-.112-.166v-.262c0-.085.01-.15.037-.186a.399.399 0 01.15-.113c.185-.096.409-.176.67-.24.26-.07.537-.101.83-.101.633 0 1.096.144 1.394.432.293.288.442.726.442 1.314v1.73h.01zm-2.161.811c.175 0 .356-.032.548-.096.191-.064.362-.182.505-.342a.848.848 0 00.181-.341c.032-.129.054-.283.054-.465V7.03a4.43 4.43 0 00-.49-.09 3.996 3.996 0 00-.5-.033c-.357 0-.618.07-.793.214-.176.144-.26.347-.26.614 0 .25.063.437.196.566.128.133.314.197.559.197zm4.273.577c-.096 0-.16-.016-.202-.054-.043-.032-.08-.106-.112-.208l-1.25-4.127a.938.938 0 01-.049-.214c0-.085.043-.133.128-.133h.522c.1 0 .17.016.207.053.043.032.075.107.107.208l.894 3.535.83-3.535c.026-.106.058-.176.1-.208a.365.365 0 01.214-.053h.425c.102 0 .17.016.213.053.043.032.08.107.101.208l.841 3.578.92-3.578a.458.458 0 01.107-.208.346.346 0 01.208-.053h.495c.085 0 .133.043.133.133 0 .027-.006.054-.01.086a.76.76 0 01-.038.133l-1.283 4.127c-.032.107-.069.177-.111.209a.34.34 0 01-.203.053h-.457c-.101 0-.17-.016-.213-.053-.043-.038-.08-.107-.101-.214L8.213 5.37l-.82 3.439c-.026.107-.058.176-.1.213-.043.038-.118.054-.213.054h-.458zm6.838.144a3.51 3.51 0 01-.82-.096c-.266-.064-.473-.134-.612-.214-.085-.048-.143-.101-.165-.15a.378.378 0 01-.031-.149v-.272c0-.112.042-.166.122-.166a.3.3 0 01.096.016c.032.011.08.032.133.054.18.08.378.144.585.187.213.042.42.064.633.064.336 0 .596-.059.777-.176a.575.575 0 00.277-.508.52.52 0 00-.144-.373c-.095-.102-.276-.193-.537-.278l-.772-.24c-.388-.123-.676-.305-.851-.545a1.275 1.275 0 01-.266-.774c0-.224.048-.422.143-.593.096-.17.224-.32.384-.438.16-.122.34-.213.553-.277.213-.064.436-.091.67-.091.118 0 .24.005.357.021.122.016.234.038.346.06.106.026.208.052.303.085.096.032.17.064.224.096a.46.46 0 01.16.133.289.289 0 01.047.176v.251c0 .112-.042.171-.122.171a.552.552 0 01-.202-.064 2.427 2.427 0 00-1.022-.208c-.303 0-.543.048-.708.15-.165.1-.25.256-.25.475 0 .149.053.277.16.379.106.101.303.202.585.293l.756.24c.383.123.66.294.825.513.165.219.244.47.244.748 0 .23-.047.437-.138.619a1.436 1.436 0 01-.388.47c-.165.133-.362.23-.591.299-.24.075-.49.112-.761.112z'/%3E%3Cg fill='%23F90' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath d='M14.465 11.813c-1.75 1.297-4.294 1.986-6.481 1.986-3.065 0-5.827-1.137-7.913-3.027-.165-.15-.016-.353.18-.235 2.257 1.313 5.04 2.109 7.92 2.109 1.941 0 4.075-.406 6.039-1.239.293-.133.543.192.255.406z'/%3E%3Cpath d='M15.194 10.98c-.223-.287-1.479-.138-2.048-.069-.17.022-.197-.128-.043-.24 1-.705 2.645-.502 2.836-.267.192.24-.053 1.89-.99 2.68-.143.123-.281.06-.218-.1.213-.53.687-1.72.463-2.003z'/%3E%3C/g%3E%3C/svg%3E");    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-mysql {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath fill='%2300618A' d='M116.948 97.807c-6.863-.187-12.104.452-16.585 2.341-1.273.537-3.305.552-3.513 2.147.7.733.809 1.829 1.365 2.731 1.07 1.73 2.876 4.052 4.488 5.268 1.762 1.33 3.577 2.751 5.465 3.902 3.358 2.047 7.107 3.217 10.34 5.268 1.906 1.21 3.799 2.733 5.658 4.097.92.675 1.537 1.724 2.732 2.147v-.194c-.628-.8-.79-1.898-1.366-2.733l-2.537-2.537c-2.48-3.292-5.629-6.184-8.976-8.585-2.669-1.916-8.642-4.504-9.755-7.609l-.195-.195c1.892-.214 4.107-.898 5.854-1.367 2.934-.786 5.556-.583 8.585-1.365l4.097-1.171v-.78c-1.531-1.571-2.623-3.651-4.292-5.073-4.37-3.72-9.138-7.437-14.048-10.537-2.724-1.718-6.089-2.835-8.976-4.292-.971-.491-2.677-.746-3.318-1.562-1.517-1.932-2.342-4.382-3.511-6.633-2.449-4.717-4.854-9.868-7.024-14.831-1.48-3.384-2.447-6.72-4.293-9.756-8.86-14.567-18.396-23.358-33.169-32-3.144-1.838-6.929-2.563-10.929-3.513-2.145-.129-4.292-.26-6.438-.391-1.311-.546-2.673-2.149-3.902-2.927C17.811 4.565 5.257-2.16 1.633 6.682c-2.289 5.581 3.421 11.025 5.462 13.854 1.434 1.982 3.269 4.207 4.293 6.438.674 1.467.79 2.938 1.367 4.489 1.417 3.822 2.652 7.98 4.487 11.511.927 1.788 1.949 3.67 3.122 5.268.718.981 1.951 1.413 2.145 2.927-1.204 1.686-1.273 4.304-1.95 6.44-3.05 9.615-1.899 21.567 2.537 28.683 1.36 2.186 4.567 6.871 8.975 5.073 3.856-1.57 2.995-6.438 4.098-10.732.249-.973.096-1.689.585-2.341v.195l3.513 7.024c2.6 4.187 7.212 8.562 11.122 11.514 2.027 1.531 3.623 4.177 6.244 5.073v-.196h-.195c-.508-.791-1.303-1.119-1.951-1.755-1.527-1.497-3.225-3.358-4.487-5.073-3.556-4.827-6.698-10.11-9.561-15.609-1.368-2.627-2.557-5.523-3.709-8.196-.444-1.03-.438-2.589-1.364-3.122-1.263 1.958-3.122 3.542-4.098 5.854-1.561 3.696-1.762 8.204-2.341 12.878-.342.122-.19.038-.391.194-2.718-.655-3.672-3.452-4.683-5.853-2.554-6.07-3.029-15.842-.781-22.829.582-1.809 3.21-7.501 2.146-9.172-.508-1.666-2.184-2.63-3.121-3.903-1.161-1.574-2.319-3.646-3.124-5.464-2.09-4.731-3.066-10.044-5.267-14.828-1.053-2.287-2.832-4.602-4.293-6.634-1.617-2.253-3.429-3.912-4.683-6.635-.446-.968-1.051-2.518-.391-3.513.21-.671.508-.951 1.171-1.17 1.132-.873 4.284.29 5.462.779 3.129 1.3 5.741 2.538 8.392 4.294 1.271.844 2.559 2.475 4.097 2.927h1.756c2.747.631 5.824.195 8.391.975 4.536 1.378 8.601 3.523 12.292 5.854 11.246 7.102 20.442 17.21 26.732 29.269 1.012 1.942 1.45 3.794 2.341 5.854 1.798 4.153 4.063 8.426 5.852 12.488 1.786 4.052 3.526 8.141 6.05 11.513 1.327 1.772 6.451 2.723 8.781 3.708 1.632.689 4.307 1.409 5.854 2.34 2.953 1.782 5.815 3.903 8.586 5.855 1.383.975 5.64 3.116 5.852 4.879zM29.729 23.466c-1.431-.027-2.443.156-3.513.389v.195h.195c.683 1.402 1.888 2.306 2.731 3.513.65 1.367 1.301 2.732 1.952 4.097l.194-.193c1.209-.853 1.762-2.214 1.755-4.294-.484-.509-.555-1.147-.975-1.755-.556-.811-1.635-1.272-2.339-1.952z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-mongodb {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg height='1em' style='flex:none;line-height:1' viewBox='0 0 24 24' width='1em' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3ECrewAI%3C/title%3E%3Cpath d='M19.41 10.783a2.753 2.753 0 012.471 1.355c.483.806.622 1.772.385 2.68l-.136.522a9.994 9.994 0 01-3.156 5.058c-.605.517-1.283 1.062-2.083 1.524l-.028.017c-.402.232-.884.511-1.398.756-1.19.602-2.475.997-3.798 1.167-.854.111-1.716.155-2.577.132H9.072a8.588 8.588 0 01-5.046-1.87l-.012-.01-.012-.01A8.024 8.024 0 011.22 17.42a10.916 10.916 0 01-.102-3.779A15.622 15.622 0 012.88 8.4a21.758 21.758 0 012.432-3.678 15.44 15.44 0 013.56-3.182A9.958 9.958 0 0112.44.104h.004l.003-.002c2.057-.384 3.743.374 5.024 1.26a8.28 8.28 0 012.395 2.513l.024.04.023.042a5.474 5.474 0 01.508 4.012c-.239.97-.577 1.914-1.01 2.814z' fill='%23461816'%3E%3C/path%3E%3Cpath d='M18.861 13.165a.748.748 0 011.256.031c.199.332.256.73.159 1.103l-.137.522a7.936 7.936 0 01-2.504 4.014c-.572.49-1.138.939-1.774 1.306-.427.247-.857.496-1.303.707a9.628 9.628 0 01-3.155.973 14.33 14.33 0 01-2.257.116 6.531 6.531 0 01-3.837-1.422 5.967 5.967 0 01-2.071-3.494 8.859 8.859 0 01-.085-3.08 13.56 13.56 0 011.54-4.568 19.701 19.701 0 012.212-3.348 13.382 13.382 0 013.088-2.76 7.9 7.9 0 012.832-1.14c1.307-.245 2.434.207 3.481.933a6.222 6.222 0 011.806 1.892c.423.767.536 1.668.314 2.515a12.394 12.394 0 01-.99 2.67l-.223.497c-.321.713-.642 1.426-.97 2.137a.762.762 0 01-.97.467 3.39 3.39 0 01-2.283-2.49c-.095-.83.04-1.669.39-2.426.288-.746.61-1.477.933-2.208l.248-.563a.53.53 0 00-.204-.742 2.35 2.35 0 00-1.2.702 25.291 25.291 0 00-1.614 1.767 21.561 21.561 0 00-2.619 4.184 7.59 7.59 0 00-.816 2.753 7.042 7.042 0 00.07 2.219 2.055 2.055 0 001.934 1.715c1.801.1 3.59-.363 5.116-1.328.582-.4 1.141-.831 1.675-1.294.752-.71 1.376-1.519 1.958-2.36z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-docker {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 128 128'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%233A4D54' d='M73.8 50.8h11.3v11.5h5.7c2.6 0 5.3-.5 7.8-1.3 1.2-.4 2.6-1 3.8-1.7-1.6-2.1-2.4-4.7-2.6-7.3-.3-3.5.4-8.1 2.8-10.8l1.2-1.4 1.4 1.1c3.6 2.9 6.5 6.8 7.1 11.4 4.3-1.3 9.3-1 13.1 1.2l1.5.9-.8 1.6c-3.2 6.2-9.9 8.2-16.4 7.8-9.8 24.3-31 35.8-56.8 35.8-13.3 0-25.5-5-32.5-16.8l-.1-.2-1-2.1c-2.4-5.2-3.1-10.9-2.6-16.6l.2-1.7h9.6V50.8h11.3V39.6h22.5V28.3h13.5v22.5z'/%3E%3Cpath fill='%2300AADA' d='M110.4 55.1c.8-5.9-3.6-10.5-6.4-12.7-3.1 3.6-3.6 13.2 1.3 17.2-2.8 2.4-8.5 4.7-14.5 4.7H18.6c-.6 6.2.5 11.9 3 16.8l.8 1.5c.5.9 1.1 1.7 1.7 2.6 3 .2 5.7.3 8.2.2 4.9-.1 8.9-.7 12-1.7.5-.2.9.1 1.1.5.2.5-.1.9-.5 1.1-.4.1-.8.3-1.3.4-2.4.7-5 1.1-8.3 1.3h-.6c-1.3.1-2.7.1-4.2.1-1.6 0-3.1 0-4.9-.1 6 6.8 15.4 10.8 27.2 10.8 25 0 46.2-11.1 55.5-35.9 6.7.7 13.1-1 16-6.7-4.5-2.7-10.5-1.8-13.9-.1z'/%3E%3Cpath fill='%2328B8EB' d='M110.4 55.1c.8-5.9-3.6-10.5-6.4-12.7-3.1 3.6-3.6 13.2 1.3 17.2-2.8 2.4-8.5 4.7-14.5 4.7h-68c-.3 9.5 3.2 16.7 9.5 21 4.9-.1 8.9-.7 12-1.7.5-.2.9.1 1.1.5.2.5-.1.9-.5 1.1-.4.1-.8.3-1.3.4-2.4.7-5.2 1.2-8.5 1.4l-.1-.1c8.5 4.4 20.8 4.3 35-1.1 15.8-6.1 30.6-17.7 40.9-30.9-.2.1-.4.1-.5.2z'/%3E%3Cpath fill='%23028BB8' d='M18.7 71.8c.4 3.3 1.4 6.4 2.9 9.3l.8 1.5c.5.9 1.1 1.7 1.7 2.6 3 .2 5.7.3 8.2.2 4.9-.1 8.9-.7 12-1.7.5-.2.9.1 1.1.5.2.5-.1.9-.5 1.1-.4.1-.8.3-1.3.4-2.4.7-5.2 1.2-8.5 1.4h-.4c-1.3.1-2.7.1-4.1.1-1.6 0-3.2 0-4.9-.1 6 6.8 15.5 10.8 27.3 10.8 21.4 0 40-8.1 50.8-26H18.7v-.1z'/%3E%3Cpath fill='%23019BC6' d='M23.5 71.8c1.3 5.8 4.3 10.4 8.8 13.5 4.9-.1 8.9-.7 12-1.7.5-.2.9.1 1.1.5.2.5-.1.9-.5 1.1-.4.1-.8.3-1.3.4-2.4.7-5.2 1.2-8.6 1.4 8.5 4.4 20.8 4.3 34.9-1.1 8.5-3.3 16.8-8.2 24.2-14.1H23.5z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2300ACD3' d='M28.4 52.7h9.8v9.8h-9.8v-9.8zm.8.8h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm3-12h9.8v9.8h-9.8v-9.8zm.9.8h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2323C2EE' d='M39.6 52.7h9.8v9.8h-9.8v-9.8zm.9.8h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2300ACD3' d='M50.9 52.7h9.8v9.8h-9.8v-9.8zm.8.8h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2323C2EE' d='M50.9 41.5h9.8v9.8h-9.8v-9.8zm.8.8h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm3.1 10.4H72v9.8h-9.8v-9.8zm.8.8h.8v8.1H63v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2300ACD3' d='M62.2 41.5H72v9.8h-9.8v-9.8zm.8.8h.8v8.1H63v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2323C2EE' d='M62.2 30.2H72V40h-9.8v-9.8zm.8.8h.8v8.1H63V31zm1.5 0h.8v8.1h-.8V31zm1.4 0h.8v8.1h-.8V31zm1.5 0h.8v8.1h-.8V31zm1.5 0h.8v8.1h-.8V31zm1.5 0h.8v8.1h-.8V31z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%2300ACD3' d='M73.5 52.7h9.8v9.8h-9.8v-9.8zm.8.8h.8v8.1h-.8v-8.1zm1.4 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1zm1.5 0h.8v8.1h-.8v-8.1z'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%23D4EEF1' d='M48.8 78.3c1.5 0 2.7 1.2 2.7 2.7 0 1.5-1.2 2.7-2.7 2.7-1.5 0-2.7-1.2-2.7-2.7 0-1.5 1.2-2.7 2.7-2.7'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' fill='%233A4D54' d='M48.8 79.1c.2 0 .5 0 .7.1-.2.1-.4.4-.4.7 0 .4.4.8.8.8.3 0 .6-.2.7-.4.1.2.1.5.1.7 0 1.1-.9 1.9-1.9 1.9-1.1 0-1.9-.9-1.9-1.9 0-1 .8-1.9 1.9-1.9M1.1 72.8h125.4c-2.7-.7-8.6-1.6-7.7-5.2-5 5.7-16.9 4-20 1.2-3.4 4.9-23 3-24.3-.8-4.2 5-17.3 5-21.5 0-1.4 3.8-21 5.7-24.3.8-3 2.8-15 4.5-20-1.2 1.1 3.5-4.9 4.5-7.6 5.2'/%3E%3Cpath fill='%23BFDBE0' d='M56 97.8c-6.7-3.2-10.3-7.5-12.4-12.2-2.5.7-5.5 1.2-8.9 1.4-1.3.1-2.7.1-4.1.1-1.7 0-3.4 0-5.2-.1 6 6 13.6 10.7 27.5 10.8H56z'/%3E%3Cpath fill='%23D4EEF1' d='M46.1 89.9c-.9-1.3-1.8-2.8-2.5-4.3-2.5.7-5.5 1.2-8.9 1.4 2.3 1.2 5.7 2.4 11.4 2.9z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-tenser {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' id='Langchain--Streamline-Simple-Icons' height='24' width='24'%3E%3Cdesc%3E Langchain Streamline Icon: https://streamlinehq.com %3C/desc%3E%3Ctitle%3ELangChain%3C/title%3E%3Cpath d='M6.0988 5.9175C2.7359 5.9175 0 8.6462 0 12s2.736 6.0825 6.0988 6.0825h11.8024C21.2641 18.0825 24 15.3538 24 12s-2.736 -6.0825 -6.0988 -6.0825ZM5.9774 7.851c0.493 0.0124 1.02 0.2496 1.273 0.6228 0.3673 0.4592 0.4778 1.0668 0.8944 1.4932 0.5604 0.6118 1.199 1.1505 1.7161 1.802 0.4892 0.5954 0.8386 1.2937 1.1436 1.9975 0.1244 0.2335 0.1257 0.5202 0.31 0.7197 0.0908 0.1204 0.5346 0.4483 0.4383 0.5645 0.0555 0.1204 0.4702 0.286 0.3263 0.4027 -0.1944 0.04 -0.4129 0.0476 -0.5616 -0.1074 -0.0549 0.126 -0.183 0.0596 -0.2819 0.0432a4 4 0 0 0 -0.025 0.0736c-0.3288 0.0219 -0.5754 -0.3126 -0.732 -0.565 -0.3111 -0.168 -0.6642 -0.2702 -0.982 -0.446 -0.0182 0.2895 0.0452 0.6485 -0.231 0.8353 -0.014 0.5565 0.8436 0.0656 0.9222 0.4804 -0.061 0.0067 -0.1286 -0.0095 -0.1774 0.0373 -0.2239 0.2172 -0.4805 -0.1645 -0.7385 -0.007 -0.3464 0.174 -0.3808 0.3161 -0.8096 0.352 -0.0237 -0.0359 -0.0143 -0.0592 0.0059 -0.0811 0.1207 -0.1399 0.1295 -0.3046 0.3356 -0.3643 -0.2122 -0.0334 -0.3899 0.0833 -0.5686 0.1757 -0.2323 0.095 -0.2304 -0.2141 -0.5878 0.0164 -0.0396 -0.0322 -0.0208 -0.0615 0.0018 -0.0864 0.0908 -0.1107 0.2102 -0.127 0.345 -0.1208 -0.663 -0.3686 -0.9751 0.4507 -1.2813 0.0432 -0.092 0.0243 -0.1265 0.1068 -0.1845 0.1652 -0.05 -0.0548 -0.0123 -0.1212 -0.0099 -0.1857 -0.0598 -0.028 -0.1356 -0.041 -0.1179 -0.1366 -0.1171 -0.0395 -0.1988 0.0295 -0.286 0.0952 -0.0787 -0.0608 0.0532 -0.1492 0.0776 -0.2125 0.0702 -0.1216 0.23 -0.025 0.3111 -0.1126 0.2306 -0.1308 0.552 0.0814 0.8155 0.0455 0.203 0.0255 0.4544 -0.1825 0.3526 -0.39 -0.2171 -0.2767 -0.179 -0.6386 -0.1839 -0.9695 -0.0268 -0.1929 -0.491 -0.4382 -0.6252 -0.6462 -0.1659 -0.1873 -0.295 -0.4047 -0.4243 -0.6182 -0.4666 -0.9008 -0.3198 -2.0584 -0.9077 -2.8947 -0.266 0.1466 -0.6125 0.0774 -0.8418 -0.119 -0.1238 0.1125 -0.1292 0.2598 -0.139 0.4161 -0.297 -0.2962 -0.2593 -0.8559 -0.022 -1.1855 0.0969 -0.1302 0.2127 -0.2373 0.342 -0.3316 0.0292 -0.0213 0.0391 -0.0419 0.0385 -0.0747 0.1174 -0.5267 0.5764 -0.7391 1.0694 -0.7267m12.4071 0.46c0.5575 0 1.0806 0.2159 1.474 0.6082s0.61 0.9145 0.61 1.4704c0 0.556 -0.2167 1.078 -0.61 1.4698v0.0006l-0.902 0.8995a2.08 2.08 0 0 1 -0.8597 0.5166l-0.0164 0.0047 -0.0058 0.0164a2.05 2.05 0 0 1 -0.474 0.7308l-0.9018 0.8995c-0.3934 0.3924 -0.917 0.6083 -1.4745 0.6083s-1.0806 -0.216 -1.474 -0.6083c-0.813 -0.8107 -0.813 -2.1294 0 -2.9402l0.9019 -0.8995a2.056 2.056 0 0 1 0.858 -0.5143l0.017 -0.0053 0.0058 -0.0158a2.07 2.07 0 0 1 0.4752 -0.7337l0.9018 -0.8995c0.3934 -0.3924 0.9171 -0.6083 1.4745 -0.6083zm0 0.8965a1.18 1.18 0 0 0 -0.8388 0.3462l-0.9018 0.8995a1.181 1.181 0 0 0 -0.3427 0.9252l0.0053 0.0572c0.0323 0.2652 0.149 0.5044 0.3374 0.6917 0.13 0.1296 0.2733 0.2114 0.4471 0.2686a0.9 0.9 0 0 1 0.014 0.1582 0.884 0.884 0 0 1 -0.2609 0.6304l-0.0554 0.0554c-0.3013 -0.1028 -0.5525 -0.253 -0.7794 -0.4792a2.06 2.06 0 0 1 -0.5761 -1.0968l-0.0099 -0.0578 -0.0461 0.0368a1.1 1.1 0 0 0 -0.0876 0.0794l-0.9024 0.8995c-0.4623 0.461 -0.4623 1.212 0 1.673 0.2311 0.2305 0.535 0.346 0.8394 0.3461 0.3043 0 0.6077 -0.1156 0.8388 -0.3462l0.9019 -0.8995c0.4623 -0.461 0.4623 -1.2113 0 -1.673a1.17 1.17 0 0 0 -0.4367 -0.2749 1 1 0 0 1 -0.014 -0.1611c0 -0.2591 0.1023 -0.505 0.2901 -0.6923 0.3019 0.1028 0.57 0.2694 0.7962 0.495 0.3007 0.2999 0.4994 0.679 0.5756 1.0968l0.0105 0.0578 0.0455 -0.0373a1.1 1.1 0 0 0 0.0887 -0.0794l0.902 -0.8996c0.4622 -0.461 0.4628 -1.2124 0 -1.6735a1.18 1.18 0 0 0 -0.8395 -0.3462Zm-9.973 5.1567 -0.0006 0.0006c-0.0793 0.3078 -0.1048 0.8318 -0.506 0.847 -0.033 0.1776 0.1228 0.2445 0.2655 0.1874 0.141 -0.0645 0.2081 0.0508 0.2557 0.1657 0.2177 0.0317 0.5394 -0.0725 0.5516 -0.3298 -0.325 -0.1867 -0.4253 -0.5418 -0.5662 -0.8709' fill='%23000000' stroke-width='1'%3E%3C/path%3E%3C/svg%3E");    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-tex {
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m78.157 29.987v1.8266c4.1529 0 5.5117 0.15618 7.1818 2.5039l14.586 21.423-13.154 19.216c-3.2453 4.6992-8.1583 4.7817-9.6035 4.7817v1.8264c1.1903-0.0991 2.9161-0.12788 4.4738-0.13747-1.5036 9.5974-3.2903 14.783-15.554 14.783h-10.495c-3.0203 0-3.1629-0.38121-3.1629-2.9827v-21.136h7.1333c7.1332 0 7.8133 2.6139 7.8133 8.9958h1.215v-19.671h-1.215c0 6.2744-0.68131 8.8397-7.8133 8.8397h-7.1345v-18.739c0-2.5528 0.14386-2.9341 3.1629-2.9341h10.338c11.701 0 13.063 4.6504 14.123 14.648h1.3624l-1.8139-16.724h-32.943l-1.2194-16.412h-43.663l-1.2765 16.723h1.359c0.9776-12.525 2.0513-14.718 13.777-14.718h4.1742c1.4439 0.22627 1.444 1.1451 1.444 2.8853v41.162c0 2.7328-0.22893 3.5668-6.5983 3.5668h-2.1464v1.8264c3.6278-0.07 7.4082-0.14381 11.117-0.14381 3.6979 0 7.4895 0.0738 11.115 0.14381v-1.8264h-2.1101c-6.2744 0-6.5006-0.83399-6.5006-3.5668v-41.16c0-1.6702-1.3e-4 -2.5765 1.3612-2.8853h4.1493c11.471 0 12.682 2.1492 13.654 14.405h-3.9804v2.0764c5.3555 0 6.2132 1.2e-4 6.2132 3.3992v40.806c0 3.3991-0.84647 3.399-6.2132 3.399v1.8264h39.349l2.3596-16.592c0.18342-1.1e-4 0.39496-7.5e-4 0.56207-7.5e-4 2.0402 0 5.5943-2.5e-4 7.4783 0.14357v-1.8263c-2.339-0.22628-3.0166-1.7402-3.0166-2.959 0-0.9776 0.37001-1.5139 0.75129-2.0515l12.095-17.652 13.154 19.334c0.59506 0.83633 0.59503 1.0624 0.59503 1.2887 0 0.59506-0.67752 1.8964-3.3253 2.0515v1.8266c2.4215-0.14376 6.1192-0.14381 8.6107-0.14381 1.9577 0 5.7368 5e-5 7.572 0.14381v-1.8266c-4.843 0-5.6055-0.36995-7.1081-2.5039l-16.625-24.322 11.187-16.174c1.1201-1.5877 3.3991-4.8555 9.6035-4.938v-1.8254c-1.7314 0.14377-4.6042 0.14382-6.4181 0.14382-2.4915 0-5.5943-5e-5 -7.4783-0.14382v1.8266c2.4215 0.22627 3.0164 1.7402 3.0164 2.959 0 0.90384-0.37003 1.5138-0.90633 2.2651l-9.9822 14.479-11.187-16.375c-0.52505-0.82383-0.59869-1.0627-0.59869-1.289 0-0.68132 0.82372-1.9687 3.3277-2.04v-1.8254c-2.4215 0.14377-6.1192 0.14382-8.6107 0.14382-1.9577 0-5.7368-5e-5 -7.5632-0.14382z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Responsive adjustments for tablets */
@media (max-width: 1024px) {
    .tech-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
    }
    
    .tech-card {
        width: 90%;
    }
}

/* Responsive adjustments for mobile devices */
@media (max-width: 768px) {
    .tech-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 0.5rem;
    }

    .tech-card {
        width: 100%;
        padding: 0.6rem;
    }

    .tech-icon {
        font-size: 5rem;
    }

    .tech-name {
        font-size: 0.6rem;
    }

    .h1.centered-text {
        text-align: center;
    }
}

/* Adjustments for very small screens */
@media (max-width: 480px) {
    .tech-grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 0.5rem;
    }

    .tech-card {
        width: 100%;
        padding: 0.6rem;
    }

    .tech-icon {
        font-size: 5rem;
    }

    .tech-name {
        font-size: 0.6rem;
    }
}
    
/**********************************/
/********* Education CSS **********/
/**********************************/
.education {
    position: relative;
    padding: 30px 30px;
    background: #222222;
    border-radius: 30px; 
    overflow: hidden; 
    margin: 0 30px 30px 10px;
}

.education .edu-col {
    position: relative;
    width: 100%;
    padding: 20px 0 20px 20px;
    border-left: 1px solid #0070f3;
    border-bottom: 1px solid #0070f3;
}

.education .col-md-6:first-child .edu-col {
    padding-top: 0;
}

.education .col-md-6:last-child .edu-col {
    border-bottom: none;
    padding-bottom: 0;
}

@media (min-width: 768px) {
    .education .col-md-6:nth-child(-n+2) .edu-col {
        padding-top: 0;
    }

    .education .col-md-6:last-child .edu-col,
    .education .col-md-6:nth-last-child(2) .edu-col {
        border-bottom: none;
        padding-bottom: 0;
    }
}

.education .edu-col span {
    position: relative;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.education .edu-col span::before {
    position: absolute;
    content: "";
    width: 11px;
    height: 11px;
    background: #0070f3;
    top: 5px;
    left: -26px;
    border-radius: 5px;
}

.education .edu-col span i {
    color: #0070f3;
}

.education .edu-col h3 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px;
}

.education .edu-col p {
    margin: 0;
}


/* education main box for mobile */
@media (max-width: 768px) {
    .education {
        margin: 0 10px 30px 7px;
    }
}


/* education main box for Smaller Screens (Below 480px) */
@media (max-width: 480px) {
    .education {
        margin: 0 10px 30px 4px;
    }
}


/**********************************/
/********* Experience CSS *********/
/**********************************/
.experience {
    position: relative;
    padding: 30px 30px;
    background: #222222;
    border-radius: 30px; 
    overflow: hidden; 
    margin: 0 30px 30px 10px;
}

.experience .exp-col {
    position: relative;
    width: 100%;
    padding: 20px 0 20px 20px;
    border-left: 1px solid #0070f3;
    border-bottom: 1px solid #0070f3;
}

.experience .col-md-6:first-child .exp-col {
    padding-top: 0;
}

.experience .col-md-6:last-child .exp-col {
    border-bottom: none;
    padding-bottom: 0;
}

@media (min-width: 768px) {
    .experience .col-md-6:nth-child(-n+2) .exp-col {
        padding-top: 0;
    }

    .experience .col-md-6:last-child .exp-col,
    .experience .col-md-6:nth-last-child(2) .exp-col {
        border-bottom: none;
        padding-bottom: 0;
    }
}

.experience .exp-col span {
    position: relative;
    display: block;
    font-size: 13px;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.experience .exp-col span::before {
    position: absolute;
    content: "";
    width: 11px;
    height: 11px;
    background: #0070f3;
    top: 5px;
    left: -26px;
    border-radius: 5px;
}

.experience .exp-col span i {
    color: #0070f3;
}

.experience .exp-col h3 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.experience .exp-col h4 {
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 5px;
}

.experience .exp-col h5 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}

.experience .exp-col p {
    margin: 0;
}

/* experiance main box for mobile */
@media (max-width: 768px) {
    .experience {
        margin: 0 10px 30px 7px;
    }
}


/* experiance main box for Smaller Screens (Below 480px) */
@media (max-width: 480px) {
    .experience {
        margin: 0 10px 30px 4px;
    }
}


/**********************************/
/*********** Service CSS **********/
/**********************************/
.service {
    position: relative;
    padding: 30px 30px 30px 30px;
    background: #222222;
    border-radius: 30px; 
    overflow: hidden; 
    margin: 0 30px 30px 10px;
}

.service .srv-col {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
}

.service .srv-col i {
    font-size: 30px;
    color: #0070f3;
    margin-bottom: 15px;
}

.service .srv-col h3 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.experience .exp-col h4 {
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    margin-bottom: 5px;
}

.experience .exp-col h5 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}

.experience .exp-col p {
    margin: 0;
}

/* services main box for mobile */
@media (max-width: 768px) {
    .service {
        margin: 0 10px 30px 7px;
    } 
}


/* services main box for Smaller Screens (Below 480px) */
@media (max-width: 480px) {
    .service {
        margin: 0 10px 30px 4px;
    }
}


/**********************************/
/********** Portfolio CSS *********/
/**********************************/

.portfolio .container {
    background-color: #222222;
    padding: 1rem;
    line-height: 1.6;
    max-width: 1000px;
    margin: 0 auto;
}

.project-card {
    display: flex;
    flex-direction: column;
    background-color: #272626;
    margin-bottom: 0.5rem;
    padding: 1.5rem;
    border-radius: 4px;
    transition: transform 0.2s ease;
}

.project-name {
    font-size: 2rem;
    color: #666666;
    font-weight: bold;
    margin-bottom: 1px;
}
.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 0 1px rgba(0, 112, 243, 0.5), 0 0 20px rgba(0, 112, 243, 0.5);
}

.project-image {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    margin: 10px;
    border-radius: 60px;
}

.project-image img {
    width: 100%; 
    max-width: 290px;
}

.project-title {
    display: flex;
    justify-content:flex-start;
    align-items: center;
    gap: 200px;
    margin-left: 10px;
}

.external-link {
    color: #666666;
    font-size: 15px;
}
.external-link:hover {
    color: #0070f3;

}

.tech-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px; 
}

.tech-tag {
    background-color:  #0250aae6;
    color: #000000;
    padding: 4px 8px;
    border-radius: 9px;
    font-size: 0.875rem;
    font-weight: 600; 
    margin-bottom: 2px;
}

.project-description ul {
    color: #666666;
    list-style: none;
    padding: 0;
    margin: 1.5rem 0;
}

.project-description p {
    color: #666666;
    margin: 0px;
}

.project-description li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0rem;
}

.project-description li::before {
    content: "▹";
    position: absolute;
    left: 0;
    color: #0070f3;
        }
        
.project-description {
    padding: 0;
}


/* portfolio main box for mobile */

@media (max-width: 768px) {
    .project-card {
        flex-direction: column;
        padding: 5%;
        margin: 1px 1px 20px 1px;
    }

    .project-image {
        flex: 0 0 auto;
        margin-right: 0;
        margin-bottom: 1rem;
        max-height: 200px;
        overflow: hidden;
    }
    
    .project-image {
    display: flex;
    flex-direction: row;
    gap: 90px;
    align-items: center;
    margin: 12px;
    border-radius: 0px;
    }

    .project-title {
    display: flex;
    justify-content:flex-start;
    align-items: center;
    gap: 116px;
    margin-left: 10px;
    }

    .project-image img {
    width: 100%; 
    max-width: 290px;
}
}






/**********************************/
/*********** blog CSS ***********/
/**********************************/

.comming-soon h2 {
    text-align: center;
    font-size: 1.5rem;
    color: #666666;
    margin-bottom: 4rem;
}

/*****
.blog .container {
    background-color: #222222;
    color: #8892b0;
    padding: 2rem;
    line-height: 1.6;
    max-width: 1000px;
    margin: 0 auto;
}

.comming-soon h2 {
    text-align: center;
    font-size: 1.5rem;
    color: #ffffff;
    margin-bottom: 4rem;
}

.project-card {
    display: flex;
    background-color: rgba(0, 0, 0, 0.3);
    color: #ccd6f6;
    margin-bottom: 2rem;
    padding: 1.5rem;
    border-radius: 4px;
    transition: transform 0.2s ease;
}

.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 0 2px #0070f3, 0 0 20px rgba(0, 112, 243, 0.5);
}


.project-image {
    flex: 0 0 200px;
    margin-right: 1.5rem;
}

.project-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    object-fit: cover;
}

.project-content {
    flex: 1;
}

.project-title {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
}

.project-title h3 {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 600;
    margin-right: 0.5rem;
}

.project-title a {
    color: #ffffff;
    text-decoration: none;
}

.project-description {
    color: #ccd6f6;
    margin-bottom: 1rem;
}

.project-meta {
    display: flex;
    align-items: center;
    margin-top: 1rem;
}

.project-stars {
    display: flex;
    align-items: center;
    margin-right: 1rem;
}

.project-stars i {
    color: #ffffff;
    margin-right: 0.25rem;
}

.project-downloads {
    display: flex;
    align-items: center;
}

.project-downloads i {
    color: #ffffff;
    margin-right: 0.25rem;
}

.project-tags {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
    gap: 0.5rem;
}

.tag {
    background-color: rgba(100, 255, 218, 0.1);
    color: #ffffff;
    padding: 0.35rem 0.75rem;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 500;
}

.external-link {
    font-size: 1rem;
    color: #ffffff;
}

.external-link:hover {
    color: #0070f3;
    transform: translateY(-5px);
}

/* read more button 
.project-link {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: white; 
    transition: color 0.3s ease-in-out; 
    padding-bottom: 60px; 
    
}
    */

/*
.project-link:hover {
    color: #0070f3; 
    text-decoration: underline; 
}



@media (max-width: 768px) {
    .project-card {
        flex-direction: column;
        padding: 5%;
        margin: 1px 1px 20px 1px;
    }

    .project-image {
        flex: 0 0 auto;
        margin-right: 0;
        margin-bottom: 1rem;
        max-height: 200px;
        overflow: hidden;
    }
}  */

/*
@media (max-width: 480px) {
    .project-card {
        flex-direction: column;
        padding: 5%;
        margin: 1px 1px 20px 1px;
    }

    .project-image {
        flex: 0 0 auto;
        margin-right: 0;
        margin-bottom: 1rem;
        max-height: 200px;
        overflow: hidden;
    }
}
*/

/**********************************/
/*********** Review CSS ***********/
/**********************************/
/*
.review {
    position: relative;
    background: #ffffff;
    border-radius: 30px; 
    overflow: hidden; 
    margin: 0 30px 30px 10px;
}

.review .content-inner {
    position: relative;
    padding: 60px 30px;
    background: url(../img/quote.png) right bottom no-repeat;
}

.review .review-text p {
    font-size: 18px;
    font-style: italic;
}

.review .review-img {
    display: flex;
    align-items: center;
}

.review .review-img img {
    width: 80px; 
    height: 80px; 
    object-fit: cover;
    margin-right: 15px;
}

.review .review-name h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.review .review-name p {
    font-size: 14px;
    margin-bottom: 0;
}

.review .review-text .ratting {
    margin-bottom: 5px;
}

.review .review-text .ratting i {
    color: #0070f3;
    font-size: 14px;
}

.review .slick-slider:hover .slick-prev {
    left: 30px;
}

.review .slick-slider:hover .slick-next {
    right: 30px;
}

.review-slider .slick-prev,
.review-slider .slick-next {
    width: 35px;
    height: 35px;
    z-index: 1;
    opacity: 0;
    transition: .5s;
    background: rgba(255, 111, 97, .7);
}

.review-slider .slick-prev {
    left: 55px;
}

.review-slider .slick-next {
    right: 55px;
}

.review-slider.slick-slider:hover .slick-prev {
    left: 15px;
    opacity: 1;
}

.review-slider.slick-slider:hover .slick-next {
    right: 15px;
    opacity: 1;
}

.review-slider .slick-prev:hover,
.review-slider .slick-prev:focus,
.review-slider .slick-next:hover,
.review-slider .slick-next:focus {
    background: rgba(0, 0, 0, .7);
}

.review-slider .slick-prev:hover::before,
.review-slider .slick-prev:focus::before,
.review-slider .slick-next:hover::before,
.review-slider .slick-next:focus::before {
    color: #0070f3;
}

.review-slider .slick-prev::before,
.review-slider .slick-next::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    color: #ffffff;
}

.review-slider .slick-prev::before {
    content: "\f104";
}

.review-slider .slick-next::before {
    content: "\f105";
}

.review-slider .slick-dots {
    bottom: 15px;
}

.review-slider .slick-dots li button:before {
    color: #ffffff;
    font-size: 15px;
}

.review-slider .slick-dots li.slick-active button:before {
    color: #0070f3;
}

.review-slider.slick-slider {
    margin-bottom: 0;
}

*/

/**********************************/
/*********** Contact CSS ***********/
/**********************************/
.contact {
    position: relative;
    padding: 50px 30px 30px 30px;
    background: #272626;
    border-radius: 30px; 
    overflow: hidden; 
    margin: 0 30px 30px 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2); 
}

.contact .contact-info {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    color: #ffffff;  /*contact page ke text ka color*/
}

.contact .contact-info p {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.contact .contact-info p i {
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    color: #818181;
    padding: 0 30px 0 0;
}

.contact .contact-info p a {
    color: #ffffff;  /*contact page ke text ka color*/
}

.contact .contact-info p a:hover {
    color: #0070f3;   /*contact page ke text ka color*/
    text-decoration: none;
}

.form-control::placeholder {
    color: gray; /* Placeholder Text Color */
}

.form-control {
    background-color: #222222; /* Light Gray Background */
    border: 1px solid #222222; /* Blue Border */
    color: rgb(136, 128, 128); /* Text Color */
}

.contact .social {
    font-size: 0;
}

.contact .social a {
    width: 35px;
    height: 35px;
    padding: 5px 0;
    color: #222222;
    background: #818181;
    border-radius: 30px;
    text-align: center;
    margin-top: 15px;
    margin-right: 15px;
    transition: all .3s;
}

.contact .social a:last-child {
    margin-right: 0;
}

.contact .social a:hover {
    color: #0070f3;
    background: #000000;
    border: 1px #818181;
}

.contact .form {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
}

.contact .form .form-control {
    border-radius: 10px;
}

.contact .form .form-control:focus {
    box-shadow: none;
    border-color: #0070f3;
    background-color: #222222;
}

.contact .form .btn {
    color: #222222;
    background: linear-gradient(135deg, rgba(0, 150, 255, 0.8), rgba(0, 80, 200, 0.9));
    border-radius: 30px;
    transition: all .3s;
}

.contact .form .btn:hover {
    color: #ffffff
    
}

/**********mobile view***************/
@media(max-width: 768px) {
.contact {
    position: relative;
    padding: 30px 30px 30px 30px;
    margin: 0 10px 30px 10px;
}
}

/**********************************/
/*********** Footer CSS ***********/
/**********************************/
.footer {
    position: relative;
    width: 100%;
    padding: 30px 30px 0 30px;
    background: #222222;
}

.footer .col-md-6:last-child {
    text-align: right;
}

@media(max-width: 768px) {
    .footer .col-md-6,
    .footer .col-md-6:last-child{
        text-align: center;
    }
}

.footer p {
    color: #ffffff;
    margin: 0;
}

.footer a {
    color: #0070f3;
    font-weight: 600;
}

.footer a:hover {
    color: #0070f3;
}