% 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}{209,213,219} % gray.
\definecolor{ref}  {RGB}{53,82,105}   % reference color.

\definecolor{code_background}{RGB}{238,238,238} % code background.
\definecolor{code_string}    {RGB}{18,118,34}   % code string colors like "hello world".
\definecolor{code_literal}   {RGB}{211,134,155} % code literal colors like "8L".
\definecolor{code_property}  {RGB}{152,118,170} % code properties like variables and methods.
\definecolor{code_keyword}   {RGB}{184,92,0}    % code keywords like "val", "fun" etc.
\definecolor{code_comment}   {RGB}{146,131,116} % code comment colors like // todo.

% code block box.
\newtcolorbox{scodebox}[1][]{
  colback   = code_background,
  colframe  = code_background,
  fontupper = \ttfamily,
  nobeforeafter
}

% styles.
\newcommand{\sreset}    [1]{\fontsize{14}{7}\selectfont\rm\color{black}\noindent#1} % reset font style.
\newcommand{\spar}      [0]{\par\vspace{2mm}}                                       % 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}{9}{\selectfont{\sbold{#1}}}}              % name style.
\newcommand{\scolor}    [2]{\textcolor{#1}{#2}}                                     % text color alias.
\newcommand{\sicon}     [1]{\raisebox{-1mm}{\includegraphics[height=5mm]{#1}}}      % icons.
\newcommand{\stitle}    [1]{\hypertarget{#1}{}\fontsize{11}{11}
  {\selectfont{\textcolor{main}{\ssemibold{#1}}}}}                                  % section title.
\newcommand{\shref}     [1]{\hyperlink{#1}{\textcolor{link}{\sunderline{#1}}}}      % reference section.
\newcommand{\sref}      [1]{\textcolor{ref}{#1}}                                    % reference text.
\newcommand{\slist}     [1]{\textcolor{ref}{#1}}                                    % list numbers.
\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 string.
\newcommand{\scproperty}[1]{\textcolor{code_property}{#1}}                          % color code string.
\newcommand{\sckeyword} [1]{\textcolor{code_keyword}{#1}}                           % color code string.
\newcommand{\sccomment} [1]{\textcolor{code_comment}{#1}}                           % color code string.
\newenvironment{scode}{\begin{scodebox}\catcode32=12}{\end{scodebox}}               % code block.

% 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.
