/* Start custom CSS for text-editor, class: .elementor-element-13a4742 *//* ==========================================================
   SRI ABROAD SERVICES
   SOP WRITING SECTION
   PREMIUM EDITORIAL DESIGN
   ========================================================== */


/* ----------------------------------------------------------
   MAIN WRAPPER
   ---------------------------------------------------------- */

.sri-sop-section {

    width: 100%;
    max-width: 1080px;

    margin: 0 auto;

    padding: 10px 0 30px;

    color: #172033;

    font-family: inherit;

    box-sizing: border-box;
}


.sri-sop-section *,
.sri-sop-section *::before,
.sri-sop-section *::after {

    box-sizing: border-box;
}


/* ----------------------------------------------------------
   HEADER
   ---------------------------------------------------------- */

.sri-sop-header {

    display: grid;

    grid-template-columns: 8px 1fr;

    gap: 24px;

    align-items: stretch;

    margin-bottom: 38px;
}


/* Blue / red vertical accent */

.sri-sop-header-accent {

    position: relative;

    width: 8px;

    min-height: 105px;

    background: #063BBA;

    border-radius: 6px;

    overflow: hidden;
}


.sri-sop-header-accent span:first-child {

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 38%;

    background: #E91B23;
}


.sri-sop-header-accent span:last-child {

    position: absolute;

    left: -4px;
    bottom: 34%;

    width: 16px;
    height: 16px;

    background: #ffffff;

    border: 4px solid #E91B23;

    border-radius: 50%;
}


/* Header content */

.sri-sop-header-content {

    padding-top: 2px;
}


/* Eyebrow */

.sri-sop-eyebrow {

    display: inline-block;

    margin-bottom: 8px;

    color: #063BBA;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* H1 */

.sri-sop-header h1 {

    margin: 0;

    max-width: 850px;

    color: #172033;

    font-size: 40px;

    font-weight: 750;

    line-height: 1.15;

    letter-spacing: -0.8px;
}


/* Subtitle */

.sri-sop-subtitle {

    max-width: 750px;

    margin: 12px 0 0;

    color: #667085;

    font-size: 15px;

    line-height: 1.7;
}


/* ----------------------------------------------------------
   FEATURED INTRO
   ---------------------------------------------------------- */

.sri-sop-feature {

    position: relative;

    display: grid;

    grid-template-columns: 70px 1fr;

    gap: 22px;

    align-items: center;

    margin-bottom: 35px;

    padding: 30px 38px;

    background:

        linear-gradient(
            135deg,
            #063BBA 0%,
            #082F91 100%
        );

    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 14px 35px rgba(6, 59, 186, 0.13);
}


/* Decorative background */

.sri-sop-feature::after {

    content: "";

    position: absolute;

    right: -80px;
    top: -100px;

    width: 260px;
    height: 260px;

    border: 1px solid rgba(255,255,255,0.10);

    border-radius: 50%;

    box-shadow:
        0 0 0 35px rgba(255,255,255,0.025),
        0 0 0 70px rgba(255,255,255,0.02);

    pointer-events: none;
}


/* Quote */

.sri-sop-quote-mark {

    position: relative;

    z-index: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 58px;
    height: 58px;

    color: #ffffff;

    background: #E91B23;

    border-radius: 12px;

    font-family: Georgia, serif;

    font-size: 42px;

    line-height: 1;

    box-shadow:
        0 7px 18px rgba(0,0,0,0.12);
}


/* Feature text */

.sri-sop-feature-content {

    position: relative;

    z-index: 1;
}


.sri-sop-feature-content p {

    margin: 0;

    color: #ffffff;

    font-size: 17px;

    font-weight: 500;

    line-height: 1.75;
}


/* ----------------------------------------------------------
   MAIN CONTENT
   ---------------------------------------------------------- */

.sri-sop-content {

    margin-bottom: 28px;
}


/* Content row */

.sri-sop-content-row {

    display: grid;

    grid-template-columns: 190px 1fr;

    gap: 35px;

    padding: 27px 10px;

    border-bottom: 1px solid #e7ebf2;

    transition:
        background-color 0.25s ease,
        padding-left 0.25s ease;
}


.sri-sop-content-row:first-child {

    border-top: 1px solid #e7ebf2;
}


/* Hover */

.sri-sop-content-row:hover {

    background: #f8faff;

    padding-left: 20px;
}


/* Label */

.sri-sop-label {

    display: flex;

    align-items: flex-start;

    gap: 12px;
}


/* Number */

.sri-sop-label span {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 34px;
    height: 34px;

    flex: 0 0 34px;

    color: #063BBA;

    background: #edf3ff;

    border: 1px solid #d8e4ff;

    border-radius: 50%;

    font-size: 11px;

    font-weight: 800;
}


/* Label text */

.sri-sop-label small {

    padding-top: 9px;

    color: #063BBA;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.2px;

    line-height: 1.3;
}


/* Text */

.sri-sop-text p {

    margin: 0;

    color: #596579;

    font-size: 15px;

    line-height: 1.75;
}


/* ----------------------------------------------------------
   ORIGINALITY / TRUST BLOCK
   ---------------------------------------------------------- */

.sri-sop-original {

    display: grid;

    grid-template-columns: 54px 1fr;

    gap: 18px;

    align-items: center;

    padding: 23px 28px;

    background: #f4f7ff;

    border: 1px solid #dce6fa;

    border-radius: 12px;

    position: relative;

    overflow: hidden;
}


/* Red left accent */

.sri-sop-original::before {

    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: #E91B23;
}


/* Badge */

.sri-sop-original-badge {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 46px;
    height: 46px;

    background: #063BBA;

    border-radius: 50%;

    box-shadow:
        0 6px 15px rgba(6, 59, 186, 0.15);
}


.sri-sop-original-badge span {

    color: #ffffff;

    font-size: 20px;

    font-weight: 800;
}


/* Trust content */

.sri-sop-original-content > span {

    display: block;

    margin-bottom: 5px;

    color: #E91B23;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.sri-sop-original-content p {

    margin: 0;

    color: #4f5b6b;

    font-size: 14px;

    line-height: 1.7;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 1024px) {

    .sri-sop-section {

        padding-left: 20px;

        padding-right: 20px;
    }


    .sri-sop-header h1 {

        font-size: 35px;
    }


    .sri-sop-content-row {

        grid-template-columns: 165px 1fr;

        gap: 25px;
    }

}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 767px) {

    .sri-sop-section {

        padding:
            5px 15px 20px;
    }


    /* Header */

    .sri-sop-header {

        grid-template-columns: 5px 1fr;

        gap: 15px;

        margin-bottom: 25px;
    }


    .sri-sop-header-accent {

        width: 5px;

        min-height: 95px;
    }


    .sri-sop-eyebrow {

        font-size: 9px;

        letter-spacing: 1.4px;
    }


    .sri-sop-header h1 {

        font-size: 28px;

        line-height: 1.2;

        letter-spacing: -0.4px;
    }


    .sri-sop-subtitle {

        margin-top: 9px;

        font-size: 13px;

        line-height: 1.6;
    }


    /* Featured intro */

    .sri-sop-feature {

        grid-template-columns: 44px 1fr;

        gap: 14px;

        padding: 20px 18px;

        margin-bottom: 22px;

        border-radius: 10px;
    }


    .sri-sop-quote-mark {

        width: 42px;
        height: 42px;

        border-radius: 9px;

        font-size: 30px;
    }


    .sri-sop-feature-content p {

        font-size: 14px;

        line-height: 1.65;
    }


    /* Content rows */

    .sri-sop-content-row {

        grid-template-columns: 1fr;

        gap: 10px;

        padding: 20px 5px;
    }


    .sri-sop-content-row:hover {

        padding-left: 5px;
    }


    .sri-sop-label {

        align-items: center;

        gap: 10px;
    }


    .sri-sop-label span {

        width: 30px;
        height: 30px;

        flex-basis: 30px;

        font-size: 10px;
    }


    .sri-sop-label small {

        padding-top: 0;

        font-size: 9px;
    }


    .sri-sop-text p {

        font-size: 13.5px;

        line-height: 1.7;
    }


    /* Trust */

    .sri-sop-original {

        grid-template-columns: 40px 1fr;

        gap: 12px;

        padding: 18px 16px;

        border-radius: 9px;
    }


    .sri-sop-original-badge {

        width: 36px;
        height: 36px;
    }


    .sri-sop-original-badge span {

        font-size: 15px;
    }


    .sri-sop-original-content > span {

        font-size: 9px;

        letter-spacing: 1.1px;
    }


    .sri-sop-original-content p {

        font-size: 12.5px;

        line-height: 1.65;
    }

}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2fa7725 *//* =========================================================
   SRI ABROAD SERVICES
   SOP ASSISTANCE PROCESS
   PREMIUM MILESTONE TIMELINE
   ========================================================= */


/* ---------------------------------------------------------
   MAIN WRAPPER
   --------------------------------------------------------- */

.sri-sop-process {

    width: 100%;
    max-width: 1100px;

    margin: 0 auto;

    padding: 10px 0 30px;

    color: #172033;

    font-family: inherit;

    box-sizing: border-box;
}


.sri-sop-process *,
.sri-sop-process *::before,
.sri-sop-process *::after {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.sri-sop-process-header {

    text-align: center;

    max-width: 780px;

    margin: 0 auto 55px;
}


/* Small label */

.sri-sop-process-eyebrow {

    display: inline-block;

    margin-bottom: 9px;

    color: #063BBA;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}


/* H2 */

.sri-sop-process-header h2 {

    margin: 0;

    color: #172033;

    font-size: 36px;

    font-weight: 750;

    line-height: 1.2;

    letter-spacing: -0.5px;
}


/* Accent */

.sri-sop-process-accent {

    position: relative;

    display: block;

    width: 56px;

    height: 3px;

    margin: 14px auto 15px;

    background: #E91B23;

    border-radius: 10px;
}


.sri-sop-process-accent::after {

    content: "";

    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    width: 18px;

    height: 3px;

    background: #063BBA;

    border-radius: 10px;
}


/* Intro */

.sri-sop-process-header p {

    max-width: 690px;

    margin: 0 auto;

    color: #667085;

    font-size: 15px;

    line-height: 1.7;
}


/* ---------------------------------------------------------
   TIMELINE
   --------------------------------------------------------- */

.sri-sop-timeline {

    position: relative;

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 22px;
}


/* Connecting line */

.sri-sop-timeline::before {

    content: "";

    position: absolute;

    left: 9%;

    right: 9%;

    top: 31px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            #063BBA 0%,
            #2d62d4 45%,
            #E91B23 100%
        );

    z-index: 0;
}


/* ---------------------------------------------------------
   STEP
   --------------------------------------------------------- */

.sri-sop-step {

    position: relative;

    z-index: 1;

    display: flex;

    flex-direction: column;

    align-items: center;

    min-width: 0;
}


/* ---------------------------------------------------------
   STEP MARKER
   --------------------------------------------------------- */

.sri-sop-step-marker {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 64px;

    height: 64px;

    margin-bottom: 22px;

    background: #ffffff;

    border: 2px solid #063BBA;

    border-radius: 50%;

    box-shadow:
        0 5px 16px rgba(6, 59, 186, 0.12);

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* Number */

.sri-sop-step-marker span {

    color: #063BBA;

    font-size: 14px;

    font-weight: 800;

    letter-spacing: 0.5px;

    transition: color 0.3s ease;
}


/* Red dot */

.sri-sop-step-marker::after {

    content: "";

    position: absolute;

    top: -3px;

    right: 2px;

    width: 10px;

    height: 10px;

    background: #E91B23;

    border: 2px solid #ffffff;

    border-radius: 50%;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.sri-sop-step-card {

    position: relative;

    width: 100%;

    min-height: 265px;

    padding: 24px 22px 25px;

    background: #ffffff;

    border: 1px solid #e5eaf2;

    border-radius: 12px;

    box-shadow:
        0 6px 24px rgba(15, 42, 80, 0.055);

    overflow: hidden;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* Top red accent */

.sri-sop-step-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 100%;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            #063BBA 0%,
            #063BBA 70%,
            #E91B23 70%,
            #E91B23 100%
        );
}


/* ---------------------------------------------------------
   CARD TOP
   --------------------------------------------------------- */

.sri-sop-step-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 12px;
}


.sri-sop-step-top span {

    color: #063BBA;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.4px;

    text-transform: uppercase;
}


/* Small red dash */

.sri-sop-step-top i {

    display: block;

    width: 24px;

    height: 3px;

    background: #E91B23;

    border-radius: 10px;
}


/* ---------------------------------------------------------
   TITLE
   --------------------------------------------------------- */

.sri-sop-step-card h3 {

    margin: 0 0 11px;

    color: #172033;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.35;
}


/* ---------------------------------------------------------
   DESCRIPTION
   --------------------------------------------------------- */

.sri-sop-step-card p {

    margin: 0;

    color: #667085;

    font-size: 13.5px;

    line-height: 1.7;
}


/* ---------------------------------------------------------
   HOVER
   --------------------------------------------------------- */

.sri-sop-step:hover .sri-sop-step-marker {

    background: #063BBA;

    border-color: #063BBA;

    transform: translateY(-3px) scale(1.04);

    box-shadow:
        0 9px 22px rgba(6, 59, 186, 0.20);
}


.sri-sop-step:hover .sri-sop-step-marker span {

    color: #ffffff;
}


.sri-sop-step:hover .sri-sop-step-card {

    transform: translateY(-5px);

    border-color: #d2ddf3;

    box-shadow:
        0 15px 35px rgba(6, 59, 186, 0.10);
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .sri-sop-process {

        padding-left: 20px;

        padding-right: 20px;
    }


    .sri-sop-process-header h2 {

        font-size: 32px;
    }


    .sri-sop-timeline {

        grid-template-columns: repeat(2, 1fr);

        gap: 24px;
    }


    /* Hide desktop connecting line */

    .sri-sop-timeline::before {

        display: none;
    }


    .sri-sop-step-card {

        min-height: 235px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    .sri-sop-process {

        padding:
            5px 15px 20px;
    }


    /* Header */

    .sri-sop-process-header {

        margin-bottom: 30px;
    }


    .sri-sop-process-eyebrow {

        font-size: 9px;

        letter-spacing: 1.4px;
    }


    .sri-sop-process-header h2 {

        font-size: 27px;

        line-height: 1.25;
    }


    .sri-sop-process-header p {

        font-size: 13px;

        line-height: 1.65;
    }


    /* Timeline becomes vertical */

    .sri-sop-timeline {

        display: flex;

        flex-direction: column;

        gap: 16px;
    }


    /* No horizontal line */

    .sri-sop-timeline::before {

        display: none;
    }


    /* Step */

    .sri-sop-step {

        align-items: stretch;
    }


    /* Marker */

    .sri-sop-step-marker {

        width: 48px;

        height: 48px;

        margin: 0 0 12px 8px;
    }


    .sri-sop-step-marker span {

        font-size: 11px;
    }


    .sri-sop-step-marker::after {

        width: 8px;

        height: 8px;

        top: -3px;

        right: 0;

        border-width: 2px;
    }


    /* Card */

    .sri-sop-step-card {

        min-height: auto;

        padding: 20px 17px 21px;

        border-radius: 9px;
    }


    /* Card title */

    .sri-sop-step-card h3 {

        font-size: 16px;

        line-height: 1.35;

        margin-bottom: 8px;
    }


    /* Card text */

    .sri-sop-step-card p {

        font-size: 13px;

        line-height: 1.65;
    }


    /* Remove movement on touch */

    .sri-sop-step:hover .sri-sop-step-marker {

        transform: none;
    }


    .sri-sop-step:hover .sri-sop-step-card {

        transform: none;

        box-shadow:
            0 6px 20px rgba(15, 42, 80, 0.055);
    }

}/* End custom CSS */