/* ================================== */
/* Fonts                              */
/* ================================== */

@import url("https://fonts.smp-it-media.de/font-roboto.css");
@import url("https://fonts.smp-it-media.de/font-oswald.css");
@import url("https://fonts.smp-it-media.de/font-dosis.css");
@import url("https://fonts.smp-it-media.de/font-fira-sans.css");
@import url("https://fonts.smp-it-media.de/font-fira-sans-condensed.css");

/* ================================== */
/* WordPress Core                     */
/* ================================== */

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* ================================== */
/* All Elements                       */
/* ================================== */

* {
    box-sizing: border-box;

    /*
     * Prevents following issues:
     * - Behavior of flexbox containers containing images in Firefox
     *   (http://stackoverflow.com/questions/26895349/how-can-i-get-ff-33-x-flexbox-behavior-in-ff-34-x)
     * - Slider component inside a flexbox container
     *   (https://github.com/kenwheeler/slick/issues/982)
     */
    min-height: 0;
    min-width: 0;
}

/* ================================== */
/* Appearance                         */
/* ================================== */

body {
    font-family: "Fira Sans", sans-serif;
    font-weight: 300;
    font-size: 1em;
    letter-spacing: 0.025em;
    line-height: 1.5;
}

h1, h2, h3, h4, h5 {
    font-family: "Oswald", sans-serif;
    font-weight: normal;
    letter-spacing: 0.025em;
}

h1, h2, h3, h4, h5 {
    line-height: 1.5;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: inherit;
}

strong, b {
    font-weight: bold;
}

em, i {
    font-style: italic;
}

sup {
    font-size: x-small;
    vertical-align: super;
}

/* ================================== */
/* Shared Animations                  */
/* ================================== */

@keyframes spin {
    100% {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@-moz-keyframes spin {
    100% {
        -moz-transform: rotate(360deg);
    }
}

/* ================================== */
/* Social Media                       */
/* ================================== */

.component-social-media {
    text-align: center;
}

.component-social-media a {
    display: inline-block;
    padding: 2px;
}

.component-social-media img {
    width: 29px;
    height: 29px;
    display: block;
    margin: 0px;
}

.component-shortcode-social-media {
    display: flex;
}

/* ================================== */
/* Contact Formular 7                 */
/* ================================== */

.wpcf7 label {
    margin-bottom: 12px;
    display: block;
}

.wpcf7 span {
    margin-top: 0px;
    display: block;
}

.wpcf7 input[type=radio] ~ span {
    display: inline;
}

.wpcf7 select, .wpcf7 input {
    border:none;
    background-image:none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.cc-message,
.cc-message a:link,
.cc-message a:visited,
.cc-message a:active,
.cc-message a:hover {
    color: #fff;
}