{# Template For LCSS College PG - Consolidated Mark Cum Grade Card #}
<link href='https://fonts.googleapis.com/css2?family=Times New Roman:ital,wght@0,400;0,700;1,400;1,700&display=swap' rel='stylesheet'>

<style>
    .t33-fcmc,
    .t33-fcmc * {
        box-sizing: border-box;
        color: #000;
        font-family: 'Times New Roman', Times, serif;
        line-height: 1.15;
    }

    .t33-fcmc .page {
        min-height: 277mm;
        background: #fff;
    }

    .t33-fcmc .college-header {
        position: relative;
        min-height: 45mm;
        text-align: center;
    }

    .t33-fcmc .student-photo {
        position: absolute;
        top: 8mm;
        right: 0mm;
        height: 90px;
        width: auto;
        object-fit: cover;
        border: 1px solid #777;
    }

    .t33-fcmc .college-header-banner {
        max-height: 28mm;
        object-fit: contain;
    }

    .t33-fcmc .lmr-row {
        margin: 0 auto 1mm;
        font-size: 16px;
    }

    .t33-fcmc .student-info-table {
        width: 100%;
        border: 1px solid #333;
        border-bottom: 0;
        border-collapse: collapse;
    }

    .t33-fcmc .student-info-table td {
        border: 0 none;
        font-family: 'Times New Roman', Times, serif;
        font-size: 16px;
        line-height: 13px;
        padding: .6mm 1.5mm;
        vertical-align: top;
        font-weight: 400;
        text-align: left;
    }

    .t33-fcmc .student-info-table .si-col-left {
        width: 8.5cm;
        border-right: 1px solid #333;
    }

    .t33-fcmc .student-info-table .si-col-right {
        width: 10.5cm;
    }

    .t33-fcmc .si-label {
        display: inline-block;
        min-width: 26mm;
        font-weight: 700;
    }

    .t33-fcmc .si-label-r {
        display: inline-block;
        min-width: 45mm;
        font-weight: 700;
    }

    .t33-fcmc .si-colon {
        display: inline-block;
        width: 6mm;
        text-align: center;
    }

    .t33-fcmc table.marks-table {
        width: 100%;
        margin: 0 auto;
        border: 1px solid #333;
        border-collapse: collapse;
    }

    .t33-fcmc .marks-table th,
    .t33-fcmc .marks-table td {
        border: 1px solid #333;
        padding: .6mm 1mm;
        font-family: 'Times New Roman', Times, serif;
        font-size: 15px;
        font-weight: 400;
        text-align: center;
        vertical-align: middle;
        word-break: normal;
    }

    .t33-fcmc .marks-table th {
        font-weight: 600;
    }

    .t33-fcmc .marks-table tr.subject-row td {
        border: 0 none;
    }

    .t33-fcmc .marks-table tr.subject-last td {
        border-bottom: 1px solid #333;
    }

    .t33-fcmc .marks-table .course-code-col {
        width: 10%;
        white-space: nowrap;
    }

    .t33-fcmc .marks-table .month-year-col {
        width: 9%;
        white-space: nowrap;
    }

    .t33-fcmc .marks-table .course-title {
        text-align: left;
    }

    .t33-fcmc .marks-table .semester-cell {
        vertical-align: center;
        white-space: normal;
        border: 1px solid #333 !important;
    }

    .t33-fcmc .marks-table .sgpa-label {
        font-weight: 600;
        text-align: center;
    }

    .t33-fcmc .marks-table tr.sgpa-row td {
        border-left: 0;
        border-right: 0;
    }

    .t33-fcmc .rotate-cell {
        height: 25mm;
        padding: 0 !important;
        position: relative;
        white-space: nowrap;
    }

    .t33-fcmc .slant {
        display: block;
        left: 50%;
        margin: -8px 0 0 -45px;
        padding: 0;
        position: absolute;
        text-align: center;
        top: 50%;
        white-space: nowrap;
        width: 90px;
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);
        -webkit-transform-origin: center center;
        -moz-transform-origin: center center;
        -ms-transform-origin: center center;
        -o-transform-origin: center center;
        transform-origin: center center;
    }

    .t33-fcmc .notes {
        margin: 1mm auto 8mm;
        font-size: 11px;
        font-weight: 400;
        line-height: 15px;
    }

    .t33-fcmc .performance-title {
        margin: 0 0 3mm;
        font-size: 16px;
        font-weight: 700;
        text-align: center;
    }

    .t33-fcmc .performance-table {
        width: 100%;
        margin: 0 auto;
        border: 1px solid #333;
        border-collapse: collapse;
    }

    .t33-fcmc .performance-table td {
        border: 0 none;
        padding: 4mm 1.5mm;
        font-size: 15px;
    }

    .t33-fcmc .signatures {
        width: 100%;
        margin: 17mm auto 0;
        border-collapse: collapse;
    }

    .t33-fcmc .signatures td {
        border: 0 none;
        font-size: 15px;
        font-weight: 700;
        text-align: center;
    }

    .t33-fcmc .page-break {
        page-break-after: always;
    }

    .t33-fcmc .info-page {
        padding-top: 8mm;
    }

    .t33-fcmc .info-section-title {
        font-size: 14px;
        font-weight: 700;
        margin: 6mm 0 2mm;
    }

    .t33-fcmc .info-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
    }

    .t33-fcmc .info-table th,
    .t33-fcmc .info-table td {
        border: 1px solid #333;
        padding: 1.5mm 2mm;
        text-align: center;
        vertical-align: middle;
    }

    .t33-fcmc .info-table .row-label {
        text-align: left;
        font-weight: 400;
        white-space: nowrap;
    }

    .t33-fcmc .info-table .grade-row-label {
        text-align: center;
    }

    .t33-fcmc .info-table th {
        font-weight: 700;
    }

    .t33-fcmc .info-calc,
    .t33-fcmc .info-abbr {
        font-size: 13px;
        margin-top: 1mm;
        padding-left: 12mm;
    }

    .t33-fcmc .info-calc div,
    .t33-fcmc .info-abbr div {
        margin-bottom: 2mm;
        line-height: 1.6;
    }
</style>

<div class='t33-fcmc'>
    {% for student in data.studentData %}
        <div class='page page-break'>
            <div class='college-header'>
                {% if data.collegeData.collegeHeader  and data.collegeData.displayHeading %}
                    <img class='college-header-banner' src='{{ data.collegeData.collegeHeader|e }}' alt='College Header'>
                {% endif %}

                {% if student.studentImage %}
                    <img class='student-photo' src='{{ student.studentImage }}' alt='Student Image'>
                {% endif %}
            </div>

            <div class='lmr-row'><b> LMR No: {{ student.folioNumber is defined ? student.folioNumber : '' }} </b></div>

            <table class='student-info-table'>
                <tr>
                    <td class='si-col-left'><span class='si-label'>Name</span><span class='si-colon'>:</span>{{ student.name }}</td>
                    <td class='si-col-right'><span class='si-label-r'>Programme & Branch</span><span class='si-colon'>:</span>{{ student.programName }}</td>
                </tr>
                <tr>
                    <td class='si-col-left'><span class='si-label'>Register No</span><span class='si-colon'>:</span>{{ student.registerNo }}</td>
                    <td class='si-col-right'><span class='si-label-r'>Period of Study</span><span class='si-colon'>:</span>{{ student.periodOfStudy is defined ? student.periodOfStudy : '' }}</td>
                </tr>
                <tr>
                    <td class='si-col-left'><span class='si-label'>ABC ID</span><span class='si-colon'>:</span>{{ student.abcId is defined ? student.abcId : (student.abcAccountId is defined ? student.abcAccountId : '') }}</td>
                    <td class='si-col-right'><span class='si-label-r'>Month & Year of Exam</span><span class='si-colon'>:</span>{{student.markDetails.latestExamMonthName ? student.markDetails.latestExamMonthName : '' }} {{ student.markDetails.latestExamYear ? student.markDetails.latestExamYear : '' }}</td>
                </tr>

                <tr>
                    <td class='si-col-left'><span class='si-label'>Date of Birth</span><span class='si-colon'>:</span>{{ student.dob is defined ? student.dob : '' }}</td>
                    <td class='si-col-right'><span class='si-label-r'>Date of Publication</span><span class='si-colon'>:</span>{{ student.resultPublishDate is defined ? student.resultPublishDate : data.dateOfIssue }}</td>
                </tr>
            </table>

            <table class='marks-table'>
                <tr>
                    <th rowspan='2' class='rotate-cell' style="padding: 10px !important"><span class='slant'>Semester</span></th>
                    <th rowspan='2' class='course-code-col'>Course<br>Code</th>
                    <th rowspan='2'>Course Title</th>
                    <th rowspan='2' class='rotate-cell'><span class='slant'>Credit</span></th>
                    <th colspan='3'>Marks Secured</th>
                    <th rowspan='2' class='rotate-cell'><span class='slant'>Grade point</span></th>
                    <th rowspan='2' class='rotate-cell'><span class='slant'>Grade</span></th>
                    <th rowspan='2' class='rotate-cell'><span class='slant'>Credit Points</span></th>
                    <th rowspan='2' class='rotate-cell'><span class='slant'>Result</span></th>
                    <th rowspan='2' class='rotate-cell month-year-col'><span class='slant'>Month &amp; Year</span></th>
                </tr>
                <tr>
                    <th class='rotate-cell'><span class='slant'>CA</span></th>
                    <th class='rotate-cell'><span class='slant'>ESA</span></th>
                    <th class='rotate-cell'><span class='slant'>Total</span></th>
                </tr>

                {% for term in student.academicTerms %}
                    {% set termLabel = loop.index %}
                    {% set isSemesterShown = false %}

                    {% for subject in term.subjects %}
                            {% set mark = subject.markDetails %}
                            {% set caMark = mark.internalMark is defined and mark.internalMark is not empty ? mark.internalMark : '-' %}
                            {% set esaMark = mark.externalMark is defined and mark.externalMark is not empty ? mark.externalMark : '-' %}
                            {% set totalMark = mark.markObtained is defined and mark.markObtained is not empty ? mark.markObtained : '-' %}
                            {% set subjectExamMonthYear = '' %}
                            {% if subject.examMonthYear is defined and subject.examMonthYear is not empty %}
                                {% set subjectExamMonthYearParts = subject.examMonthYear|split('/') %}
                                {% set subjectExamMonthYear = subjectExamMonthYearParts|length == 2 ? ('01-' ~ subjectExamMonthYearParts[0] ~ '-' ~ subjectExamMonthYearParts[1])|date('M Y') : subject.examMonthYear %}
                            {% endif %}
                            {% set subjectSymbol = '' %}
                            {% if not subject.isExternal %}
                                {% if subject.internalMaxMark == 25 %}{% set subjectSymbol = '#' %}
                                {% elseif subject.internalMaxMark == 100 %}{% set subjectSymbol = '*' %}
                                {% elseif subject.internalMaxMark == 50 %}{% set subjectSymbol = '**' %}
                                {% endif %}
                            {% elseif subject.internalMaxMark == 20 and subject.externalMaxMark == 30 %}
                                {% set subjectSymbol = '$' %}
                            {% endif %}
                            <tr class='subject-row{% if loop.last %} subject-last{% endif %}'>
                                {% if not isSemesterShown %}
                                <td class='semester-cell' rowspan="{{ term.subjects|length +1 }}">
                                    <b> {{ termLabel }} </b>
                                    {% set isSemesterShown = true %}
                                     </td>
                                {% endif %}
                                <td class='course-code-col' style="text-align: left">{{ subject.code }}</td>
                                <td class='course-title'>{{ subjectSymbol }} {{ subject.name }}</td>
                                <td>{{ mark.credit is defined ? mark.credit : subject.credit }}</td>
                                <td>{{ caMark }}</td>
                                <td>
                                    {% if subject.isExternal and mark.attendanceStatus is defined and mark.attendanceStatus != 'PRESENT' %}
                                        {{ mark.attendanceStatus == 'ABSENT' ? 'AB' : 'MAL' }}
                                    {% else %}
                                        {{ esaMark }}
                                    {% endif %}
                                </td>
                                <td>{{ totalMark }}</td>
                                <td>{{ mark.gradePoint is defined and mark.gradePoint is not empty ? mark.gradePoint|number_format(2, '.') : '-' }}</td>
                                <td>{{ subject.grade is defined ? subject.grade : (mark.grade is defined ? mark.grade : '') }}</td>
                                <td>{{ mark.credit is defined and mark.gradePoint is defined and mark.gradePoint is not empty ? (mark.credit * mark.gradePoint)|number_format(0, '.', '') : '-' }}</td>
                                <td>{{ subject.failedStatus is defined ? (subject.failedStatus == 'PASSED' ? 'P' : 'F') : '' }}</td>
                                <td class='month-year-col'>{{ subjectExamMonthYear }}</td>
                            </tr>
                        {% endfor %}

                    <tr class='sgpa-row'>
                        <td class='sgpa-label' colspan="2">SGPA : {{ term.failedStatus == 'PASSED' ? term.semesterSgpa|number_format(2, '.') : '-' }}</td>
                        <td class='sgpa-label'>{{ term.semesterCredit is defined ? term.semesterCredit : '' }}</td>
                        <td colspan='5'></td>
                        <td class='sgpa-label'>{{ term.failedStatus == 'PASSED' and term.semesterCredit is defined ? (term.semesterSgpa * term.semesterCredit)|round : '' }}</td>
                        <td colspan='2'></td>
                    </tr>
                {% endfor %}
            </table>

            <div class='notes'>
                <span>#- Internal Only (Out of 25 marks)</span>&nbsp;&nbsp;
                <span>*- Internal Only (Out of 100 marks)</span>&nbsp;&nbsp;
                <span>**- Internal Only (Out of 50 marks)</span>&nbsp;&nbsp;
                <span>$- Total 50 marks- CA (Out of 20 marks) and ESA (Out of 30 marks)</span>
            </div>
            <div class='performance-title'>Cumulative Performance</div>
            <table class='performance-table'>
                <tr>
                    <td>Total Credit Points: {{ student.failedStatus == 'PASSED' ? student.markDetails.creditGradePoint|round : '-' }}</td>
                    <td>Total Credits : {{ student.failedStatus == 'PASSED' ? student.markDetails.credit : '-' }}</td>
                    <td>CGPA : {{ student.failedStatus == 'PASSED' ? student.markDetails.cgpa : '-' }}</td>
                    <td>Grade : {{ student.failedStatus == 'PASSED' ? student.markDetails.grade : '-' }}</td>
                    <td>Percentage: {{  student.failedStatus == 'PASSED' ? student.percentage|round(2) : '-' }}</td>
                    <td>Result : {{ student.failedStatus == 'PASSED' ?  student.markDetails.class : '-' }}</td>
                </tr>
            </table>

            {#<table class='signatures'>
                <tr>
                    <td style='text-align:left;'>Controller of Examinations</td>
                    <td style='text-align:right;'>Principal</td>
                </tr>
            </table>#}
        </div>
    {% endfor %}

    <div class='page info-page'>

        <div class='info-section-title'>Pass Criteria</div>
        <table class='info-table'>
            <tr>
                <th rowspan='2' style='border:1px solid #333;'></th>
                <th colspan='2'>CA Marks</th>
                <th colspan='2'>ESA Marks</th>
                <th colspan='2'>Total Marks</th>
            </tr>
            <tr>
                <th>Max</th><th>Min</th>
                <th>Max</th><th>Min</th>
                <th>Max</th><th>Min</th>
            </tr>
            <tr>
                <td class='row-label'>Theory</td>
                <td>25</td><td>-</td>
                <td>75</td><td>30</td>
                <td>100</td><td>50</td>
            </tr>
            <tr>
                <td class='row-label'>Dissertation/Comprehensive Viva</td>
                <td>-</td><td>-</td>
                <td>100</td><td>50</td>
                <td>100</td><td>50</td>
            </tr>
            <tr>
                <td class="no-border" colspan="8" style="border:0 none !important; text-align:left; font-size: 12px; padding: 2mm 0 0 0 !important;">Pass requirement for Courses other than Theory, like Field Practicum/Concurrent Field Work/ Block Field Work / Practical/Practicum/Industry Exposure (IE) /Internship, will be 50% of the prescribed maximum marks.</td>
            </tr>
        </table>

        <div class='info-section-title'>Grade System</div>
        <table class='info-table'>
            <tr>
                <td class='row-label grade-row-label'>Range</td>
                <td>90-100</td>
                <td>85-89</td>
                <td>80-84</td>
                <td>70-79</td>
                <td>60-69</td>
                <td>55-59</td>
                <td>50-54</td>
                <td>0-49</td>
            </tr>
            <tr>
                <td class='row-label grade-row-label'>Grade</td>
                <td>O <br> Outstanding</td><td>A+ <br> Excellent</td><td>A <br> Very Good</td><td>B+ <br> Good</td>
                <td>B <br> Above Average</td><td>C <br> Average</td><td>D <br> Pass</td><td>F <br> Fail</td>
            </tr>
            <tr>
                <td class='row-label grade-row-label'>Grade Point</td>
                <td>10</td><td>9</td><td>8.5</td><td>8</td>
                <td>7</td><td>6</td><td>5</td><td>0</td>
            </tr>
            <tr>
                <td class='row-label grade-row-label'>Class</td>
                <td colspan="5">First Class</td>
                <td colspan="2">Second Class</td>
                <td>Fail</td>
            </tr>
        </table>

        <div class='info-section-title'>Calculations</div>
        <div class='info-calc'>
            <div>Total = CA+ESA</div>
            <div>Credit Point= Credit *Grade Point</div>
            <div>SGPA= Total Credit Points / Total Credits (Each Semester)</div>
            <div>CGPA= Total Credit Points of all the Semesters / Total Credits of all the Semesters</div>
        </div>

        <div class='info-section-title'>Abbreviations</div>
        <div class='info-abbr'>
            <div>CA- Continuous Assessment</div>
            <div>ESA- End Semester Assessment</div>
            <div>P- Pass</div>
            <div>F- Fail</div>
        </div>

    </div>
</div>
