/* BE and FE - do not wrap styles in @media {} for BE use! */

.align-center { text-align: center; }
.align-left { text-align: left; }
.align-justify { text-align: justify; }
.align-right { text-align: right; }

.fa-rotate-45::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
}

.fa-rotate-315::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    display: inline-block;
}

.fa:not(i) {
    display:inline;
    font-style:inherit;
    font-weight:inherit;
    font-family:inherit;
}

a > .fa {
    margin-right: 0.25em;
}
a > .fa-after {
    margin-left: 0.25em;
    margin-right: 0;
}

[data-icon="fa-file-o"][href$="pdf"] i::before {
    content: '\f1c1';
}
[data-icon="fa-file-o"][href$="docx"] i::before,
[data-icon="fa-file-o"][href$="doc"] i::before {
    content: '\f1c2';
}
[data-icon="fa-file-o"][href$="xlsx"] i::before,
[data-icon="fa-file-o"][href$="xls"] i::before {
    content: '\f1c3';
}
[data-icon="fa-file-o"][href$="pptx"] i::before,
[data-icon="fa-file-o"][href$="ppt"] i::before {
    content: '\f1c4';
}

[data-icon="fa-file-o"][href$="psd"] i::before,
[data-icon="fa-file-o"][href$="tiff"] i::before,
[data-icon="fa-file-o"][href$="tif"] i::before,
[data-icon="fa-file-o"][href$="bmp"] i::before,
[data-icon="fa-file-o"][href$="jpg"] i::before,
[data-icon="fa-file-o"][href$="png"] i::before {
    content: '\f1c5';
}
[data-icon="fa-file-o"][href$="zip"] i::before {
    content: '\f1c6';
}
[data-icon="fa-file-o"][href$="webm"] i::before,
[data-icon="fa-file-o"][href$="mov"] i::before,
[data-icon="fa-file-o"][href$="mp4"] i::before {
    content: '\f1c8';
}

.p-big { font-size: 125%; }
.p-tiny { font-size: 87.5%; }

.c-bold { font-weight: 600 !important; }
.c-bold.fa::before {
    font-weight: 600;
}

.c-tiny { font-size: 87.5%; }

.c-important { color: var(--color-1); }

/* (partial) bootstrap btn rules */

a.btn {
    text-decoration: none !important;
    text-shadow: none !important;
}

.btn {
    display: inline-block;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 0 none transparent;
    padding: .5625rem 1.25rem 0.6875rem;
    border: .125rem solid transparent;
    font-size: inherit;
    line-height: 1.5rem;
    border-radius: 100vh;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    white-space: normal;
}

.btn:focus, .btn:hover {
    text-decoration: none;
}

.btn:focus, .btn.focus {
    /* outline: 0;
    -webkit-box-shadow: 0 0 0 2px rgba(200, 11, 104, 0.25);
    box-shadow: 0 0 0 2px rgba(200, 11, 104, 0.25); */
}

.btn:disabled, .btn.disabled {
    cursor: not-allowed;
    opacity: .65;
}

.btn:active, .btn.active {
    background-image: none;
}

a.btn.disabled,
fieldset[disabled] a.btn {
    pointer-events: none;
}

.btn-primary {
    color: rgb(255,255,255);
    background-color: var(--color-1);
}

.btn-primary:hover, .btn-primary.hover {
    color: rgb(255,255,255);
    background-color: var(--color-2);
    background-color: var(--color-1-a);
}

.btn-primary:active, .btn-primary.active {
    color: rgb(255,255,255);
    background-color: var(--color-2);
    background-image: none;
}

.btn-primary:disabled, .btn-primary.disabled {
    background-color: var(--color-1);
}

.btn-secondary {
    background-color: transparent;
    border-color: var(--color-1);
    color: var(--color-1);
}

.btn-secondary:hover, .btn-secondary.hover {
    color: var(--color-text-light);
    background-color:  var(--color-1-a);
    border-color: var(--color-1-a);
}

.btn-secondary:active, .btn-secondary.active {
    background-image: none;
}

.btn-secondary:disabled, .btn-secondary.disabled {
    background-color: rgb(255,255,255);
}

.btn-link {
    font-weight: normal;
    color: var(--color-1);
    border-radius: 0;
}

.btn-link,
.btn-link:active, .btn-link.active,
.btn-link:disabled, .btn-link.disabled {
    background-color: transparent;
}

.btn-link, 
.btn-link:hover, .btn-link.hover,
.btn-link:active, .btn-link.active {
    border-color: transparent;
}

.btn-link:hover, .btn-link.hover {
    color: #014c8c;
    text-decoration: underline !important;
    background-color: transparent;
}

.btn-link:disabled, .btn-link.disabled {
    color: #636c72;
}

.btn-link:disabled:focus, .btn-link:disabled:hover {
    text-decoration: none;
}

.p-icon {
    padding-left: 3.125rem;
    position: relative;
}

.p-icon::before {
    content: "";    
    content: "\f0f9";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.5rem;
}

.cke_top .p-icon::before {
    font-size: 1rem;
}

.p-icon-telephone::before {
    content: "\f095";
}

.p-icon-ambulance::before {
    content: "\f0f9";
}

.p-icon-fax::before {
    content: "\f1ac";
}

.p-icon-stethoscope::before {
    content: "\f0f1";
}

/* styles für den cke */

.cke_editable .p-icon {
    color: rgb(51, 51, 51);
}

.cke_editable p a.link-internal:before ,
.cke_editable p a.link-external:before ,
.cke_editable p a.link-download:before ,
.cke_editable p a.link-mail:before {
    margin-right: .5rem;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.cke_editable p a.link-internal:before ,
.cke_editable p a.link-download:before {
    content: "\f0da";
}

.cke_editable p a.link-external:before {
    content: "\f0ac";
}

.cke_editable p a.link-mail:before {
    content:"\f0e0";
}
