% \iffalse meta-comment
%
% Copyright (C) 2014-2021
% by Salome Södergran (salome.soedergran@gmx.ch)
% -----------------------------------------------
% 
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status 'maintained'.
%
% The current maintainer of this work is Salome Södergran.
%
% This work consists of the files komacv.dtx and komacv.ins
% which produce the class komacv.cls and some style files
% komacv-<style>.sty. The following styles are distributed with this 
% version of komacv: classic, casual and oldstyle.
%
% \fi
%
% \iffalse
%<*driver>
\ProvidesFile{komacv.dtx}[2021/02/12 v1.1.2 komacv class]
%</driver>
%<class|classic|casual|oldstyle>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<class>\ProvidesClass{komacv}
%<class>    [2021/02/12 v1.1.2 komacv class]
%<classic>\ProvidesPackage{komacv-classic}
%<casual>\ProvidesPackage{komacv-casual}
%<oldstyle>\ProvidesPackage{komacv-oldstyle}
%<classic|casual|oldstyle>    [2021/02/12 v1.1.2 style package for komacv class]
%<*driver>
\documentclass{ltxdoc}
 % \AtBeginDocument{\OnlyDescription}
\EnableCrossrefs
\CodelineIndex
\RecordChanges    % Gather update information
\setcounter{IndexColumns}{2}
\makeatletter
  \renewenvironment{theglossary}{%
  \glossary@prologue
  \setlength\emergencystretch{5em}
  \GlossaryParms \let\item\@idxitem \ignorespaces}{}
  \makeatother
\setlength{\IndexMin}{40ex}
\setlength{\columnseprule}{.4pt}
\usepackage{csquotes,xspace,marginnote,metalogo,ragged2e}
\newcommand*\mycls{\textsf{komacv}\xspace}
\newcommand*\mysty[1]{\texttt{#1}\xspace}
\newcommand*\cvitemusage{\cs{cvitem}\oarg{spacing}\marg{header}\marg{text}\xspace}
\newcommand*\cvdoubleitemusage{\cs{cvdoubleitem}\oarg{spacing}\marg{header1}\marg{text1}\marg{header2}\marg{text2}\xspace}
\newcommand*\cvlistitemusage{\cs{cvlistitem}\oarg{label}\marg{item}\xspace}
\newcommand*\cvlistdoubleitemusage{\cs{cvlistdoubleitem}\oarg{label}\marg{item1}\marg{item2}\xspace}
\newcommand*\cventryusage{\cs{cventry}\oarg{spacing}\marg{years}\marg{degree/job title}\marg{institution/employer}\\\marg{localization}\marg{grade/...}\marg{comment/job description}\xspace}
\newcommand*\cvitemwithcommentusage{\cs{cvitemwithcomment}\oarg{spacing}\marg{header}\marg{text}\marg{comment}\xspace}
\newcommand*\linkusage{\cs{link}\oarg{optional text}\marg{link}}
\newcommand*\httplinkusage{\cs{httplink}\oarg{optional text}\marg{link}}
\newcommand*\httpslinkusage{\cs{httpslink}\oarg{optional text}\marg{link}}
\newcommand*\emaillinkusage{\cs{emaillink}\oarg{optional text}\marg{link}}
\makeatletter
\renewcommand{\Describe@Macro}{\@ifstar\Describe@MacroStar\Describe@MacroStarNoStar}
\newcommand\Describe@MacroStar[1]{\endgroup
              \marginnote{\raggedleft\PrintDescribeMacro{#1}}%
              \SpecialUsageIndex{#1}\@esphack\ignorespaces}
\newcommand\Describe@MacroNoStar[1]{\endgroup
             \marginpar{\raggedleft\PrintDescribeMacro{#1}}%
             \SpecialUsageIndex{#1}\@esphack\ignorespaces}
\renewcommand{\DescribeMacro}{\@ifstar\DescribeMacroStar\DescribeMacroNoStar}
\newcommand\DescribeMacroStar{\leavevmode\@bsphack
   \begingroup\MakePrivateLetters\Describe@MacroStar}
\newcommand\DescribeMacroNoStar{\leavevmode\@bsphack
   \begingroup\MakePrivateLetters\Describe@MacroNoStar}

\@ifundefined{KOMA}{%
  \DeclareRobustCommand{\KOMA}{\textsf{K\kern.05em O\kern.05em%
      M\kern.05em A\kern.1em-\kern.1em\xspace}}}{}
\@ifundefined{KOMAScript}{%
  \DeclareRobustCommand{\KOMAScript}{\textsf{\KOMA Script}}}{}
\makeatother
\usepackage[colorlinks=true]{hyperref}
\hypersetup{pdftitle={CV}}
\begin{document}
  \DocInput{komacv.dtx}
   \PrintIndex\PrintChanges
   %  Make sure that the index is not printed twice
   %  (ltxdoc.cfg might have a second \PrintIndex command)
   \let\PrintChanges\relax
   \let\PrintIndex\relax
\end{document}
%</driver>
% \fi
%
% \CheckSum{0}
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
%
% \changes{v1.0}{2014/08/06}{Initial version}
% \changes{v1.0.1}{2014/08/10}{Installation problem fixed}
% \changes{v1.1}{2017/04/12}{Option headline added; user length \texttt{titlenamemaxwidth}; behavior of sections and subsections improved; several bugfixes}
% \changes{v1.1.1}{2017/04/17}{Typos in the documentation and minor bugs fixed}
% \changes{v1.1.2}{2021/02/12}{Improved implementation of headline, minor bug fixes, httpslink added, fontawesome-switch added}
%
% \GetFileInfo{komacv.dtx}
%
% \DoNotIndex{\providecommand,\newcommand,\renewcommand,\newenvironment,\begin,\end}
% \DoNotIndex{\newlength,\setlength,\addtolength,\settowidth}
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
% \DoNotIndex{\@ne,\z@,\p@}
% \DoNotIndex{\advance,\begingroup,\catcode,\closein}
% \DoNotIndex{\closeout,\day,\def,\let,\edef,\empty,\endgroup}
% \DoNotIndex{\if,\else,\fi,\ifthenelse,\newif,\ifx,\ifnum,\ifdim}
% \DoNotIndex{\ifboolexpr,\ifdefempty,\ifdefstring,\ifdimequal,\ifdimgreater}
% \DoNotIndex{\ifdimless,\ifstrempty,\ifundef}
% \DoNotIndex{\@ifundefined,\isundefined,\if@firstdetailselement}
% \DoNotIndex{\OR,\AND,\equal}
% \DoNotIndex{\RequirePackage,\LoadClass,\PassOptionsToClass,\ProcessOptions}
% \DoNotIndex{\ProcessKeyvalOptions,\kvsetkeys,\SetupKeyvalOptions}
% \DoNotIndex{\alph,\arabic,\roman}
% \DoNotIndex{\AtBeginDocument,\AtEndPreamble,\AtEndDocument}
% \DoNotIndex{\cs,\csexpandonce,\CurrentOption,\DeclareStringOption,\DeclareOption}
% \DoNotIndex{\bfseries,\centering,\itshape,\mdseries,\textbf,\upshape}
% \DoNotIndex{\LARGE,\Large,\large,\normalsize,\small}
% \DoNotIndex{\baselineskip,\linewidth,\fill,\hfill,\href,\hspace}
% \DoNotIndex{\newbox,\newsavebox,\savebox,\sbox,\usebox,\makebox}
% \DoNotIndex{\@fboxa,\@fboxb,\@sboxa,\@sboxb,\@uboxa,\@uboxb,\@minus,\@plus}
% \DoNotIndex{\newline,\newlist,\setlist,\noindent,\nointerlineskip}
% \DoNotIndex{\par,\parbox,\totalheightof,\strut,\vspace}
% \DoNotIndex{\origsection,\origsubsection}
% \DoNotIndex{\Letter,\Telefon,\Mobilefone,\FAX}
% \DoNotIndex{\textbullet,\textendash,\textperiodcentered}
% \DoNotIndex{\Neutral,\ae,\relax,\LaTeX}
%
% \title{The \textsf{komacv} class\thanks{This document
% corresponds to \textsf{komacv}~\fileversion, dated \filedate.}}
% \author{Salome S\"odergran \\ \texttt{salome.soedergran@gmx.ch}}
%
% \maketitle
%
% \abstract{The \mycls class makes typesetting an attractive CV easy. While it comes with several predefined styles it is still highly customizable. Virtually all settings can be controlled by user commands.}
%
% \tableofcontents
% 
% \section{Introduction}
%
% This class originates from an imitation of the \textsf{moderncv} class. Thanks to Xavier Danaux for that fine class!  While \mycls owes a lot to the original code, it does not pretend to be a precise copy and does not intend to keep up with the further development of the \textsf{moderncv} class. The original class  was taken as an important starting point but it is likely that the further development will take different directions.
%
% While \textsf{moderncv} is a stand-alone class, this one is a wrapper class building upon the \KOMA class \textsf{scrartcl} (hence the \textsf{koma-} in the name of this class). This gives users more flexibility as the page layout is easily adjustable and incompatibilities with other packages are less likely to occur. The incompatibility of the \textsf{moderncv} class with the \textsf{biblatex} package was actually the main reason for my building the predecessor of this class, the \textsf{koma-moderncvclassic} package. Compared with that package, this class offers much more flexibility and customizability, comes with a variety of styles and is extensible (new styles can be added easily).
%  
% With \cs{documentclass\{komacv\}} at the beginning of your document the commands and environments of both this class and the \textsf{scrartcl} class become available.
%  
% The variants of the file \textsf{komacv\_{}example} which come with this package show exemplarily how a document with \mycls might be structured and how the typical commands are to be used. They are not intended as examples of good style but as demonstrations of the potential of the \mycls class. In this documentation all commands and features are explained.
%
% As for typesetting a covering letter with \mycls, see \ref{sec:bugs-feat-requ}.
%
% \section{Engines}
% \label{sec:engines}
% This class can be run with either \XeTeX, \XeLaTeX, \LuaTeX, \LuaLaTeX or pdf\LaTeX. See also \ref{sub:fonts}.
% 
% \section{In the preamble}
% \label{sec:preamble}
%  
% \subsection{Documentclass options}
% \label{sub:options}
%  
% \mycls accepts the following key-value pairs as optional arguments of \cs{documentclass}: 
%
% \DescribeMacro{[xcolor=<value>]}
% The value of the key \texttt{xcolor} is passed to the \textsf{xcolor} package and takes the name of the color spectrum. These are the names of color spectra defined by \textsf{xcolor}: svgnames, dvipsnames, x11names. If the option is not set or the key \texttt{xcolor} is given without a value, then the default is used which is x11names.
%  
% \DescribeMacro{[color=<value>]}
% The value of the key \texttt{color} is the name of the color to be used in special elements of the document like section and subsection headers of the document (depending on the chosen style). The name is either a base color name (black, blue, green a.\,s.\,o.) or a color name according to the chosen color spectra defined by \textsf{xcolor} (e.\,g. Firebrick2 in x11names). See the \textsf{xcolor} documentation for a list of valid color names. Color definitions such as |red!75| or |blue!30!green| are also accepted. Yet another possibility is to specify |mycolor| in the preamble (see below). If the color option is given without an argument or not given at all,
% 
% |[color=mycolor]|
%
% is assumed as default.% 
%
% If |mycolor| was not defined, the fallback is |blue| instead of |mycolor|.
%
% \DescribeMacro{[style=<value>]}
% This option loads the style variant. The default is |style=classic|. Other variants currently available are: |casual| and |oldstyle|. Other variants may follow in time, contributions are very welcome! See the example documents to see the different layouts the styles produce.
%
% \DescribeMacro{[fontawesome=false]}
% In case you don't like the social media symbols offered by fontawesome or if fontawesome provides error messages you may turn off the use of fontawesome with this option. Please note that you don't have to use this option to avoid fontawesome; you may just redefine the social media symbols to your liking with \cs{renewcommand} (see \ref{sub:symbols}).
% 
% \DescribeMacro{\KOMAoptions}
% In addition to these \mycls specific options, all \KOMA options may be used as with the \KOMA classes. They may be given either in the option list of \cs{documentclass} or with the help of \cs{KOMAoptions} somewhere in the preamble:
%
% \cs{documentclass}\oarg{key=value}\{komacv\} or
%
% \cs{KOMAoptions}\marg{key1=value1,key2=value2}
%
% and will be passed to the \textsf{scrartcl} class (on which the \mycls class is built).
%
% \subsection{Personal data (header and footer)}
% \label{sub:persdata}
% To specify your personal data set the macros with \cs{renewcommand}:
%
% |\renewcommand*\|\meta{command}\marg{Definition}, \emph{for example:} 
% 
% |\renewcommand*\title{Curriculum vitae}|.
%
% \begin{macro}{\headline}
% With \cs{headline}\oarg{alignment}\marg{type}\oarg{content} you can set -- guess what? -- a headline or title for the whole document, either a title (like \enquote{Curriculum vitae}) or your name, which may come in handy if you have a very long name that is otherwise being displayed in an unsatisfying way.
% \changes{v1.1}{2017/04/12}{New macro headline, and new correspondent elements headlinestyle, headlinecolor, headlinefont}
% \changes{v1.1}{2017/04/12}{Default font size changed, due to new font \texttt{headlinefont}}
% \changes{v1.1.2}{2021/02/12}{Improved implementation of headline. Caution! changed syntax}
% The first optional argument sets the alignment (|l|=left, |r|=right, |c|=centered (default)). The mandatory argument defines the type (|name| or |title|). The last optional argument defines the content of the headline. If it is ommitted, with type |name| firstname, lastname and (if defined) the academic title are used, with type |title| \enquote{Curriculum vitae}.
% Apart from that, the only difference between the two types is that with type |title| the name is printed with the personal data, whereas it is ommitted with type |name| to avoid duplicates.
% Depending on the combination of style and type the result may be aesthetically questionable.
%
% \emph{Example:}
%
% |\headline{name} |
% sets your defined firstname and familyname as a centered headline.
%
% |\headline[r]{title}[Lebenslauf]|
% sets \enquote{Lebenslauf} as a right-aligned headline.
%
% \end{macro}
% 
% \DescribeMacro{\title}
% The macro \cs{title} sets nothing in the document itself but is for the pdf document properties only. Note that for this macro special characters (like German umlauts) must be given in the \LaTeX\ notation (e.\,g. |\"a|) even if utf is enabled for the document.
%
% \DescribeMacro{\firstname}
% \DescribeMacro{\familyname}
% The macros listed beside, if specified, will be used in the head (or foot, depending on the style in use) of your CV. If there are elements you do not wish to appear in your CV just leave the corresponding macros undefined.
% \DescribeMacro{\mobile}
% \DescribeMacro{\phonenr}
% \DescribeMacro{\faxnr}
% \DescribeMacro{\email}
% \DescribeMacro{\homepage}
% \DescribeMacro{\twitter}
% \DescribeMacro{\github}
% \DescribeMacro{\facebook}
% \DescribeMacro{\linkedin}
%
% The names of the macros are self-explanatory, so I will give just a few hints. 
%
% \DescribeMacro{\acadtitle}
% \DescribeMacro{\addressstreet}
% \DescribeMacro{\addresscity}
% \cs{acadtitle} expects your academic title(s). \cs{addressstreet} is for your street or P.O.~Box, and \cs{addresscity} for your city, ZIP~Code and possibly your country.
%
% \DescribeMacro{\extrainfo}
% \cs{extrainfo} takes any arbitrary additional information and will appear at the end of the addressblock (depending on the chosen style).
%  
% \DescribeMacro{\cvquote}
% Put your life motto (or something alike) into \cs{cvquote}. It will usually appear somewhat separated from the rest of the header.
%
% See below (\ref{sub:colors} and \ref{sub:fonts}) how to change the appearance of the information given in these macros.
%
% The header and possibly footer are set with the command \cs{maketitle} at the beginning of the document.
%
% If you want to create your own footer, define your own pagestyle and call it with |\thispagestyle|\marg{mypagestyle} right after \cs{maketitle}. The command 
% \DescribeMacro{\addtofooter}
% |\addtofooter|\oarg{symbol}\marg{text}
% can be used in the new pagestyle definition to add something to the footer.  The optional argument expects the symbol to be used as a separator between elements that appear on the same line. If it is omitted |\fsymbol| is used.
%
% \DescribeMacro{\fsymbol}
%  For a redefinition of \cs{fsymbol} use
%
%|\renewcommand*\fsymbol|\marg{symbol}, \emph{for example:}
%
% |\renewcommand*\fsymbol{~\textbullet~}|.
%
%
% \subsection{Symbols}
% \label{sub:symbols}
% \DescribeMacro{\addresssymbol}
% \DescribeMacro{\phonesymbol}
% \DescribeMacro{\mobilesymbol}
% \DescribeMacro{\faxsymbol}
% \DescribeMacro{\emailsymbol}
% \DescribeMacro{\homepagesymbol}
% \DescribeMacro{\twittersymbol}
% \DescribeMacro{\githubsymbol}
% \DescribeMacro{\facebooksymbol}
% \DescribeMacro{\linkedinsymbol}
% You can change (or set) the symbols (or the string) used before the phone, fax and mobile number, the e-mail address and the homepage with the according macros (see beside) and |\renewcommand|, e.\,g. \\
% |\renewcommand\phonesymbol{Tel.~}|
%
% \DescribeMacro{\listitemsymbol}
% In the same way the item symbol in the listitems may be changed with the macro \cs{listitemsymbol}.
%
% \subsection{Picture}
% \label{sub:picture}
%  
% \DescribeMacro{\photo}
% To include a picture into the head of your CV set
% 
% \cs{photo}\oarg{frame}\marg{width}\marg{path/pic}
%
% in the preamble.
% 
% \DescribeMacro{[frame]}
%  With |frame| as optional argument the picture is set into a frame, by default in the color chosen as document color. See below (\ref{sub:lengths}, \ref{sub:colors}) how to change the color and the thickness of the frame.
%
% \DescribeMacro{[mframe]}
% With the \mysty{classic} style, |[mframe]| (for margin frame) will extend the picture into the right page margin with half its width (or according to the length of \cs{mframepicshift}, if defined). With other styles |[mframe]| is an alias for |[frame]|.
%
% \DescribeMacro{ {<width>}}
% The first mandatory argument takes the width the picture is resized to, all common \LaTeX\ measures may be used.
%  
% \DescribeMacro{ {<path/pic>}}
% The second mandatory argument takes the name of the picture file. If the picture is not located in the same directory as the document and no \cs{graphicspath} was defined, the path to the picture file must be given as well. This argument will be passed to the \textsf{graphicx} package, so all file types that \textsf{graphicx} can handle are allowed (jpg/jpeg, png, pdf).
%  
%
% \subsection{Lengths}
% \label{sub:lengths}
% 
% The following lengths may be changed with the usual \LaTeX{} commands \cs{setlength}, \cs{addtolength} and \cs{settowidth}.
%
% \DescribeMacro{\hintscolwidth}
% The width of the hint column. The default value is |0.2\textwidth|.
%  
% \DescribeMacro{\sepcolwidth}
% The distance between the hint column and the main column. In \cs{cvdoubleitem} and \cs{cvlistdoubleitem} this is also the distance between the aligned items, or the aligned pairs of header and item.
%
% \DescribeMacro{\infocolwidth}
% In |oldstyle| style the address and possible extra information are presented in the left margin of the width |\infocolwidth|. Its default value is |3.5cm|.
%  
% \DescribeMacro{\sepinfocolwidth}
% In |oldstyle| style the distance between the info column and the main column.
%
% \DescribeMacro{\maincolwidth}
% The width of the main column in all elements, except for the |doubleitem| elements.
%
% \DescribeMacro{\dbitemmaincolwidth}
% Width of each maincolumn where two items are set per line with \cs{cvdoubleitem}.
%
% \DescribeMacro{\listitemsymbolwidth}
% Horizontal space reserved for the symbol in \cs{listitem} entries. By default this is the width of \cs{listitemsymbol} followed by a nonbreaking space (|~|).
%
% \DescribeMacro{\listitemmaincolwidth}
% Width of the maincolumn where \cs{cvlistitem} is in use. By default this is the \cs{maincolumnwidth} minus \cs{listitemsymbolwidth}.
%
% \DescribeMacro{\listdbitemmaincolwidth}
% Width of each maincolumn where two items are set per line with \cs{cvlistdoubleitem}.
%
% \DescribeMacro{\titlesepwidth}
% Horizontal space between the text information given in the header and the picture (if \cs{photo} is set).
%
% \DescribeMacro{\mframepicshift}
% If a picture is set with the optional argument |[mframe]| of \cs{photo} the picture will be placed partly in the margin. The length \cs{mframepicshift} controls how much the picture will be moved to the right (from the right text margin). This works only with the \mysty{classic} style; with other styles \cs{mframepicshift} does nothing.
%
% \DescribeMacro{\fboxrule}
% \DescribeMacro{\fboxsep}
% The thickness of the frame around your picture and the space between the frame and the picture (if \cs{photo} is set with either |[frame]| or |[mframe]| as optional argument).
%
% \DescribeMacro{\quotewidth}
% The width of the quote.
%
% \DescribeMacro{\footerwidth}
% The width of the footer (used in \mysty{casual} style).
%
% \DescribeMacro{\aftertitlevspace}
% Vertical space between head and quote (or main text, if no quote is given).
%
% \DescribeMacro{\afterquotevspace}
% Vertical space between quote and main text. Used only if quote is given.
%
% \DescribeMacro{\afterelementsvspace}
% Vertical space inserted after each element (\cs{cvitem}, \cs{cventry}, \ldots).
%
% \DescribeMacro{\beforesecvspace}
% \DescribeMacro{\aftersecvspace}
% \DescribeMacro{\beforesubsecvspace}
% \DescribeMacro{\aftersubsecvspace}
% Vertical space inserted before or after sections and subsections. Use an elastic length (e.\,g. something like |3ex plus .2ex minus .1ex| or \cs{baselineskip}). Note that the section and subsection definition of \mycls needs improvement, so the setting of these lengths may not procuce the desired result and the result may change in future versions.
%
% \subsection{Colors}
% \label{sub:colors}
%  
% \DescribeMacro{\colorlet}
% The color theme of the whole document is changed via the documentclass options as described above (\ref{sub:options}). If you want to change the color of certain elements only you may do so with the command
%
% \cs{colorlet}\marg{elementcolorname}\marg{color}, \emph{for example}
%
% |\colorlet{firstnamecolor}{red}| (basic color name) \emph{or}
% 
% |\colorlet{firstnamecolor}{Firebrick2}| (color name as defined in the color spectrum specified with the documentclass option \oarg{xcolor= }, x11names in this case) \emph{or}
% 
% |\colorlet{sectitlecolor}{firstnamecolor}| (make the sectiontitles have the same color as the firstname).
%
% \DescribeMacro{firstnamecolor}
% \DescribeMacro{familynamecolor}
% \DescribeMacro{acadtitlecolor}
% \DescribeMacro{addresscolor}
% \DescribeMacro{quotecolor}
% With the colornames given beside you can change the color of the corresponding elements that are used in the head (or foot) of your CV. By default (i.\,e. if you do not change the colors with \cs{colorlet}) the text in the CV head is black. More precisely, the firstnamecolor is black, the other elements of the head take the color of the firstname. So if you want to change the color of the whole text in the  head, it suffices to change |firstnamecolor|. If you want the different elements to have different colors, you have to define them separately.
%
% \DescribeMacro{framecolor}
% \DescribeMacro{framebackcolor}
% |framecolor| and |framebackcolor| may be specified when \cs{photo} is used with either |[frame]| or |[mframe]| as optional argument. |framecolor| sets the color of the frame around the picture, |framebackcolor| of the interspace between frame and picture. By default |framecolor| is the color of the document colortheme, |framebackcolor| is white.
% 
% \DescribeMacro{secbarcolor}
% \DescribeMacro{seccolor}
% \DescribeMacro{subseccolor}
% By default the section headers, the bar beside the section headers (if provided by the current style) and the subsection headers are given in the color of the document colortheme. To change the settings use the colornames given beside.
%
% \DescribeMacro{hintcolor}
% |hintcolor| is the name of the color used for the text in the hint column. By default it is black.
%
% \DescribeMacro{\definecolor}
% If you want to assign a color to a name you can do so with the \cs{definecolor} command from the \textsf{xcolor}:
% 
% \DescribeMacro{mycolor}
% |\definecolor{mycolor}{cmyk}{0.92,0,0.87,0.09}|. 
%
% This new (or any other) name  may be given as value to the |color| key in the documentclass optionlist and used with \cs{colorlet} as just described.
%
% \subsection{Encoding and Fonts}
% \label{sub:fonts}
%  
% This class does not load any fonts. The different enginges have their own ways of handling fonts and it is up to the user to choose the enginge and a font suitable for the style in use. With \XeTeX, \XeLaTeX, \LuaTeX\ and \LuaLaTeX\ |fontspec| is loaded by |komacv|, with pdf\LaTeX\ utf8 is loaded as input encoding and T1 as fontencoding. Set the desired font in a usual enginge-specific way, e.\,g. with \cs{setmainfont}\marg{font} for \XeTeX, \LuaTeX\ and friends and with \cs{usepackage}\marg{font} for pdf\LaTeX.
%
%
% The element specific font attributes are set with \cs{newkomafont} and may be adjusted with \cs{setkomafont} or \cs{addtokomafont}.
%
% \emph{For example}:
%
% \DescribeMacro*{firstnamefont}
% |\setkomafont{firstnamefont}{\fontsize{24}{26}\itshape}| \emph{or}
%  
% \DescribeMacro*{familynamefont}
% |\addtokomafont{familynamefont}{\scshape}| \emph{or}
%
% \DescribeMacro*{acadtitlefont}
% |\setkomafont{addressfont}{\usekomafont{quotefont}}|.
%
% \DescribeMacro*{addressfont}
%
%
% \DescribeMacro{quotefont}
% \DescribeMacro{hintfont}
% \DescribeMacro{commentfont}
% \DescribeMacro{commentmainfont}
% By default |familynamefont| is the same as |firstnamefont|, so if you want to change both it suffices to change |firstnamefont|. |addressfont| is used for the whole addressblock, including address, phone and fax numbers, email address, homepage address and extrainfo.\\
% |commentfont| and |commentmainfont| are used in |\cvitemwithcomment| only.
%  
% \DescribeMacro*{linkfont}
% |linkfont|, |httplinkfont|, |httpslinkfont|, |emaillinkfont| are used for the link commands \cs{link}, \cs{httplink}, \cs{httpslink}, and \cs{emaillink} (described below \ref{sub:links}).
% \DescribeMacro*{httplinkfont}
% \DescribeMacro*{httpslinkfont}
% 
% \DescribeMacro*{emaillinkfont}
% Font attributes of elements that belong to the \textsf{scrartcl} class are also changed in the usual \KOMA way, e.\,g.:
%  
% \DescribeMacro*{section}
% |\setkomafont{section}{\Large\sffamily\mdseries\slshape}|.
%
% \DescribeMacro*{subsection}
% |\addtokomafont{subsection}{\bfseries}|. 
%
% Switching to a sans-serif font as default is done in the usual \LaTeX\ way, e.\,g.
%  
% |\renewcommand\familydefault{\rmdefault}\normalfont|
%
% at the beginning of the document (not in the preamble!) This will change the font of some elements, though not all. Make use of the font definition macros for everything else.
%
% \subsection{Page number}
% \label{sub:page-number}
%  
% \DescribeMacro{\totalpagemark}
% The command \cs{totalpagemark} prints the total number of pages. With the following definition in your preamble you will get the page number followed by a slash and the total number of pages in the outer foot of your pages (with the help of \textsf{scrlayer-scrpage} which is loaded by the documentclass):
%
% |\pagestyle{scrheadings}|
%
% \cs{clearpairofpagestyles}
%
% |\ofoot{\pagemark/\totalpagemark}|
%
% \subsection{Hypersetup}
% \label{sub:hypersetup}
%  
% \DescribeMacro{\hypersetup}
% To change the way hyperlinks are highlighted in the pdf document, use the \cs{hypersetup} command. This command is provided by the \textsf{hyperref} package which is loaded by the \mycls class. See the \textsf{hyperref} manual for the options available.
% Example: use |\hypersetup{pdfborder = false}| to remove the box around links in the pdf-document.
%
% \DescribeMacro{pdfauthor}
% \DescribeMacro{pdftitle}
% \DescribeMacro{pdfsubject}
% \DescribeMacro{pdfkeywords}
% \textbf{Note:} The following \cs{hypersetup} option keys (and these only) must \emph{not} be redefined with \cs{hypersetup} but with \cs{renewcommand}:\\%
% |pdfauthor|, |pdftitle|, |pdfsubject|, |pdfkeywords| and all \mbox{\ldots{}|bordercolor|} options. \emph{For example}, do not use:
%
% \DescribeMacro{allbordercolors}
% \DescribeMacro{citebordercolor}
% \DescribeMacro{filebordercolor}
% \DescribeMacro{linkbordercolor}
% \DescribeMacro{menubordercolor}
% \DescribeMacro{urlbordercolor}
% \DescribeMacro{runbordercolor}
% |\hypersetup{pdftitle = {My~CV}}| but rather:
%
% |\renewcommand*\pdftitle{My~CV}|.
%  
% This is necessary because the defaults defined by the documentclass are loaded at the end of the preamble and would overwrite any user settings.
%
% All \cs{hypersetup} color options accept the same color names as does the documentclass |color| option (i.\,e. it depends on the setting of the documentclass option |xcolor| which names will be recognized). So you can change the color options like this:
%
% |\renewcommand*\urlbordercolor{green}| (for the \mbox{\ldots|bordercolor|} options), but
%
% \DescribeMacro{urlcolor}
% |\hypersetup{urlcolor=pink}| (for all other \mbox{\ldots|color|} options).
%
% \section{In the document}
% \label{sec:document}
%  
%
%\subsection{\cs{maketitle}}
% \label{sub:maketitle}
%
% \DescribeMacro{\maketitle}
% With \cs{maketitle} at the beginning of your document your personal data and your picture as specified in the preamble will be set in the header (and possibly footer) of the first page according to the chosen style.
% 
% If you want the footer to appear on all pages, use |\pagestyle{footer}| or |\pagestyle|\marg{mypagestyle} somewhere at the beginning of your document (not in the preamble).
%
%\subsection{Sections and subsections}
% \label{sub:sections}
%
% To structure your CV into sections like \enquote{Education}, \enquote{Job training}, \enquote{Interests} a.s.o. use the \cs{section} and \cs{subsection} commands. They are formatted according to the current style and include no section numbering. See above (\ref{sub:colors} and \ref{sub:fonts}) how to change the color and the font attributes of sections and subsections.
%
%\subsection{\cs{cvitem}}
% \label{sub:cvitem}
%
% \DescribeMacro{\cvitem}
% \cvitemusage is for single pairs of header and text. The header will appear in the hint column, the main text in the main column. 
%
% The optional argument defines the vertical space after this \cs{cvitem} element. This applies analogously to all the elements with an optional spacing argument. 
%
% To change the vertical space used after \emph{all} \mbox{\cs{cv}\ldots} elements that have an optional spacing argument, change \cs{afterelementsvspace} as desribed above (\ref{sub:lengths}). If the optional spacing argument is used it overrides the value of \cs{afterelementsvspace} for the current element.
%
% \textbf{Caveat}\label{warn:newline}: No newlines (|\\|) or paragraphs (\cs{par} oder empty lines) are allowed inside \cs{cvitem} and the other predefined elements. They will lead to an error message like: 
%
% \texttt{! Paragraph ended before \cs{cvitem} was complete.} 
%
% and the parsing process will stop.
%
%\subsection{\cs{cvdoubleitem}}
% \label{sub:cvdoubleitem}
%
%\DescribeMacro{\cvdoubleitem}
% \cvdoubleitemusage puts two pairs of header and text in one line. The first header appears in the hint column.
%
%\subsection{\cs{cvlistitem} and \cs{cvlistdoubleitem}}
% \label{sub:cvlistitem}
%
% \cvlistitemusage and\\
% \cvlistdoubleitemusage\\
% put one or two pair(s) of label and item in the main column. The hint column is left empty. If the optional argument is omitted, the label is the default label provided by the style in use or the label defined with \cs{listitemsymbol}.
%
%\subsection{\cs{cventry}}
% \label{sub:cventry}
% \DescribeMacro{\cventry}
% With the command\\
% \cventryusage\\
% you get a more structured description. The first mandatory argument will usually be placed in the hint column (depending on the style in use), all others in the main column, each with its own formatting. Just leave empty those arguments you do not need (use empty braces |{}|) . Note, however, that the second mandatory argument should not be empty (otherwise the entry in the main column will start with a comma).
% In case the predefined formatting of the arguments does not suit your needs you may of course use formatting commands inside the arguments.
%  
%\subsection{\cs{cvitemwithcomment}}
% \label{sub:cvitemwithcomment}
%
% \DescribeMacro{\cvitemwithcomment}
% With \cvitemwithcommentusage you can list a pair of header and description with a additional right-aligned comment.
%
%\subsection{Links}
% \label{sub:links}
%
% There are four link commands predefined:
%
% \DescribeMacro{\link}
% \DescribeMacro{\httplink}
% \DescribeMacro{\httpslink}
% \DescribeMacro{\emaillink}
% \cs{link}\oarg{optional text}\marg{link},
% 
% \cs{httplink}\oarg{optional text}\marg{link}, and
%
% \cs{httpslink}\oarg{optional text}\marg{link}, and
% \changes{v1.1.2}{2021/02/12}{\cs{httpslink} added.}
% 
% \cs{emaillink}\oarg{optional text}\marg{link}.
%
% All of them take a description as optional argument and the link address as mandatory argument. The optional argument will be shown in the text, the hyperlink points to the address given in the mandatory argument. If no optional argument is given the address in the mandatory argument will be printed. The mandatory argument of \cs{httplink} will be prefixed with |http://|, of \cs{httpslink} with |https://|, of \cs{emaillink} with |mailto:|. To change the font attributes of the links, see above \ref{sub:fonts}. 
%
% \subsection{Itemize}
% \label{sub:itemize}
%
% \DescribeEnv{compactitem}
% \DescribeEnv{compactenum}
% \DescribeEnv{compactdesc}
% These are three compact versions of the standard lists |itemize|, |enumerate| and |description| (by the \textsf{enumitem} package). In the default setting within \mycls they come without indentation or extra spacing so they fit nicely into other elements such as \cs{cvitem}.
% They are used in the usual way:
%
% |\begin{compactitem}|
%
% |\item| \meta{text}
%
% |\end{compactitem}|.
%
% If you use them inside other elements make sure there are no empty lines surrounding them, otherwise you will get an error message (see \ref{warn:newline}).
%
%\section{Styles}
%\subsection{The \mysty{classic} style}
% \label{sub:classic}
% In \mysty{classic} style all personal data appear in the header with the optional picture on the right side. Section and subsection headers are given in the document color and placed in the main column. On the left side of the section headers is a horizontal bar in the hint column.
%
%\subsection{The \mysty{casual} style}
% \label{sub:casual}
% The \mysty{casual} style is built upon the \mysty{classic} style with a few changes. The main difference to the \mysty{classic} style is that the picture is set at the left of the header and the address block is set in the foot of the page. By default the foot is set on the first page only. If you want it on all pages, put |\pagestyle{footer}| at the beginning of your document.
%
%\subsection{The \mysty{oldstyle} style}
% \label{sub:oldstyle}
% This style provides a CV with the addressblock in the left margin and the hint column to the right. The section headers are kept simple, without section bars. To allow for three columns the |DIV| value is increased. 
%
% \section{Examples}
%
% For examples see the example files \mbox{\texttt{komacv\_example\_}\meta{style}\texttt{.pdf}} that come with this class. They should be located in the |doc|-directory of the tree where the class is stored. The example file \mbox{\texttt{komacv\_example.tex}} can be used to test the various possibilities |komacv| offers. Just remove (or add) comment signs and play around.
%
%
% \section{New CV styles}
% The flexibility of \mycls makes it fairly easy to create new CV styles. If you have created a CV style of your own and want to share it with others you have several possibilites:
%
% You can publish it on CTAN. Just make sure it will be installed in the |styles|-subdirectory of the |komacv|-directory\\(such as
% |tex/latex/komacv/styles|).
%
% Or you can put it on GitHub (\texttt{salsod/komacv}) or send it to me by e-mail (\texttt{salome.soedergran@gmx.ch}) and I will include it in the next version of \mycls.
% 
% For your personal use, you can put it either into the working directory of your .tex-file (your cv-file) or into your local texmf-tree. In the latter case, don't forget to run texhash on the directory to refresh your tex system. 
%
% \section{Bugs, feature requests, and maintenance}\label{sec:bugs-feat-requ} 
% Known issue: Inconsistent vertical space between multiline cvlistitems (\cs{cvlistitem}).
%
% Feature request: A feature that has sometimes been asked for is the possibility of creating a cover letter based on \mycls for a job application. This has not been implemented into \mycls so far. The \KOMAScript\ now offers the possibility to create letters not only with the letter class \textsf{scrlttr2}, but also to load the package \textsf{scrletter} within any \KOMA class. This works also for \mycls. If you're interested in creating a cover letter inside \mycls, also have a look at Richard Grewe's extra package |komacv-rg| (see below, Acknowledgements).
%
% Further testing and use will certainly make some bugs crawl out from the dark in which they hide from me until now. If you encounter bugs, errors or typos, or if you have suggestions how to improve the \mycls class and the style files, please do not hesitate to contact me (in English or German) at \texttt{salome.soedergran@gmx.ch}. I am thankful for any suggestions that help improving \mycls though I dare not promise to be always very speedy in publishing a new version. Computer stuff is something of rather low priority with me. So if you make a point of having bugs fixed as soon as possible please consider making your own contributions on GitHub (\texttt{salsod/komacv}) \ldots or to become the new maintainer of \mycls.
%
% 
%\section{Acknowledgements}
% Many thanks to Richard Grewe, Samuel W. Flint, Alexander Dietzel, Ulrike Fischer, Alexander Kr\"anzlein, Matthias C.~Schmidt, Damian Martinez Dreyer, Wolfgang Witt, and Sebastian R\"oder for their suggestions and help. I am also grateful to Andreas Bie\ss{}mann, Simon Dreher, Paul Menzel and Dominik Wa\ss{}enhoven who helped to  improve the (now obsolete) |koma-moderncvlassic.sty|.
%
% On CTAN you can find the bundle \textsf{komacv-rg} by Richard Grewe with extra features: \enquote{The komacv-rg bundle provides packages that aid in creating CVs based on the komacv class and creating related documents, such as cover letters and cover sheets for job applications. Concretely, the bundle consists of three packages: komacv-addons, komacv-lco, and komacv-multilang.} (The bug fixes presented in \textsf{komacv-addons} v0.9.2 found their way into \mycls as of v1.1.2.) Many thanks for this great addition! 
% 
% \StopEventually{\PrintIndex}
%
% \section{Implementation}
%
% \textbf{Note:} The code of the styles is not part of the file \texttt{komacv.cls} but is to be found in the style files \mbox{|komacv-|\meta{stylename}|.sty|}, e.\,g. \texttt{komacv-classic.sty}.
%
%\subsection{The \mycls class}
%
% \subsubsection*{Initialization}
% \iffalse
%<*class>
% \fi
%    \begin{macrocode}
\providecommand*\mycolor{blue}
\RequirePackage{ifthen,kvoptions,calc,xparse,xstring}
%    \end{macrocode}
%
% \subsubsection*{Declare Options}
%    \begin{macrocode}
\SetupKeyvalOptions{%
family=komacv,%
prefix=komacv@,%
setkeys=\kvsetkeys%
}
\DeclareStringOption[mycolor]{color}[mycolor]
\DeclareStringOption[x11names]{xcolor}[x11names]
\DeclareStringOption[classic]{style}[classic]
\DeclareBoolOption[true]{fontawesome}
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{scrartcl}}
%    \end{macrocode}
%
% \subsubsection*{Process Options}
%    \begin{macrocode}
\ProcessKeyvalOptions{komacv} % evaluate keyval options
%    \end{macrocode}
%
% \subsubsection*{Load class}
%    \begin{macrocode}
\LoadClass[a4paper,headings=normal,fontsize=11pt]{scrartcl}
%    \end{macrocode}
%
%\subsubsection*{Packages}
% \changes{v1.1}{2017/04/12}{scrlayer-scrpage instead of the obsolete scrpage2}
% \changes{v1.1}{2017/04/12}{Linebreaks (hyphenation and no justificaton in narrow lines) improved with \texttt{ragged2e}.}
%    \begin{macrocode}
\RequirePackage[\komacv@xcolor]{xcolor}
\RequirePackage{%
  etoolbox,%
  ifpdf,%
  ifluatex,%
  ifxetex,%
  scrlayer-scrpage,%
  marvosym,%
  array,%
  graphicx,%
  microtype,%
  enumitem,
  hyperref%
}
\ifkomacv@fontawesome
\RequirePackage{fontawesome}
\fi
\RequirePackage[raggedrightboxes]{ragged2e}
\AtEndPreamble{%
  \renewcommand\familydefault{\sfdefault}% without this, pdflatex produces error messages; WHY?
}
%    \end{macrocode}
%
%\subsubsection*{Colors}
%    \begin{macrocode}
\definecolor{myblue}{rgb}{0.2,0.3,0.65}
\colorlet{mycolor}{myblue}
\AtEndPreamble{%
 \renewcommand*\mycolor{\komacv@color}
  \colorlet{colortheme}{\mycolor}% specified in documentclass option
  \@ifundefinedcolor{headlinecolor}{%
    \colorlet{@headlinecolor}{black}}{%
    \colorlet{@headlinecolor}{headlinecolor}}
  \@ifundefinedcolor{firstnamecolor}{%
    \colorlet{@firstnamecolor}{black}}{%
    \colorlet{@firstnamecolor}{firstnamecolor}}
  \@ifundefinedcolor{familynamecolor}{%
    \colorlet{@familynamecolor}{@firstnamecolor}}{%
    \colorlet{@familynamecolor}{familynamecolor}}
  \@ifundefinedcolor{acadtitlecolor}{%
    \colorlet{@acadtitlecolor}{@firstnamecolor}}{%
    \colorlet{@acadtitlecolor}{acadtitlecolor}}
  \@ifundefinedcolor{addresscolor}{%
    \colorlet{@addresscolor}{@firstnamecolor}}{%
    \colorlet{@addresscolor}{addresscolor}}
  \@ifundefinedcolor{quotecolor}{%
    \colorlet{@quotecolor}{@firstnamecolor}}{%
    \colorlet{@quotecolor}{quotecolor}}
  \@ifundefinedcolor{secbarcolor}{%
    \colorlet{@secbarcolor}{colortheme}}{%
    \colorlet{@secbarcolor}{secbarcolor}}
  \@ifundefinedcolor{seccolor}{%
    \colorlet{@seccolor}{colortheme}}{%
    \colorlet{@seccolor}{seccolor}}
  \@ifundefinedcolor{subseccolor}{%
    \colorlet{@subseccolor}{colortheme}}{%
    \colorlet{@subseccolor}{subseccolor}}
  \@ifundefinedcolor{hintcolor}{%
    \colorlet{@hintcolor}{black}}{%
    \colorlet{@hintcolor}{hintcolor}}
  \@ifundefinedcolor{framecolor}{%
    \colorlet{@framecolor}{colortheme}}{%
    \colorlet{@framecolor}{framecolor}}
  \@ifundefinedcolor{framebackcolor}{%
    \colorlet{@framebackcolor}{white}}{%
    \colorlet{@framebackcolor}{framebackcolor}}
} % end AtEndPreamble
%    \end{macrocode}
%
%\subsubsection*{Encoding and Fonts}
% \changes{v1.1}{2017/04/12}{\cs{usefontofkomafont} instead of \cs{usekomafont}, avoiding unintended side effects}
%    \begin{macrocode}
\ifboolexpr{bool{xetex} or bool{luatex}}{%
  \RequirePackage{fontspec}%
}{%
  \RequirePackage[utf8]{inputenc}
  \RequirePackage[T1]{fontenc}%
}
\newkomafont{headlinefont}{\fontsize{30}{32}\mdseries\upshape}
\newkomafont{firstnamefont}{\Huge\mdseries\upshape}
\newkomafont{familynamefont}{\usefontofkomafont{firstnamefont}}
\newkomafont{acadtitlefont}{\LARGE\mdseries\itshape}
\newkomafont{addressfont}{\normalsize\mdseries\itshape}
\newkomafont{quotefont}{\large\itshape}
\newkomafont{hintfont}{}
\newkomafont{linkfont}{}
\newkomafont{httplinkfont}{}
\newkomafont{httpslinkfont}{}
\newkomafont{emaillinkfont}{}
\newkomafont{commentmainfont}{\bfseries} % in \cvitemwithcomment
\newkomafont{commentfont}{\footnotesize\itshape} % in \cvitemwithcomment
\providecommand\sectionfont{\Large\sffamily\mdseries\upshape}
\providecommand\subsectionfont{\large\sffamily\mdseries\upshape}
\setkomafont{section}{\sectionfont}
\setkomafont{subsection}{\subsectionfont}
%    \end{macrocode}
%
%\subsubsection*{Lengths}
% \changes{v1.1}{2017/04/12}{New user length \cs{titlenamemaxwidth}}
%    \begin{macrocode}
\setlength\parindent{0pt}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\newlength\@komacvtextwidth
\newlength\@hintscolwidth
\newlength\hintscolwidth
\setlength\hintscolwidth{0pt}
\newlength\@sepcolwidth
\newlength\sepcolwidth
\setlength\sepcolwidth{0pt}
\newlength\@maincolwidth
\newlength\maincolwidth
\setlength\maincolwidth{0pt}
\newlength\@quotewidth
\newlength\quotewidth
\setlength\quotewidth{0pt}
\newlength\@dbitemmaincolwidth
\newlength\dbitemmaincolwidth
\setlength\dbitemmaincolwidth{0pt}
\newlength\@listitemsymbolwidth
\newlength\listitemsymbolwidth
\setlength\listitemsymbolwidth{0pt}
\newlength\@listitemmaincolwidth
\newlength\listitemmaincolwidth
\setlength\listitemmaincolwidth{0pt}
\newlength\@listdbitemmaincolwidth
\newlength\listdbitemmaincolwidth
\setlength\listdbitemmaincolwidth{0pt}
\newlength\@titlepicwidth
\newlength\@titlesepwidth
\setlength\@titlesepwidth{0pt}
\newlength\titlesepwidth
\setlength\titlesepwidth{0pt}
\newlength\@mframepicshift
\newlength\mframepicshift
\setlength\mframepicshift{0pt}
\newlength\@commentmainlength
\newlength\@commentlength
\newlength\@titlenamewidth
\newlength\@titlenamemaxwidth
\newlength\titlenamemaxwidth
\setlength\titlenamemaxwidth{0pt}
\newlength\@titlenamefullwidth
\newlength\@titledetailswidth
\newlength\@infocolwidth
\newlength\infocolwidth
\setlength\infocolwidth{0pt}
\newlength\@sepinfocolwidth
\newlength\sepinfocolwidth
\setlength\sepinfocolwidth{0pt}
\newlength\komacvinfocolextrawidth % witout @ for use inside document (addmargin)
\newlength\@footerwidth
\setlength\@footerwidth{.6\textwidth}
\newlength\@fboxwidth
\newlength\footerwidth
\setlength\footerwidth{0pt}
\newlength\@aftertitlevspace
\newlength\aftertitlevspace
\setlength\aftertitlevspace{0pt}
\newlength\@afterquotevspace
\newlength\afterquotevspace
\setlength\afterquotevspace{0pt}
\newlength\@afterelementsvspace
\newlength\afterelementsvspace
\newlength\@beforesecvspace
\newlength\beforesecvspace
\setlength\beforesecvspace{0pt}
\newlength\@aftersecvspace
\newlength\aftersecvspace
\setlength\aftersecvspace{0pt}
\newlength\@beforesubsecvspace
\newlength\beforesubsecvspace
\setlength\beforesubsecvspace{0pt}
\newlength\@aftersubsecvspace
\newlength\aftersubsecvspace
\setlength\aftersubsecvspace{0pt}
\AtEndPreamble{%
  % infocol (oldstyle)
  \setlength{\@infocolwidth}{\infocolwidth}
  \setlength{\@sepinfocolwidth}{\sepinfocolwidth}
\setlength\komacvinfocolextrawidth{\@infocolwidth+\@sepinfocolwidth}
  \setlength\@komacvtextwidth{\textwidth-\komacvinfocolextrawidth}
  % fboxextra (picture frame)
  \newlength\@fboxextra
  \setlength\@fboxextra{\fboxsep+\fboxrule}
  % hintscolumn
  \ifdimequal{\hintscolwidth}{0pt}{%
    \setlength\@hintscolwidth{.2\@komacvtextwidth}
  }{%
    \setlength{\@hintscolwidth}{\hintscolwidth}%
  }
  % separatorcolumn
  \ifdimequal{\sepcolwidth}{0pt}{%
    \setlength\@sepcolwidth{2em}%
  }{%
    \setlength{\@sepcolwidth}{\sepcolwidth}%
  }
  % maincolumn
  \ifdimequal{\maincolwidth}{0pt}{%
\setlength{\@maincolwidth}{\@komacvtextwidth-\@sepcolwidth-\@hintscolwidth}%
  }{%
    \setlength{\@maincolwidth}{\maincolwidth}%
  }
  % doubleitem
  \ifdimequal{\dbitemmaincolwidth}{0pt}{%
    \setlength{\@dbitemmaincolwidth}{%
    \@maincolwidth-\@hintscolwidth-2\@sepcolwidth}%
    \setlength{\@dbitemmaincolwidth}{0.5\@dbitemmaincolwidth}%
  }{%
    \setlength{\@dbitemmaincolwidth}{\dbitemmaincolwidth}%
  }
  % listitem
  \ifdimequal{\listitemsymbolwidth}{0pt}{%
    \settowidth{\@listitemsymbolwidth}{\listitemsymbol{}~}%
  }{%
    \setlength{\@listitemsymbolwidth}{\listitemsymbolwidth}%
  }
\setlength{\@listitemmaincolwidth}{\@maincolwidth-\@listitemsymbolwidth}%
  % listdoubleitem
  \ifdimequal{\listdbitemmaincolwidth}{0pt}{%
\setlength{\@listdbitemmaincolwidth}{\@maincolwidth-\@sepcolwidth-\@listitemsymbolwidth}%
\setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % 
  }{%
    \setlength{\@listdbitemmaincolwidth}{\listdbitemmaincolwidth}%
\setlength{\@listdbitemmaincolwidth}{0.475\@listdbitemmaincolwidth}% % 
  }
  % quote
  \ifdimequal{\quotewidth}{0pt}{%
    \setlength{\@quotewidth}{0.65\textwidth}%
  }{%
    \setlength{\@quotewidth}{\quotewidth}%
  }
  \ifdimequal{\afterquotevspace}{0pt}{%
   \setlength\@afterquotevspace{2\baselineskip}%
  }{%
    \setlength\@afterquotevspace{\afterquotevspace}%
  }
  % title
  \ifundef{\@photoname}{% without picture:
    \setlength\@aftertitlevspace{\aftertitlevspace}
  }{% with picture:
    \ifthenelse{%
      \equal{\@photoframe}{frame} \OR
      \equal{\@photoframe}{mframe}
    }{% with frame:
      \ifdimequal{\aftertitlevspace}{0pt}{%
        \setlength\@aftertitlevspace{1.5\@fboxextra}
      }{%
        \setlength\@aftertitlevspace{\aftertitlevspace}
      }
    }{% without frame:
      \setlength\@aftertitlevspace{\aftertitlevspace}
    }%
  }%
  \ifundef{\@photoname}{}{%
    \ifdimequal{\titlesepwidth}{0pt}{%
      \setlength\@titlesepwidth{\@sepcolwidth}
    }{%
      \setlength{\@titlesepwidth}{\titlesepwidth}
    }
  }
  % afterelementsvspace
  \ifdimequal{\afterelementsvspace}{0pt}{%
    \setlength{\@afterelementsvspace}{0.25em}%
  }{%
    \setlength{\@afterelementsvspace}{\afterelementsvspace}%
  }
  % beforesecvspace
  \ifdimequal{\beforesecvspace}{0pt}{%
    \setlength{\@beforesecvspace}{3.5ex \@plus -1ex \@minus -.2ex}%
  }{%
    \setlength{\@beforesecvspace}{\beforesecvspace}%
  }
  % aftersecvspace
  \ifdimequal{\aftersecvspace}{0pt}{%
    \setlength{\@aftersecvspace}{2.3ex \@plus.2ex}%
  }{%
    \setlength{\@aftersecvspace}{\aftersecvspace}%
  }
  % beforesubsecvspace
  \ifdimequal{\beforesubsecvspace}{0pt}{%
    \setlength{\@beforesubsecvspace}{3.25ex\@plus -1ex \@minus -.2ex}%
  }{
    \setlength{\@beforesubsecvspace}{\beforesubsecvspace}%
  }
  % aftersubsecvspace
  \ifdimequal{\aftersubsecvspace}{0pt}{%
    \setlength{\@aftersubsecvspace}{1.5ex \@plus .2ex}%
  }{%
    \setlength{\@aftersubsecvspace}{\aftersubsecvspace}%
  }
} % end AtEndPreamble
%    \end{macrocode}
%
%\subsubsection*{Symbols}
% \changes{v1.1}{2017/04/12}{Added macros and symbols for social media}
% \changes{v1.1.2}{2021/02/12}{Added class option |fontawesome=false| to avoid the social media symbols}
%    \begin{macrocode}
\providecommand*\@addresssymbol{}
\providecommand*\addresssymbol{}
\providecommand*\@mobilesymbol{\upshape{\Mobilefone}~}
\providecommand*\mobilesymbol{}
\providecommand*\@phonesymbol{\upshape{\Telefon}~}
\providecommand*\phonesymbol{}
\providecommand*\@faxsymbol{\upshape{\FAX}~}
\providecommand*\faxsymbol{}
\providecommand*\@emailsymbol{\upshape{\Letter}~}
\providecommand*\emailsymbol{}
\providecommand*\@homepagesymbol{}
\providecommand*\homepagesymbol{}
\ifkomacv@fontawesome
\providecommand*\@twittersymbol{\upshape{\faTwitter}~}
\providecommand*\@githubsymbol{\upshape{\faGithub}~}
\providecommand*\@facebooksymbol{\upshape{\faFacebook}~}
\providecommand*\@linkedinsymbol{\upshape{\faLinkedin}~}
\else
\providecommand*\@twittersymbol{}
\providecommand*\@githubsymbol{}
\providecommand*\@facebooksymbol{}
\providecommand*\@linkedinsymbol{}
\fi
\providecommand*\twittersymbol{}
\providecommand*\githubsymbol{}
\providecommand*\facebooksymbol{}
\providecommand*\linkedinsymbol{}
\providecommand*\@fsymbol{~~~\textbullet~~~}
\providecommand*\fsymbol{}
\providecommand*\@listitemsymbol{\textcolor{colortheme}{\Neutral}~}
\providecommand*\listitemsymbol{}
\AtEndPreamble{%
  \ifdefempty{\addresssymbol}{}{%
\renewcommand*\@addresssymbol{\addresssymbol}
}
  \ifdefempty{\mobilesymbol}{}{%
\renewcommand*\@mobilesymbol{\mobilesymbol}
}
  \ifdefempty{\phonesymbol}{}{%
\renewcommand*\@phonesymbol{\phonesymbol}
}
  \ifdefempty{\faxsymbol}{}{%
\renewcommand*\@faxsymbol{\faxsymbol}
}
  \ifdefempty{\emailsymbol}{}{%
\renewcommand*\@emailsymbol{\emailsymbol}
}
  \ifdefempty{\homepagesymbol}{}{%
\renewcommand*\@homepagesymbol{\homepagesymbol}
}
  \ifdefempty{\twittersymbol}{}{%
\renewcommand*\@twittersymbol{\twittersymbol}
}
  \ifdefempty{\githubsymbol}{}{%
\renewcommand*\@githubsymbol{\githubsymbol}
}
  \ifdefempty{\facebooksymbol}{}{%
\renewcommand*\@facebooksymbol{\facebooksymbol}
}
  \ifdefempty{\linkedinsymbol}{}{%
\renewcommand*\@linkedinesymbol{\linkedinsymbol}
}
  \ifdefempty{\fsymbol}{}{%
\renewcommand*\@fsymbol{\fsymbol}
}
  \ifdefempty{\listitemsymbol}{}{%
\renewcommand*\@listitemsymbol{\listitemsymbol}
}
} % end \AtEndPreamble
%    \end{macrocode}
%
%\subsubsection*{Personal data}
%    \begin{macrocode}
\providecommand*{\firstname}{}
\providecommand*{\familyname}{}
\providecommand*{\acadtitle}{}
\providecommand*{\addressstreet}{}
\providecommand*{\addresscity}{}
\providecommand*{\address}[2]{\addressstreet{#1}\addresscity{#2}}
\providecommand*{\mobile}{}
\providecommand*{\phonenr}{}
\providecommand*{\faxnr}{}
\providecommand*{\email}{}
\providecommand*{\homepage}{}
\providecommand*{\twitter}{}
\providecommand*{\github}{}
\providecommand*{\facebook}{}
\providecommand*{\linkedin}{}
\providecommand*{\extrainfo}{}
\providecommand*{\cvquote}{}
%    \end{macrocode}
%
%\subsubsection*{Itemize}
% With \textsf{enumitem}
%    \begin{macrocode}
\newlist{compactitem}{itemize}{3}
\newlist{compactenum}{enumerate}{3}
\newlist{compactdesc}{description}{3}
\setlist[compactitem,compactenum,compactdesc]{%
  topsep=0pt,%
  partopsep=0pt,%
  itemsep=0pt,%
  parsep=0pt,%
  leftmargin=*%
} % end setlist
\AtEndPreamble{%
\setlist[compactitem,1]{label=\@listitemsymbol}
\setlist[compactitem,2]{label={\textcolor{colortheme}\textendash}}
\setlist[compactitem,3]{label={\textcolor{colortheme}\textperiodcentered}}
\setlist[compactenum,1]{label={\textcolor{colortheme}{\arabic*.}}}
\setlist[compactenum,2]{label={\textcolor{colortheme}{\alph*.}}}
\setlist[compactenum,3]{label={\textcolor{colortheme}{\roman*.}}}
} % end AtEndPreamble
%    \end{macrocode}
%
%\subsubsection*{Picture}
%    \begin{macrocode}
\newlength\@photowidth
\providecommand{\photo}[3][]{%
  \providecommand{\@photoframe}{#1}%
  \setlength{\@photowidth}{#2}%
  \providecommand{\@photoname}{#3}} 
%    \end{macrocode}
%
%\subsubsection*{Headline}
% \changes{v1.1}{2017/04/12}{Vertical space between name and academic title adjusted}
% \changes{v1.1.2}{2021/02/12}{New implementation}
%    \begin{macrocode}
\providecommand\@headlinealignment{}
\providecommand\@headlinetype{none}
\providecommand\@headlinecontent{}
\ProvideDocumentCommand{\headline}{O{c} m o}
{
  \renewcommand\@headlinealignment{#1}
  \renewcommand\@headlinetype{#2}
  \renewcommand\@headlinecontent{
    \IfNoValueTF {#3}
    {
      \ifstrequal{#2}{title}{\par\headlinestyle{Curriculum Vitae}}{}
      \ifstrequal{#2}{name}{\par\firstnamestyle{\firstname}\ \familynamestyle{\familyname}\par\bigskip\acadtitlestyle{\acadtitle}}{}
      }{\headlinestyle{#3}}
}
}
\providecommand\setheadlinealignment{%
    \ifdefstring{\@headlinealignment}{l}{\RaggedRight}{%
      \ifdefstring{\@headlinealignment}{r}{\RaggedLeft}{\Centering}}
}
\providecommand\setheadlinetypename{%
\ifdefstring{\@headlinetype}{name}{%
    \setheadlinealignment
    \headlinestyle{\@headlinecontent}
}{}
}
\providecommand\setheadlinetypetitle{%
  \ifdefstring{\@headlinetype}{title}{%
    \setheadlinealignment
    \headlinestyle{\@headlinecontent}
}{}
}
\providecommand\setheadline{%
  \setheadlinetypename
  \setheadlinetypetitle
}
% \end{macrocode}
%
%\subsubsection*{Title/Head}
%    \begin{macrocode}
\newif\if@firstdetailselement\@firstdetailselementtrue
\providecommand*{\@titledetailsnewline}{
  \if@firstdetailselement%
    \@firstdetailselementfalse%
  \else%
    \\[.4ex]
  \fi%
}
\renewcommand\maketitle{\csexpandonce{@cvtitle\komacv@style}}
%    \end{macrocode}
%
%\subsubsection*{Lastpage}
%    \begin{macrocode}
\RequirePackage{lastpage}
\providecommand*{\totalpagemark}{% page and pagetotal
\usefontofkomafont{pagenumber}\pageref{LastPage}%
}
%    \end{macrocode}
%
%\subsubsection*{Element styles}
%    \begin{macrocode}
\providecommand*\headlinestyle[1]{{%
    \usefontofkomafont{headlinefont}%
    \textcolor{@headlinecolor}{#1}}}
  \providecommand*{\firstnamestyle}[1]{{%
      \usefontofkomafont{firstnamefont}%
      \textcolor{@firstnamecolor}{#1}}}
  \providecommand*{\familynamestyle}[1]{{%
      \usefontofkomafont{familynamefont}%
      \textcolor{@familynamecolor}{#1}}}
  \providecommand*{\acadtitlestyle}[1]{{%
      \usefontofkomafont{acadtitlefont}%
      \textcolor{@acadtitlecolor}{#1}}}
  \providecommand*{\addressstyle}[1]{{%
      \usefontofkomafont{addressfont}%
      \textcolor{@addresscolor}{#1}}}
  \providecommand*{\quotestyle}[1]{{%
      \usefontofkomafont{quotefont}%
      \textcolor{@quotecolor}{#1}}}
  \providecommand*{\hintstyle}[1]{{%
      \usefontofkomafont{hintfont}%
      \textcolor{@hintcolor}{#1}}}
  \providecommand*{\sectionstyle}[1]{%
    \usefontofkomafont{section}%
    \textcolor{@seccolor}{#1}}
  \providecommand*{\subsectionstyle}[1]{%
    \usefontofkomafont{subsection}%
    \textcolor{@subseccolor}{#1}}
%    \end{macrocode}
%
%\subsubsection*{Elements}
%
%\paragraph{cvitem}~\\
% usage: \cvitemusage
%    \begin{macrocode}
\providecommand*{\cvitem}[3][\@afterelementsvspace]{%
  \begin{tabular}{%
      @{}>{\raggedleft\arraybackslash}p{\@hintscolwidth}%
      @{\hspace{\@sepcolwidth}}p{\@maincolwidth}@{}%
    }%
    \hintstyle{#2} & {\@minipagetrue #3}%
  \end{tabular}\\[#1]%
}
%    \end{macrocode}
%
%\paragraph{cvdoubleitem}~\\
% usage: \cs{cvdoubleitem}\oarg{spacing}\marg{header1}\marg{text1}\marg{header2}\marg{text2}
%    \begin{macrocode}
\providecommand*{\cvdoubleitem}[5][\@afterelementsvspace]{%
 \cvitem[#1]{#2}{%
   \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}%
   \hspace*{\@sepcolwidth}%
   \begin{minipage}[t]{\@hintscolwidth}%
     \noindent\raggedleft\hintstyle{#4}
   \end{minipage}%
   \hspace*{\@sepcolwidth}%
   \begin{minipage}[t]{\@dbitemmaincolwidth}%
     \noindent #5
   \end{minipage}%
 }%
}
%    \end{macrocode}
%
%\paragraph{cvlistitem}~\\%
% usage: \cvlistitemusage
%    \begin{macrocode}
\providecommand*{\cvlistitem}[2][\@afterelementsvspace]{%
   \cvitem[#1]{}{%
     \@listitemsymbol%
     \hfill %
     \begin{minipage}[t]{.95\@listitemmaincolwidth}%
       #2%
     \end{minipage}%
   }%
 }
%    \end{macrocode}
%
%\paragraph{cvlistdoubleitem}~\\%
% usage: \cvlistdoubleitemusage
%    \begin{macrocode}
\providecommand*{\cvlistdoubleitem}[3][\@afterelementsvspace]{%
  \cvitem[#1]{}{%
    \@listitemsymbol%
    \hfill %
    \begin{minipage}[t]{.9\@listdbitemmaincolwidth}%
      #2%
    \end{minipage}%
    \hspace*{.9\@sepcolwidth}
    \ifstrempty{#3}{}{%
      \@listitemsymbol%
      \hfill %
      \begin{minipage}[t]{.9\@listdbitemmaincolwidth}%
        #3%
      \end{minipage}
    }%
  }%
}
%    \end{macrocode}
%
%\paragraph{cventry}~\\%
%usage: \cventryusage
%    \begin{macrocode}
\providecommand*{\cventry}[7][\@afterelementsvspace]{%
  \cvitem[#1]{#2}{%
    {\bfseries#3}%
    \ifstrempty{#4}{}{, {\itshape#4}}%
    \ifstrempty{#5}{}{, #5}%
    \ifstrempty{#6}{}{, #6}%
    .%
    \ifx&#7&%
    \else{%
      \newline{}\begin{minipage}[t]{\linewidth}%
        \small#7%
      \end{minipage}%
    }%
    \fi%
  }%
}
%    \end{macrocode}
%
%\paragraph{cvitemwithcomment}~\\%
% usage: \cvitemwithcommentusage
%    \begin{macrocode}
\newbox{\@commentmainbox}
\providecommand*{\cvitemwithcomment}[4][\@afterelementsvspace]{%
  \savebox{\@commentmainbox}{{\usefontofkomafont{commentmainfont} #3}}%
  \settowidth\@commentmainlength{\usebox{\@commentmainbox}}%
  \setlength{\@commentlength}{%
    \@maincolwidth-\@sepcolwidth-\@commentmainlength%
  }%
  \cvitem[#1]{#2}{%
    \begin{minipage}[t]{\@commentmainlength}%
      \usefontofkomafont{commentmainfont} #3%
    \end{minipage}%
    \hfill%
   \begin{minipage}[t]{\@commentlength}%
     \raggedleft\usefontofkomafont{commentfont} #4%
   \end{minipage}%
 }%
}
%    \end{macrocode}
%
%\paragraph{link}~\\%
%usage: \linkusage
%    \begin{macrocode}
  \providecommand*{\link}[2][]{%
    \ifstrempty{#1}{%
      \href{#2}{\usefontofkomafont{linkfont}#2}}{%
      \href{#2}{\usefontofkomafont{linkfont}#1}}%
  }
%    \end{macrocode}
%
%\paragraph{httplink}~\\%
%usage: \httplinkusage
%    \begin{macrocode}
  \providecommand*\croplink{}
  \providecommand*{\httplink}[2][]{%
    \renewcommand\croplink{\StrDel{#2}{http://}}
    \ifstrempty{#1}{%
      \IfSubStr{#2}{http:}{\href{#2}}{\href{http://#2}}{%
        \usefontofkomafont{httplinkfont}\croplink}%
      }{%
      \IfSubStr{#2}{http:}{\href{#2}}{\href{http://#2}}{%
        \usefontofkomafont{httplinkfont}#1}}
    }
%    \end{macrocode}
%
%\paragraph{httpslink}~\\%
%usage: \httpslinkusage
%    \begin{macrocode}
  \providecommand*{\httpslink}[2][]{%
    \renewcommand\croplink{\StrDel{#2}{https://}}
    \ifstrempty{#1}{%
      \IfSubStr{#2}{https:}{\href{#2}}{\href{https://#2}}{%
        \usefontofkomafont{httpslinkfont}\croplink}%
      }{%
      \IfSubStr{#2}{https:}{\href{#2}}{\href{https://#2}}{%
        \usefontofkomafont{httpslinkfont}#1}}
    }
%    \end{macrocode}
%
%\paragraph{emaillink}~\\%
%usage: \emaillinkusage
%    \begin{macrocode}
  \providecommand*{\emaillink}[2][]{%
    \ifstrempty{#1}{%
      \href{mailto:#2}{\usefontofkomafont{emaillinkfont}#2}}{%
      \href{mailto:#2}{\usefontofkomafont{emaillinkfont}#1}}%
  }
%    \end{macrocode}
%
%\subsubsection*{Sections}
% \changes{v1.1}{2017/04/12}{Lengths \cs{beforesecvspace}, \cs{aftersecvspace}, \cs{beforesubsecvspace} and  \cs{aftersubsecvspace} added to \cs{section} and \cs{subsection} definitions}
%    \begin{macrocode}
% Depending on the style in use (see style descriptions).
%    \end{macrocode} 
%\subsubsection*{Hypersetup}
%    \begin{macrocode}
\hypersetup{
  breaklinks,
  unicode,
  colorlinks    = false,
  pdfborder     = {0 0 .3},
  pdfstartview  = FitH,
  pdfstartpage  = 1,
  pdfcreator    = \LaTeX{},
  pdfproducer   = \LaTeX{}
}
\urlstyle{same}
\providecommand*\@citebordercolor{}
\providecommand*\citebordercolor{\@citebordercolor}
\providecommand*\@filebordercolor{}
\providecommand*\filebordercolor{\@filebordercolor}
\providecommand*\@linkbordercolor{}
\providecommand*\linkbordercolor{\@linkbordercolor}
\providecommand*\@menubordercolor{}
\providecommand*\menubordercolor{\@menubordercolor}
\providecommand*\@runbordercolor{}
\providecommand*\runbordercolor{\@runbordercolor}
\providecommand*\@urlbordercolor{}
\providecommand*\urlbordercolor{\@urlbordercolor}
\providecommand*\allbordercolors{}
\providecommand*\pdfauthor{}
\providecommand*\pdfsubject{}
\providecommand*\pdftitle{}
\providecommand*\pdfkeywords{}
\AtEndPreamble{%
\providecommand*\@allbordercolors{colortheme}
\ifdefempty{\allbordercolors}{}{\renewcommand*\@allbordercolors{\allbordercolors}}
\providecommand*\@pdfauthor{\firstname~\familyname}
\ifdefempty{\pdfauthor}{}{\renewcommand*\@pdfauthor{\pdfauthor}}
\providecommand*\@pdfsubject{\firstname~\familyname}
\providecommand*\pdfsubject{\@pdfsubject}
\providecommand*\@pdftitle{\title~\firstname~\familyname}
\providecommand*\pdftitle{\@pdftitle}
\providecommand*\@pdfkeywords{\firstname~\familyname{} curriculum~vit\ae{} CV{}}
\providecommand*\pdfkeywords{\@pdfkeywords}
  \hypersetup{%
    allbordercolors = \@allbordercolors,
    citebordercolor = \citebordercolor,
    filebordercolor = \filebordercolor,
    linkbordercolor = \linkbordercolor,
    menubordercolor = \menubordercolor,
    runbordercolor  = \runbordercolor,
    urlbordercolor  = \urlbordercolor,
    pdfauthor       = \@pdfauthor,
    pdfsubject      = \pdfsubject,
    pdftitle        = \pdftitle,
    pdfkeywords     = \pdfkeywords,
  }
} % end AtEndPreamble
%    \end{macrocode}
%
%\subsubsection*{Varia}
%    \begin{macrocode}
\AtBeginDocument{%
  \raggedbottom
} % End AtBeginDocument
\clearpairofpagestyles
%    \end{macrocode}
% 
%\subsubsection*{Load style}
%    \begin{macrocode}
\RequirePackage{komacv-\komacv@style}
%    \end{macrocode}
% 
% \iffalse
%</class>
% \fi
%
%\subsection{The \mysty{classic} style}
%\label{sec:style-classic}
% \iffalse
%<*classic>
% \fi
%
%\subsubsection*{Fonts}
%    \begin{macrocode}
\addtokomafont{firstnamefont}{\sffamily}
\addtokomafont{acadtitlefont}{\sffamily}
\addtokomafont{addressfont}{\sffamily}
\addtokomafont{hintfont}{\sffamily}
%    \end{macrocode}
%
%\subsubsection*{Lengths}
%    \begin{macrocode}
\AtEndPreamble{%
 %\AtBeginDocument{
  % mframepicshift
  \ifdimequal{\mframepicshift}{0pt}{%
    \setlength\@mframepicshift{.5\@photowidth+\@fboxextra}
  }{%
    \setlength\@mframepicshift{\mframepicshift}
  }
} % end \AtBeginDocument
%    \end{macrocode}
%
%\subsubsection*{Title / Head}
%    \begin{macrocode}
\AtEndPreamble{%
  \ifdimequal{\titlenamemaxwidth}{0pt}{%
\setlength{\@titlenamemaxwidth}{.525\textwidth}
}{
\setlength\@titlenamemaxwidth{\titlenamemaxwidth}
}
}
\providecommand\@cvtitleclassic{%
 %% set \cs{@titlenamemaxwidth| to the full name length, capped by \cs{@titlenamemaxwidth|
\settowidth{\@titlenamefullwidth}{\firstnamestyle{\firstname~}\familynamestyle{\familyname}}
 \ifdimless{\@titlenamemaxwidth}{\@titlenamefullwidth}{%
   \setlength{\@titlenamewidth}{\@titlenamemaxwidth}
 }{%
   \setlength{\@titlenamewidth}{\@titlenamefullwidth}
 }
 % set titlenamedetailswidth 
\setlength{\@titledetailswidth}{\textwidth-\@titlenamewidth-\@titlesepwidth}%
\ifundef{\@photoname}{}{% else
  \ifdefstring{\@photoframe}{frame}{%
\setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth-2\@fboxextra}
    \setlength{\@titledetailswidth}{.99\@titledetailswidth} % avoid overfullbox warning
  }{% else
  \ifdefstring{\@photoframe}{mframe}{%
\setlength{\@titledetailswidth}{\@titledetailswidth-\@mframepicshift}%
    \setlength{\@titledetailswidth}{.99\@titledetailswidth} % avoid overfullbox warning
  }{% picture but no frame
   \setlength{\@titledetailswidth}{\@titledetailswidth-\@photowidth}
    \setlength{\@titledetailswidth}{.99\@titledetailswidth} % avoid overfullbox warning                                              
  }
}
}%
 % name and title
\setheadline\par\bigskip
\begin{minipage}[b]{\@titlenamewidth}%
  \RaggedRight
  \ifdefstring{\@headlinetype}{name}{\hfill\mbox{}}{%
    \firstnamestyle{\firstname}\ %
    \familynamestyle{\familyname}%
    \ifdefempty{\acadtitle}{}{%
      \par\bigskip\acadtitlestyle{\acadtitle}}%
  }
\end{minipage}%
  % optional data
  \begin{minipage}[b]{\@titledetailswidth}%
    \raggedleft\addressstyle{%
    \ifdefempty{\addressstreet}{}{%
      \@titledetailsnewline%
      \@addresssymbol\addressstreet%
      \ifdefempty{\addresscity}{}{%
        \@titledetailsnewline\addresscity}}%
    \ifdefempty{\mobile}{}{%
      \@titledetailsnewline\@mobilesymbol~\mobile}%
    \ifdefempty{\phonenr}{}{%
      \@titledetailsnewline\@phonesymbol~\phonenr}%
    \ifdefempty{\faxnr}{}{%
      \@titledetailsnewline\@faxsymbol~\faxnr}%
    \ifdefempty{\email}{}{%
      \@titledetailsnewline\@emailsymbol\emaillink{\email}}%
    \ifdefempty{\homepage}{}{%
      \@titledetailsnewline\@homepagesymbol%
            \IfSubStr{\homepage}{https}{%
        \httpslink{\homepage}}{%
        \httplink{\homepage}}}%
    \ifdefempty{\twitter}{}{%
      \@titledetailsnewline\@twittersymbol~\twitter}%
    \ifdefempty{\github}{}{%
      \@titledetailsnewline\@githubsymbol~\github}%
    \ifdefempty{\facebook}{}{%
      \@titledetailsnewline\@facebooksymbol~\facebook}%
    \ifdefempty{\linkedin}{}{%
      \@titledetailsnewline\@linkedinsymbol~\linkedin}%
    \ifdefempty{\extrainfo}{}{%
      \@titledetailsnewline\extrainfo}%
  }%
  \end{minipage}%
  % optional photo
  \ifundef{\@photoname}{}{% with picture:
    \hspace*{\@titlesepwidth}%
    \ifthenelse{%
      \equal{\@photoframe}{frame} \OR
      \equal{\@photoframe}{mframe}
    }{% with frame:
      \begin{minipage}[b]{\@photowidth}%
        \fcolorbox{@framecolor}{@framebackcolor}{%
          \includegraphics[width=\@photowidth]{\@photoname}}%
      \end{minipage}}{% without frame:
      \begin{minipage}[b]{\@photowidth}
        \includegraphics[width=\@photowidth]{\@photoname}
      \end{minipage}}}
\\[\@aftertitlevspace]
  % optional quote
  \ifundef{\cvquote}{}{%
    {\centering
      \begin{minipage}{\@quotewidth}%
        \centering\quotestyle{\cvquote}%
      \end{minipage}\\[\@afterquotevspace]%
    }
    }%
}
%    \end{macrocode}
%
% \subsubsection*{Sections}
% \changes{v1.1}{2017/04/12}{Definition of \cs{section} and \cs{subsection} changed, mainly to avoid pagebreaks (all styles)}
%    \begin{macrocode}
\setcounter{secnumdepth}{1}
\RedeclareSectionCommand
  [
    beforeskip=\@beforesecvspace,
    afterskip=\@aftersecvspace,
    font=\color{@seccolor}\sectionfont
   ]{section}
\renewcommand*\thesection{\color{@secbarcolor}\rule{\@hintscolwidth}{1ex}\hspace{-1ex}\hspace{\@sepcolwidth}}
 \RedeclareSectionCommand
  [
    beforeskip=\@beforesubsecvspace,
    afterskip=\@aftersubsecvspace,
    indent=\dimexpr\@sepcolwidth+\@hintscolwidth,
    font=\color{@subseccolor}\subsectionfont
    ]{subsection}
%    \end{macrocode}
%
%\subsubsection*{Elements}
% As defined by the class.
%
% \iffalse
%</classic>
% \fi
% 
% \iffalse
%<*casual>
% \fi
%
%\subsection{The \mysty{casual} style}
%\label{sec:style-casual}
%\subsubsection*{Fonts}
%    \begin{macrocode}
\addtokomafont{firstnamefont}{\sffamily\fontsize{38}{40}}
\addtokomafont{acadtitlefont}{\sffamily}
\addtokomafont{addressfont}{\sffamily\small}
\addtokomafont{hintfont}{\sffamily}
%    \end{macrocode}
%
%\subsubsection*{Footer}
%    \begin{macrocode}
\newsavebox\@fboxa
\newsavebox\@fboxb
\providecommand*\@sboxa[1]{\sbox\@fboxa{#1}}
\providecommand*\@sboxb[1]{\sbox\@fboxb{#1}}
\providecommand*\@uboxa{\usebox\@fboxa}
\providecommand*\@uboxb{\usebox\@fboxb}
\providecommand*\@flushf{\strut\@uboxa\@sboxa{}\@sboxb{}}
\providecommand*\addtofooter[2][\@fsymbol]{%
  \@sboxb{\@uboxa{}#1#2}%
  \settowidth\@fboxwidth{\@uboxb}%
  \ifdimgreater{\@footerwidth}{\@fboxwidth}{%
    \@sboxa{\@uboxb}
  }{%
    \@flushf\\
    \@sboxa{#2}
    \@sboxb{#2}
  }
}
\ifdimequal{\footerwidth}{0pt}{}{\setlength\@footerwidth{\footerwidth}}
  \defpagestyle{footer}
  {{}{}{}}% head definition (empty)
  {% foot definition
    {}{}% definition for twoside layout
    {% definition for oneside layout
      \hspace*{\fill}%
      \parbox{\@footerwidth}{%
        \centering%
        \color{@addresscolor}\usefontofkomafont{addressfont}%
        \ifdefempty{\addressstreet}{}{%
          \addtofooter[]{\@addresssymbol\addressstreet}%
          \ifdefempty{\addresscity}{}{%
            \addtofooter[~--~]{\addresscity}}}%
        \ifdefempty{\mobile}{}{%
          \addtofooter{\@mobilesymbol\mobile}}%
        \ifdefempty{\phonenr}{}{%
          \addtofooter{\@phonesymbol\phonenr}}
        \ifdefempty{\faxnr}{}{%
          \addtofooter{\@faxsymbol\faxnr}}%
        \ifdefempty{\email}{}{%
          \addtofooter{\@emailsymbol\emaillink{\email}}}
        \ifdefempty{\homepage}{}{%
          \addtofooter{\@homepagesymbol%
                  \IfSubStr{\homepage}{https}{%
        \httpslink{\homepage}}{%
        \httplink{\homepage}}}}%
        \ifdefempty{\twitter}{}{%
          \addtofooter{\@twittersymbol\twitter}}%
        \ifdefempty{\github}{}{%
          \addtofooter{\@githubsymbol\github}}%
        \ifdefempty{\facebook}{}{%
          \addtofooter{\@facebooksymbol\facebook}}%
        \ifdefempty{\linkedin}{}{%
          \addtofooter{\@linkedinsymbol\linkedin}}%
        \ifdefempty{\extrainfo}{}{%
          \addtofooter{\extrainfo}}\@flushf%
      }% Ende parbox
      \hspace*{\fill}%
      \makebox[0pt][r]{\pagemark/\totalpagemark}
    }% end definition onesided layout
  }% end footer definition
%    \end{macrocode}
%
%\subsubsection*{Head / title}
%    \begin{macrocode}
\providecommand\@cvtitlecasual{%
\newbox{\@picbox}
\savebox{\@picbox}{%
  \ifundef{\@photoname}{}{% with picture:
    \ifthenelse{%
      \equal{\@photoframe}{frame} \OR
      \equal{\@photoframe}{mframe}
    }{% with frame:
      \fcolorbox{@framecolor}{@framebackcolor}{% 
        \includegraphics[width=\@photowidth]{\@photoname}%
      }% end fcolorbox
    }{% without frame:
      \includegraphics[width=\@photowidth]{\@photoname}%
    }% end ifdefstring frame
  }% end ifundef photoname
}% end savebox picbox
\settowidth\@titlepicwidth{\usebox{\@picbox}}
\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth}
\setheadlinetypetitle\par
  \usebox{\@picbox}%
  \hspace*{\@titlesepwidth}%
  \parbox[b]{\@titlenamewidth}{%
      \ifdefstring{\@headlinetype}{name}{\setheadlinetypename}{%
    \raggedleft{\firstnamestyle\firstname}%
    ~{\familynamestyle\familyname}
    }
    \\
\raggedleft\color{@firstnamecolor}\rule{\@titlenamewidth}{.25ex}\par
  }% end parbox
  \vspace{\@aftertitlevspace}
  %% optional acadtitle
  \ifdefempty{\acadtitle}{}{%
          \ifdefstring{\@headlinetype}{name}{}{%
    \raggedleft\acadtitlestyle{\acadtitle}}}\\[2.5em]%
  %% optional quote
  \ifdefempty{\cvquote}{}{%
    {\centering
      \begin{minipage}{\@quotewidth}%
        \centering\quotestyle{\cvquote}
      \end{minipage}\\[\@afterquotevspace]%
    }
  }%
}% end \@cvtitle-casual
\AtBeginDocument{%
  \thispagestyle{footer}
} % end \AtBeginDocument
%    \end{macrocode}
%
%\subsubsection*{Sections}
%    \begin{macrocode}
\setcounter{secnumdepth}{1}
\RedeclareSectionCommand
  [
    beforeskip=\@beforesecvspace,
    afterskip=\@aftersecvspace,
    font=\color{@seccolor}\sectionfont
   ]{section}
\renewcommand*\thesection{\color{@secbarcolor}\rule{\@hintscolwidth}{1ex}\hspace{-1ex}\hspace{\@sepcolwidth}}
 \RedeclareSectionCommand
  [
    beforeskip=\@beforesubsecvspace,
    afterskip=\@aftersubsecvspace,
    indent=\dimexpr\@sepcolwidth+\@hintscolwidth,
    font=\color{@subseccolor}\subsectionfont
    ]{subsection}
%    \end{macrocode}
%
% \iffalse
%</casual>
% \fi
%
% \iffalse
%<*oldstyle>
% \fi
%
%\subsection{The \mysty{oldstyle} style}
%\label{sec:style-oldstyle}
%
%\subsubsection*{Lengths}
%\label{subsub:oldstyle-lengths}
%    \begin{macrocode}
\KOMAoptions{DIV=15}
\setlength{\hintscolwidth}{3cm}
%    \end{macrocode}
%
%\subsubsection*{Fonts}
%\label{subsub:oldstyle-fonts}
%    \begin{macrocode}
\addtokomafont{addressfont}{\small}
\addtokomafont{hintfont}{\bfseries}
%    \end{macrocode}
%
%\subsubsection*{Colors}
%\label{subsub:oldstyle-colors}
%    \begin{macrocode}
\colorlet{addresscolor}{gray}
%    \end{macrocode}
%
%\subsubsection*{Symbols}
%\label{subsub:oldstyle-symbols}
%    \begin{macrocode}
\renewcommand*{\listitemsymbol}{\labelitemi~}
\renewcommand*{\addresssymbol}{}
\renewcommand*{\mobilesymbol}{\textbf{M}~}
\renewcommand*{\phonesymbol}{\textbf{T}~}
\renewcommand*{\faxsymbol}{\textbf{F}~}
\renewcommand*{\emailsymbol}{\textbf{E}~}
\renewcommand*{\homepagesymbol}{}
%    \end{macrocode}
%
%\subsubsection*{Infocolumn and title}
%\label{subsub:oldstyle-info-title}
%    \begin{macrocode}
\setlength{\infocolwidth}{3.5cm}
\setlength{\sepinfocolwidth}{2em}
\providecommand\@infocontent{%
    \ifdefempty{\addressstreet}{}{%
      \@titledetailsnewline%
      \@addresssymbol\addressstreet%
      \ifdefempty{\addresscity}{}{%
        \@titledetailsnewline\addresscity}}%
    \ifdefempty{\mobile}{}{%
      \@titledetailsnewline\@mobilesymbol~\mobile}%
    \ifdefempty{\phonenr}{}{%
      \@titledetailsnewline \@phonesymbol\phonenr}%
    \ifdefempty{\faxnr}{}{%
      \@titledetailsnewline\@faxsymbol\faxnr}%
    \ifdefempty{\email}{}{%
      \@titledetailsnewline\@emailsymbol\emaillink{\email}}%
    \ifdefempty{\homepage}{}{%
      \@titledetailsnewline\@homepagesymbol%
            \IfSubStr{\homepage}{https}{%
        \httpslink{\homepage}}{%
        \httplink{\homepage}}}%
    \ifdefempty{\twitter}{}{%
      \@titledetailsnewline\@twittersymbol~\twitter}%
    \ifdefempty{\github}{}{%
      \@titledetailsnewline\@githubsymbol~\github}%
    \ifdefempty{\facebook}{}{%
      \@titledetailsnewline\@facebooksymbol~\facebook}%
    \ifdefempty{\linkedin}{}{%
      \@titledetailsnewline\@linkedinsymbol~\linkedin}%
    \ifdefempty{\extrainfo}{}{%
      \@titledetailsnewline\extrainfo}%
} % end \@infocontent
 \providecommand{\@makeinfo}{% 
   \newbox{\@infobox}%
   \savebox{\@infobox}{%
     \parbox[b]{\@infocolwidth}{%
       % put the first line on the same baseline as the first sectiontitle:
       {\usefontofkomafont{section}
         \vspace*{1.6ex}
       }
       \raggedleft\addressstyle{%
         \@infocontent%
       }
     }% end parbox
   } % end savebox \@infobox%
   \newlength{\@infoheight}%
   \setlength{\@infoheight}{%
     \totalheightof{\usebox{\@infobox}}%
   }%
   \usebox{\@infobox}\vspace*{-\@infoheight}%
   \par\nointerlineskip%
   \vspace*{-\parskip}%
   \vspace*{-\@aftersecvspace}
 }% end \providecommand \@makeinfo
  \providecommand{\@cvtitleoldstyle}{%
    % optional picture box
    \newbox{\@picbox}
    \savebox{\@picbox}{%
      \ifundef{\@photoname}{}{% with picture:
        \ifthenelse{%
          \equal{\@photoframe}{frame} \OR
          \equal{\@photoframe}{mframe}
        }{% with frame:
          \fcolorbox{@framecolor}{@framebackcolor}{% 
            \includegraphics[width=\@photowidth]{\@photoname}%
          }% end fcolorbox
        }{% without frame:
          \includegraphics[width=\@photowidth]{\@photoname}%
        }% end ifdefstring frame
      }% end ifundef photoname
    }% end savebox picbox
    \settowidth\@titlepicwidth{\usebox{\@picbox}}
\setlength\@titlenamewidth{\textwidth-\@titlesepwidth-\@titlepicwidth}
    \setheadlinetypetitle\par
    \begin{minipage}[b]{\@titlenamewidth}%
  \ifdefstring{\@headlinetype}{name}{\setheadlinetypename}{%
      \firstnamestyle{\firstname}\ %
      \familynamestyle{\familyname}%
      \ifdefempty{\acadtitle}{}{%
        \\[1.25em]\acadtitlestyle{\acadtitle}}%
    }
    \end{minipage}%
    % optional photo
      \usebox{\@picbox}%
      \\[\@aftertitlevspace]%
    % optional quote
    \ifdefempty{\cvquote}{}{%
      {\centering%
        \begin{minipage}{\@quotewidth}%
          \centering\quotestyle{\cvquote}%
        \end{minipage}\\[\@afterquotevspace]%
      }%
    }%
 % address info box
     \@makeinfo
\par
\begin{addmargin}[\komacvinfocolextrawidth]{0pt}
  } % end \@cvtitleoldstyle
\AtEndDocument{%
\end{addmargin}
}
%    \end{macrocode}
%
%\subsubsection*{Sections}
%\label{subsub:oldstyle-sections}
%    \begin{macrocode}
\setcounter{secnumdepth}{0}
  \RedeclareSectionCommand
  [
    beforeskip=\@beforesecvspace,
    afterskip=\@aftersecvspace,
    font=\color{@seccolor}\sectionfont
   ]{section}
 \RedeclareSectionCommand
  [
    beforeskip=\@beforesubsecvspace,
    afterskip=\@aftersubsecvspace,
   font=\color{@subseccolor}\subsectionfont
   ]{subsection}
%    \end{macrocode}
% 
%\subsubsection*{Elements}
%\label{subsub:oldstyle-elements}
%    \begin{macrocode}
\renewcommand*{\cvitem}[3][\@afterelementsvspace]{%
  \begin{tabular}{%
      @{}p{\@maincolwidth}%
      @{\hspace{\@sepcolwidth}}p{\@hintscolwidth}@{}%
    }%
    {#3} & \RaggedRight\hintstyle{#2}%
  \end{tabular}\\[#1]%
}
\renewcommand*{\cvdoubleitem}[5][\@afterelementsvspace]{%
 \cvitem[#1]{#4}{%
   \begin{minipage}[t]{\@dbitemmaincolwidth}#3\end{minipage}%
   \hspace*{\@sepcolwidth}%
   \begin{minipage}[t]{\@hintscolwidth}%
     \noindent\raggedleft\hintstyle{#2}
   \end{minipage}%
   \hspace*{\@sepcolwidth}%
   \begin{minipage}[t]{\@dbitemmaincolwidth}%
     \noindent #5
   \end{minipage}%
 }%
}
%    \end{macrocode}
% \iffalse
%</oldstyle>
% \fi
%
% \newpage
% \PrintChanges
% \newpage
% \PrintIndex
%
% \Finale
\endinput
