% Intro Options
\ProvidesClass{resume-openfont}[2021/05/30 Abdullah's version]
\NeedsTeXFormat{LaTeX2e}
\DeclareOption{print}{\def\@cv@print{}}
\DeclareOption*{    \PassOptionsToClass{\CurrentOption}{article}
}
\ProcessOptions\relax
\LoadClass{article}

%--------------------------------------------------------------
% Package Imports
\RequirePackage[english]{babel}
% page setup
\RequirePackage{fancyhdr}
% Set boundaries
\RequirePackage[hmargin=1cm, vmargin=0.94cm]{geometry}
% remove ugly boxes around links
\usepackage[hidelinks]{hyperref}
% setup custom titles
\RequirePackage{titlesec}
% For skills table
\RequirePackage{enumitem}
% Using tables like the profile section
\RequirePackage{tabularx}
% Set up font
\RequirePackage{lato-font}
\RequirePackage{raleway-font}
% make underlying constants: credits to Alex Beattie for noticing and suggesting fix
\RequirePackage{ulem}
%--------------------------------------------------------------
% Reformatting default sections
% section
\titlespacing{\section}{0pt}{0pt}{0pt}
\titleformat{\section}{\color{headings}% Using comments to allow us to split the command across multiple line
\scshape\customLatoLight\fontsize{16pt}{24pt}%first number is size, second number is space between lines
\selectfont\raggedright\uppercase} {}{0em}{}

% subsection
\titlespacing{\subsection}{0pt}{\parskip}{-\parskip}
\titleformat{\subsection}{\color{subheadings}\customLatoBlack\fontsize{12pt}{12pt}\selectfont\bfseries\uppercase\normalfont% Normal font is used to reset the customization, so it doesn't bleed into anything else
} {}{0em}{}

% remove header footer stuff like page numbers
\newcommand{\resetHeaderAndFooter}{\fancyhf{}\fancyfoot{}\renewcommand{\headrulewidth}{0pt}\renewcommand{\footrulewidth}{0pt}}
%--------------------------------------------------------------
% Formatting commands - commands to control spacing

% A shortcut to control spacing
\newcommand{\NoSpace}{\vspace*{-2pt}}

% Command to simulate new line, to fix spacing glitches
\newcommand{\fakeNewLine}{\newline \vspace{-\baselineskip}}

% Command to align table at the start of the resume
\newcommand{\alignProfileTable}{
    \raggedbottom
    \raggedright
    \setlength{\tabcolsep}{0in}
}

%--------------------------------------------------------------
% Subheadings command - create different types of heading
\newcommand{\runsubsection}[1]{\color{subheadings}\customLatoBlack\fontsize{12pt}{12pt}\selectfont\bfseries#1\normalfont}
% Descriptors command
\newcommand{\descript}[1]{\color{subheadings}\raggedright\scshape\customRalewayMedium\fontsize{11pt}{13pt}\selectfont{#1}\normalfont}

% Location command
\newcommand{\location}[1]{\color{headings}\raggedright\customRalewayMedium\fontsize{11pt}{13pt}\selectfont{#1}\normalfont}

% Minor command - like even smaller sub section
\newcommand{\minorSection}[1]{\color{subheadings}\raggedright\scshape\customRalewayMedium\fontsize{11pt}{12pt}\selectfont{#1}\normalfont}

% Project command
\newcommand{\Project}[2]{
\runsubsection{
\href{#2}{#1}
}
    \hfill
}

% Underlined link command
\newcommand{\underlinedLink}[2]{\underline{\href{#1}{#2}}}

% Command for table
\newcommand{\singleItem}[2]{\normalsize{\textbf{#1} #2}}
\newcommand{\doubleItem}[4]{\singleItem{#1}{#2} & \singleItem{#3}{#4}}

%--------------------------------------------------------------
% Section separators command
\newcommand{\sectionsep}[0]{\vspace{7pt}}

%--------------------------------------------------------------
% Bullet Lists with fewer gaps command
\newenvironment{bullets}{
    \vspace{-1mm}
    \begin{itemize}
    \itemsep1pt
    \parskip1.5pt
    \parsep1.5pt
    }{
        \end{itemize}
        \vspace{-\topsep}
    }

% Command for skill table
\newenvironment{skillList}{\noindent\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}}{\end{tabular*}}

%--------------------------------------------------------------
% Customize built-in commands
% Align Sections
\let\oldSection\section
\renewcommand{\section}[1]{\oldSection{#1}\raggedright}
\renewcommand{\underline}[1]{\uline{#1}}
