:root {
    --primary: #1c499b !important;
    --primary-hover: #264096;
    --heading: #292E3D;
    --paragraph: #333;
    --white: #FFFFFF;
    --primary-bg: #09ebf20D;
    --secondary-bg: #F6F8F7;
}

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

.btn {
    color: #fff;
    background: -webkit-linear-gradient(40deg, #04d3e5, #1d4197);
}

.btn-2 {
    font-size: 18px;
    font-weight: 600;
    color: #ff8371;
    background-color: transparent;
    border: 2px solid #ff7864;
}

.btn-2:hover {
    color: #fff;
}

.hero-section-container {
    padding-top: 75px;
}

.btn {
    color: #fff;
}

.container.hero-section-container {
    align-items: center;
}

.hero-section-container h1 {
    font-size: 38px;
    margin-bottom: 24px;
    color: var(--primary)
}

.hero-section-container h4 {
    font-size: 22px;
    margin-bottom: 24px;
}

.hero-section-container ul li {
    font-size: 18px;
    margin-bottom: 12px;
}

.main-heading {
    font-size: 32px;
    font-weight: 600;
    color: var(--heading);
    padding-bottom: 30px;
}

.sub-heading {
    font-size: 16px;
    font-weight: 600;
    color: var(--heading);
    margin-top: 0px;
}

.paragraph {
    font-size: 16px;
    font-weight: 400;
    color: var(--paragraph);
}

.hero-section {
    background-color: var(--primary-bg);
}

.hero-section .left-section {
    /* max-width: 700px; */
    display: flex;
    gap: 28px;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.hero-section-heading {
    font-size: 32px;
    font-weight: 600;
    color: var(--heading);
}

.submit-btn {
    padding: 16px 32px;
}

.hero-section-container {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    justify-content: space-between;
}

.hero-section-container .hero-section-img {
    max-width: 800px;
    max-height: 800px;
    object-fit: cover;
}

/* .hero-section-container .right-section {
                   max-width: 500px;
                   } */
.hero-section-container .right-section .quick-connect-form {
    background-color: var(--white);
    padding: 16px;
    text-align: center;
    border-radius: 8px;
}

.hero-section-container .right-section .quick-connect-form h2 {
    padding-bottom: 16px;
    font-size: 20px;
    font-weight: 600;
    color: var(--heading);
}

.hero-section-container .right-section .quick-connect-form h4 {
    padding-bottom: 16px;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    color: var(--heading);
}

.hero-section-container .right-section .quick-connect-form select,
.hero-section-container .right-section .quick-connect-form .form-control {
    /* padding: 12px 22px; */
    font-size: 15px;
    font-weight: 500;
    color: var(--heading);
    margin-bottom: 15px;
    background: none;
    border: 1px solid #ccc;
    border-radius: 5px;
}

select {
    width: 100%;
}

.hero-section-container .right-section .quick-connect-form select option,
.hero-section-container .right-section .quick-connect-form .form-control::placeholder {
    color: var(--heading);
}

/* Research Journey */
.research-journey-container {}

/* Author Service Work Section */
/* Comment this to match borders */
.steps-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
    padding: 12px;
}

.steps-container .step-wrapper {
    text-align: center;
    display: flex;
    flex-flow: row nowrap;
    justify-content: stretch;
    flex-basis: 33%;
    margin-bottom: -1px;
    border-bottom: 1px solid #09ebf2;
    /* You can style first and last element here */
}

.steps-container .step-wrapper::before,
.steps-container .step-wrapper::after {
    content: "";
    display: block;
    flex-basis: 100%;
}

.steps-container .step-wrapper::before {
    height: 41%;
    border-bottom: 1px solid #09ebf2;
}

.steps-container .step-wrapper::after {
    align-self: self-end;
    margin-top: auto;
    margin-bottom: -1px;
    height: calc(59% + 2px);
    border-top: 1px solid #09ebf2;
}

.steps-container .step-wrapper .step-content {
    flex-shrink: 0;
    flex-basis: 50px;
    margin: 0 auto;
    align-self: center;
}

.steps-container .step-wrapper:first-child::before {
    border-bottom-color: transparent;
    border-top-color: transparent;
    border-left-color: transparent;
}

.steps-container .step-wrapper:last-child::after {
    border-top-color: transparent;
    border-bottom-color: transparent;
    border-right-color: transparent;
}

/* ----------------- */
.service-work .service-work-container .steps-container .step-wrapperss {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-block: 24px;
    width: 220px;
    height: 364px;
}

.service-work .service-work-container .steps-container .step-wrapperss .auth-logo-holder {
    padding-bottom: 20px;
    position: relative;
}

.service-work .service-work-container .steps-container .step-wrapperss .auth-logo-holder::after {
    content: "";
    position: absolute;
    width: 3px;
    height: 20px;
    background-color: #09ebf2;
    bottom: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
}

.service-work .service-work-container .steps-container .step-wrapperss .auth-logo {
    width: 68px;
    height: 68px;
    padding: 12px;
    background: linear-gradient(111.08deg, #00EAF1 13.91%, #212D8D 100.28%);
    border-radius: 50%;
}

.service-work .service-work-container .steps-container .step-wrapperss .auth-logo img {
    width: 100%;
    height: 100%;
}

.service-work .service-work-container .steps-container .step-wrapperss .title {
    width: 100%;
    text-align: center;
    padding: 20px;
    border-radius: 8px;
    border: 2px solid #09ebf2;
    margin-bottom: 24px;
    position: relative;
    height: 80px;
}

/* Contact us Section */
.add-section {
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.85)),
        url('img/ad-section-1.jpg');
    background-size: cover;
    background-position: center;
}

.add-section-two {
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.85)),
        url('img/ad-section-2.jpg');
    background-size: cover;
    background-position: center;
}

.add-section-two .add-section-container,
.add-section .add-section-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.service-blog .service-blog-container .get-publish {
    padding-bottom: 32px;
    display: flex;
    gap: 10px;
}

.service-blog .service-blog-container .get-publish h5 {
    margin-bottom: 20px;
}

.service-blog .service-blog-container .get-publish .left-part {
    padding: 20px;
    background-color: var(--primary);
    border-radius: 8px;
    min-width: 280px;
    box-shadow: 0px 8px 8px -4px #1118270A;
}

.service-blog .service-blog-container .get-publish .left-part h5,
.service-blog .service-blog-container .get-publish .left-part li {
    color: var(--white);
}

.service-blog .service-blog-container .get-publish .left-part li {
    padding-bottom: 8px;
}

.service-blog .service-blog-container .get-publish .right-part {
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #2947A980;
}

.service-blog .service-blog-container .get-publish .right-part h5 {
    font-size: 24px;
}

.service-blog .service-blog-container .get-publish .right-part p {
    font-size: 20px;
}

.service-blog .service-blog-container .get-publish .right-part .content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.service-blog .service-blog-container .get-publish .right-part p {
    margin-bottom: 0;
    font-size: 16px;
}

section.service-work.all-section-padding {
    background: linear-gradient(70deg, #ffffff59, #ffffff4d), url('https://www.iferp.in/assets/images/banner-bg-2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
}

select#inputState {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cpath%20d%3D%22M12%2016l12%2012%2012-12H12z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E') no-repeat right 10px center;
    background-size: 16px;
    padding-right: 30px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 6px;
}

.service-blog .service-blog-container .tips-section .main-heading {
    margin-top: 50px;
}

.service-blog .service-blog-container .tips-section .card-section {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
}

.service-blog .service-blog-container .tips-section .card-section .tips-card {
    border: 1px solid #ddd;
    text-align: center;
    border: 2px solid #2947A9;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
}

.service-blog .service-blog-container .tips-section .card-section .tips-card .tips-card-img {
    max-width: 200px;
    max-height: 200px;
    object-fit: contain;
    margin: auto;
}

.service-blog .service-blog-container .tips-section .card-section .tips-card .tips-card-img img {
    aspect-ratio: 1 / 1;
    width: 100%;
}

.service-blog .service-blog-container .tips-section .card-section .tips-card .card-details {
    background-color: var(--primary);
    padding: 12px 16px;
    text-align: start;
    flex-grow: 1;
}

/* Quick Connect Form */
.quick-connect {
    background-color: var(--secondary-bg);
}

.quick-connect .quick-connect-container {
    display: flex;
    justify-content: space-between;
}

.quick-connect .quick-connect-container .quick-connect-form {
    max-width: 640px;
    height: fit-content;
    text-align: center;
    padding: 24px;
    background-color: var(--white);
}

.quick-connect .quick-connect-container .quick-connect-form h2 {
    padding-bottom: 32px;
}

.quick-connect .quick-connect-container .quick-connect-form h4 {
    padding-bottom: 20px;
}

.quick-connect .quick-connect-container .quick-connect-form select,
.quick-connect .quick-connect-container .quick-connect-form .form-control {
    /* padding: 12px 22px; */
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    color: var(--heading);
    background: none;
    margin-bottom: 15px;
}

.quick-connect .quick-connect-container .quick-connect-form select,
.quick-connect .quick-connect-container .quick-connect-form .form-control::placeholder {
    color: var(--heading);
}

select#service {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 9px;
}

/* Footer */
.copyright {
    background-color: var(--primary);
    padding: 20px 0;
}

.copyright p {
    font-size: 16px;
    font-weight: 400;
    color: var(--white);
}

/* Research Journey section */
.research-journey-tabs .nav {
    display: flex;
    position: relative;
    z-index: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.research-journey-tabs .nav::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #E0E3EB;
    bottom: 0;
    z-index: -1;
}

.research-journey-tabs .nav li {
    margin-right: 18px;
}

.research-journey-tabs .nav li button {
    background-color: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px;
    transition: all 0.3s;
    text-wrap: nowrap;
}

.research-journey-tabs .nav li button:focus-visible {
    outline: none;
}

.research-journey-tabs .nav li button.active {
    border-bottom-color: var(--primary);
    color: var(--primary);
}

.research-journey-tabs .tab-content {
    padding-top: 32px;
}

.research-journey-tabs .tab-content .researchers-tab {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.research-journey-tabs .tab-content p {
    font-size: 14px;
    font-weight: 400;
    line-height: 24px !important;
    color: var(--paragraph);
    margin-bottom: 0;
}

.research-journey-tabs .tab-content h4 {
    font-size: 20px;
    font-weight: 600;
    line-height: 23.46px;
    color: #3D445C;
    margin-bottom: 16px;
}

.types-services h4 {
    margin-top: 50px;
}

.types-services .cards-conatiner {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    grid-gap: 20px;
}

.types-services .cards-conatiner .custom-card {
    padding: 16px;
    box-shadow: -1px 3px 4px 2px rgb(22 22 26 / 44%);
    display: block;
    border-radius: 23px;
    border: 1px solid #00000040;
    transition: 1s;
}

.types-services .cards-conatiner .custom-card:hover {
    border-color: #ffffff;
    background: #00eaf1;
}

a.btn.contact-us-btn.text-decoration-none {
    padding: 18px !important;
    border-left: none;
    margin-top: -250px;
}

button.btn.w-100.contact-us-btn {
    border-left: none;
}

/* button.btn.w-100.contact-us-btn:hover{
                   border: none;
                   } */
/* .types-services .cards-conatiner .custom-card:hover h4,
                   .types-services .cards-conatiner .custom-card:hover p {
                   color: var(--primary);
                   } */
.icon-color>i {
    margin-top: 8px;
}

.icon-color>svg {
    margin-top: 0px;
}

.footer-nav li a {
    text-decoration: none;
}

.btn {
    color: #fff !important;
}

.types-services .cards-conatiner .custom-card h4 {
    margin-bottom: 18px;
}

.custom-number-input {
    display: flex;
    gap: 10px;
}

.custom-number-input select {
    appearance: none;
    padding: 10px 20px 10px 10px !important;
    border: 1px solid #E0E3EB;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-size: 12px, contain;
    background-repeat: no-repeat;
    background-position: right 4px center;
    border-radius: 6px;
}

.custom-number-input select:focus-visible {
    outline: none;
}

.servi>img {
    width: 80px;
    padding-bottom: 10px;
}

.servi>h4 {
    font-size: 18px !important;
}

.servi>p {
    font-size: 14px !important;
    line-height: 21px !important;
}

.card.card-body {
    height: 490px;
}

.col.servi {
    background: aliceblue;
    border-right: 1px solid #ccc;
    padding: 10px;
}

@media (max-width: 768px) {
    .carousel-inner .carousel-item>div {
        display: none;
    }

    .carousel-inner .carousel-item>div:first-child {
        display: block;
    }

    .type-servi {
        display: grid !important;
        align-items: center;
        text-align: center;
        padding: 20px;
    }

    .reser-tab {
        flex-wrap: wrap !important;
    }
}

.carousel-inner .carousel-item.active,
.carousel-inner .carousel-item-start,
.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
    display: flex;
}

.carousel-inner .carousel-item {
    transition: background-position 0.5s ease;
    background-position: center center;
}

.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
    background-position: right center;
}

.carousel-item-left,
.carousel-item-right {
    background-position: left center;
}

@media (min-width: 768px) {

    .carousel-inner .carousel-item-right.active,
    .carousel-inner .carousel-item-next,
    .carousel-item-next:not(.carousel-item-start) {
        transform: translateX(25%) !important;
    }

    .carousel-inner .carousel-item-left.active,
    .carousel-item-prev:not(.carousel-item-end),
    .active.carousel-item-start,
    .carousel-item-prev:not(.carousel-item-end) {
        transform: translateX(-25%) !important;
    }

    .carousel-item-next.carousel-item-start,
    .active.carousel-item-end {
        transform: translateX(0) !important;
    }

    .carousel-inner .carousel-item-prev,
    .carousel-item-prev:not(.carousel-item-end) {
        transform: translateX(-25%) !important;
    }
}

@media (max-width: 768px) {
    .carousel-control-prev {
        left: 0 !important;
    }

    .carousel-control-next {
        right: 0px !important;
    }

    .tab-content {
        padding: 30px 0px 0px 0px !important;
    }

    .order-container {
        width: 100% !important;
    }
}

.card-body {
    height: 490px;
    padding: auto !important;
    background: #f5f5f5 !important;
    border-radius: 5px;
    transition: .4s;
    box-shadow: #bbb2b2 0 0 4px 0 !important;
}

.card-body:hover {
    transform: scale(1.04);
}

.card-img {
    width: 100% !important;
    height: auto !important;
    padding: 0px !important;
    background: none !important;
    box-shadow: none !important;
    margin-top: 0px !important;
}

.carousel-control-next,
.carousel-control-prev {
    top: -9% !important;
}

.carousel-control-next {
    right: -100px;
}

.carousel-control-prev {
    left: -100px;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    background-color: #00EAF1 !important;
    border-radius: 0px !important;
}

.carousel-item>.col-md-3 {
    padding: 4px !important;
}

/* Customize the layout for different screen sizes */
@media (max-width: 576px) {
    .carousel-item {
        text-align: center;
        /* Ensures content is centered on small screens */
    }
}

.carousel-control-prev {
    left: -100px;
}

.carousel-control-next {
    right: -100px;
}

.marquee-container {
    width: 95%;
    overflow: hidden;
    border: 2px solid #05d0e4;
    border-radius: 10px;
    /* background-color: #fff; */
    padding: 10px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}

.marquee {
    display: flex;
    animation: marquee 20s linear infinite;
}

.marquee img {
    height: 100px;
    margin-right: 20px;
}

@keyframes marquee {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(-100%);
    }
}

div#myCarousel {
    max-width: 100%;
}

@media (min-width: 1300px) and (max-width: 1500px) {
    .container {
        max-width: 95% !important;
    }
}

@media(min-width:949px) and (max-width:991px) {
    .container {
        max-width: 100% !important;
    }
}

@media(min-width:850px) and (max-width:950px) {
    .container {
        max-width: 98% !important;
    }
}

@media(min-width:1200px) and (max-width:1310px) {
    .container {
        max-width: 95% !important;
    }
}

@media (min-width: 820px) and (max-width: 1180px) {
    .container {
        max-width: 97% !important;
    }
}

@media (min-width: 1500px) {
    .container {
        max-width: 90% !important;
    }
}

.rounded.rounded-pill.shadow-sm {
    border-radius: 0px !important;
}

input.form-control.border-0.bg-light {
    font-size: 14px;
}

.text-end {
    display: flex;
    justify-content: end;
    align-items: center;
}

a.btn-2.contact-us-btn.text-decoration-none {
    padding: 15px 25px;
}

button.carousel-control-prev {
    border: none;
    background: none;
}

button.carousel-control-next {
    border: none;
    background: none;
}

.text-center {
    white-space: wrap !important;
}

.main-footer {
    display: none;
}

.order-container {
    width: 60%;
}
.is-invalid {
        border: 1px solid red !important;
    }
    .is-valid {
        border: 1px solid green !important;
    }
    .error-message {
        color: red;
        font-size: 13px;
        display: none;
        text-align: left;
        margin-bottom: 10px;
    margin-top: -10px;
    }
      .custom-number-input {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.custom-number-input .error-message {
    grid-column: 1 / -1; 
    color: red;
    font-size: 13px;
    margin-top: -20px; 
}

