% colors.
\definecolor{black}{RGB}{0,0,0}
\definecolor{white}{RGB}{255,255,255} % default white.
\definecolor{link} {RGB}{46,116,181}  % web link.
\definecolor{main} {RGB}{244,67,54}   % main.
\definecolor{gray} {RGB}{127,127,127} % gray.
\definecolor{lgray}{RGB}{229,229,229} % light gray.
\definecolor{ref}  {RGB}{53,82,105}   % reference color.

\definecolor{code_background}{RGB}{40,42,54}    % code background.
\definecolor{code_text}      {RGB}{248,248,242} % code default text.
\definecolor{code_string}    {RGB}{80,250,123}  % code string colors like "hello world".
\definecolor{code_literal}   {RGB}{139,233,253} % code literal colors like "8L".
\definecolor{code_property}  {RGB}{139,233,253} % code properties like variables and methods.
\definecolor{code_keyword}   {RGB}{255,184,108} % code keywords like "val", "fun" etc.
\definecolor{code_comment}   {RGB}{98,114,164}  % code comment colors like // todo.

% code block.
\newtcolorbox{scodebox}[1][]{
  colback   = code_background,
  colframe  = code_background,
  fontupper = \ttfamily,
  nobeforeafter
}
\newenvironment{scode}{\begin{scodebox}\catcode33=12\obeylines}{\end{scodebox}}

% styles.
\newcommand{\sreset}    [1]{\fontsize{12}{12}\selectfont\rm\color{black}#1}    % reset font style.
\newcommand{\spar}      [0]{\par}                                              % default paragraph break.
\newcommand{\stext}     [1]{\sreset{#1}}                                       % default text.
\newcommand{\sitallic}  [1]{\textit{#1}}                                       % itallic text. 
\newcommand{\sbold}     [1]{\textbf{#1}}                                       % bold text.
\newcommand{\ssemibold} [1]{\fontseries{sb}{\selectfont{#1}}}                  % semi-bold text.
\newcommand{\sunderline}[1]{\underline{#1}}                                    % underline text.
\newcommand{\slink}     [2]{\href{#1}{\textcolor{link}{\sunderline{#2}}}}      % link webpage.
\newcommand{\sname}     [1]{\fontsize{21}{21}{\selectfont{\ssemibold{#1}}}}    % name style.
\newcommand{\scolor}    [2]{\textcolor{#1}{#2}}                                % text color alias.
\newcommand{\sicon}     [1]{\raisebox{-1mm}{\includegraphics[height=5mm]{#1}}} % icons.
\newcommand{\shref}     [1]{\hyperlink{#1}{\textcolor{link}{\sunderline{#1}}}} % reference section.
\newcommand{\sref}      [1]{\textcolor{ref}{#1}}                               % reference text.
\newcommand{\slist}     [1]{\textcolor{lgray}{#1}}                             % list numbers.
\newcommand{\sbullet}   [0]{\raisebox{0.5mm}{\bullet}\hspace{4mm}}                                           % list bullet symbol.
\newcommand{\stitle}    [1]{\hypertarget{#1}{}\fontsize{11}{11}%
  {\selectfont{\textcolor{main}{\ssemibold{#1}}}}}                 % section title.

\newcommand{\sblcompact}[0]{\renewcommand{\baselinestretch}{1.0}\normalsize} % compact baseline size.
\newcommand{\sbldefault}[0]{\renewcommand{\baselinestretch}{1.5}\normalsize} % default baseline size.

\newcommand{\scstring}  [1]{\textcolor{code_string}{#1}}   % color code string.
\newcommand{\scliteral} [1]{\textcolor{code_literal}{#1}}  % color code literal.
\newcommand{\scproperty}[1]{\textcolor{code_property}{#1}} % color code property.
\newcommand{\sckeyword} [1]{\textcolor{code_keyword}{#1}}  % color code keyword.
\newcommand{\sccomment} [1]{\textcolor{code_comment}{#1}}  % color code comment.

\newcommand{\sjposition}[1]{\stext{#1}} % job position.
\newcommand{\sjlink}    [1]{\sicon{link}\ \href{https://#1}{\sitallic{#1}}} % job webpage.
\newcommand{\sjplace}[2]{\sreset{\ssemibold{#1}}\sreset\hfill\fontsize%
  {10}{10}\selectfont\textcolor{gray}{(#2)}} % job place.

% settings.
\linespread{1.5}  % height between non-breaking lines.
\sloppy           % correct word placement on newline.
\pagestyle{empty} % suppress default styles, i.e. page numbers.
\sbldefault       % default baseline size.
