\documentclass[10pt, a4paper]{article}

% Packages:
\usepackage[
        ignoreheadfoot, % set margins without considering header and footer
        top=2 cm, % seperation between body and page edge from the top
        bottom=2 cm, % seperation between body and page edge from the bottom
        left=1.24 cm, % seperation between body and page edge from the left
        right=1.24 cm, % seperation between body and page edge from the right
        footskip=1.0 cm, % seperation between body and footer
        % showframe % for debugging 
    ]{geometry} % for adjusting page geometry
\usepackage[explicit]{titlesec} % for customizing section titles
\usepackage{tabularx} % for making tables with fixed width columns
\usepackage{array} % tabularx requires this
\usepackage[dvipsnames]{xcolor} % for coloring text
\definecolor{primaryColor}{RGB}{0, 79, 144} % define primary color
\usepackage{enumitem} % for customizing lists
\usepackage{fontawesome5} % for using icons
\usepackage[
    pdftitle={classic theme's CV},
    pdfauthor={classic theme},
    colorlinks=true,
    urlcolor=primaryColor
]{hyperref} % for links, metadata and bookmarks
\usepackage[pscoord]{eso-pic} % for floating text on the page
\usepackage{calc} % for calculating lengths
\usepackage{bookmark} % for bookmarks
\usepackage{lastpage} % for getting the total number of pages
\usepackage[default, type1]{sourcesanspro} % for using source sans pro font

% Some settings:
\pagestyle{empty} % no header or footer
\setcounter{secnumdepth}{0} % no section numbering
\setlength{\parindent}{0pt} % no indentation
\setlength{\topskip}{0pt} % no top skip
\makeatletter
\let\ps@customFooterStyle\ps@plain % Copy the plain style to customFooterStyle
\patchcmd{\ps@customFooterStyle}{\thepage}{
    \color{gray}\textit{\small classic theme | Page \thepage{} of \pageref*{LastPage}}
}{}{} % replace number by desired string
\makeatother
\pagestyle{customFooterStyle}

\titleformat{\section}{
        % make the font size of the section title large and color it with the primary color
        \Large\color{primaryColor}
    }{
    }{
    }{
        % print bold title, give 0.15 cm space and draw a line of 0.8 pt thickness
        % from the end of the title to the end of the body
        \textbf{#1}\hspace{0.15cm}\titlerule[0.8pt]\hspace{-0.1cm}
    }[] % section title formatting

\titlespacing{\section}{
        % left space:
        0pt
    }{
        % top space:
        0.2 cm
    }{
        % bottom space:
        0.2 cm
    } % section title spacing

\newcolumntype{L}[1]{
    >{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}
} % left-aligned fixed width column type
\newcolumntype{R}[1]{
    >{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}
} % right-aligned fixed width column type
\newcolumntype{K}[1]{
    >{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}X
} % left-aligned flexible width column type
\setlength\tabcolsep{-1.5pt} % no space between columns
\newenvironment{highlights}{
        \begin{itemize}[
                topsep=0pt,
                parsep=0.10 cm,
                partopsep=0pt,
                itemsep=0pt,
                after=\vspace{-1\baselineskip},
                leftmargin=0.4 cm + 3pt
            ]
    }{
        \end{itemize}
    } % new environment for highlights

\newenvironment{header}{
        \setlength{\topsep}{0pt}\par\kern\topsep\centering\color{primaryColor}\linespread{1.5}
    }{
        \par\kern\topsep
    } % new environment for the header

\newcommand{\placelastupdatedtext}{% \placetextbox{<horizontal pos>}{<vertical pos>}{<stuff>}
  \AddToShipoutPictureFG*{% Add <stuff> to current page foreground
    \put(
        \LenToUnit{\paperwidth-1.24 cm-0.2 cm+0.05cm},
        \LenToUnit{\paperheight-1.0 cm}
    ){\vtop{{\null}\makebox[0pt][c]{
        \small\color{gray}\textit{Last updated in January 2024}\hspace{\widthof{Last updated in January 2024}}
    }}}%
  }%
}%

% save the original href command in a new command:
\let\hrefWithoutArrow\href
 % new command for external links:
\renewcommand{\href}[2]{\hrefWithoutArrow{#1}{\mbox{#2 \raisebox{.15ex}{\footnotesize \faExternalLink*}}}}

\let\originalTabularx\tabularx
\let\originalEndTabularx\endtabularx

\renewenvironment{tabularx}{\bgroup\centering\originalTabularx}{\originalEndTabularx\par\egroup}

\begin{document}
    \placelastupdatedtext

    \begin{header}
        \fontsize{30 pt}{30 pt}
        \textbf{classic theme}

        \vspace{0.2 cm}

        \normalsize
    \end{header}

    \vspace{0.2 cm}


\end{document}