@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,900");
@import url("fontawesome-all.min.css");

/* 
   Start of CSS Reset
   http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* ------------------------
       Basics 
   ------------------------ */

body, input, textarea, select, button {
   font-family: "Source Sans Pro", "sans-serif";
   font-size: 1.2em;
   line-height: 1.4em;
   font-weight: 300;
   letter-spacing: 0.025em;

}

b, strong {
    font-weight: 600;
}

html {
    scroll-behavior: smooth;
    height: 100%;
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

@-ms-viewport {
    width: device-width;
}


div.background {
    position: sticky;
    top:0px;
    left:0px;
    width: 100vw;
    height:100vh;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: cover;
    padding:0px;
    border: 0px none transparent;
    margin: 0px 0px -100vh 0px;
}

body {
    background-color: #f5ddc5;
}


div.background.familybg {
    background-image: url("../img/familyBackground.jpg");
    background-position: center;
}
div.background.erziehungbg {
    background-image: url("../img/erziehungBackground.jpg");
    background-position: center;
}
div.background.paarbg {
    background-image: url("../img/paarBackground.jpg");
    background-position: center;
}
div.background.paar3bg {
    background-image: url("../img/paar3Background.jpg");
    background-position: center;
}
div.background.contactbg {
    background-image: url("../img/contactBackground.jpg");
    background-position: center;
}
div.background.aboutmebg {
    background-image: url("../img/aboutmeBackground.jpg");
    background-position: center;
}
div.background.impressumbg {
    background-image: url("../img/impressumBackground.jpg");
    background-position: center;
}
div.background.praxisbg {
    background-image: url("../img/praxisBackground.jpg");
    background-position: center;
}
div.background.vortrag2bg {
    background-image: url("../img/vortrag2Background.jpg");
    background-position: center;
}


@media only screen and (max-width: 932px) and (orientation: landscape) {
    div.background.familybg {
        background-image: url("../img/familyBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.erziehungbg {
        background-image: url("../img/erziehungBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.paarbg {
        background-image: url("../img/paarBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.paar3bg {
        background-image: url("../img/paar3BackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.contactbg {
        background-image: url("../img/contactBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.aboutmebg {
        background-image: url("../img/aboutmeBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.impressumbg {
        background-image: url("../img/impressumBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.praxisbg {
        background-image: url("../img/praxisBackgroundPhoneLandscape.jpg");
        background-position: center;
    }
    div.background.vortrag2bg {
        background-image: url("../img/vortrag2BackgroundPhoneLandscape.jpg");
        background-position: center;
    }
}

@media only screen and (max-width: 430px) and (orientation: portrait) {
    div.background.familybg {
        background-image: url("../img/familyBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.erziehungbg {
        background-image: url("../img/erziehungBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.paarbg {
        background-image: url("../img/paarBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.paar3bg {
        background-image: url("../img/paar3BackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.contactbg {
        background-image: url("../img/contactBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.aboutmebg {
        background-image: url("../img/aboutmeBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.impressumbg {
        background-image: url("../img/impressumBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.praxisbg {
        background-image: url("../img/praxisBackgroundPhonePortrait.jpg");
        background-position: center;
    }
    div.background.vortrag2bg {
        background-image: url("../img/vortrag2BackgroundPhonePortrait.jpg");
        background-position: center;
    }
}

body {
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
}

/* Footer */
footer#bottombar {
    width:100vw;
    background-color: #333;
    height: 1.9em;
    text-align:center;
}
footer#bottombar ul {
    display: block;
    width:100%;
    text-align: center;
}
footer#bottombar ul li {
    display: inline-block;
}
footer#bottombar ul li a {
    display:block;
    color:#fff;
    text-decoration: none;
    padding: 0px 0.25em 0px 0.25em;
    border-top:4px transparent solid;
}
footer#bottombar ul li a:hover  {
    background-color: rgba(255, 255, 255, 0.12);
    border-top:4px #888 solid;
}


/* Menubar */
header#menubar {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    background-color: transparent;
    margin-bottom: -39px;
}

@media only screen and (min-width: 1027px) {
    html {
        scroll-padding-top: 2em;
    }
    header#menubar {
        width:100vw;
    }
    header#menubar div.iconbar {
        display:none;
    }
    header#menubar div#menuicon {
        display:none;
    }
    header#menubar nav {
        background-color: #fff;
        margin-bottom: 0px;
        width:100%;
        padding: 0px 1em 0px 0.5em;
    }
    header#menubar nav ul {
        display: block;
        width:100%;
        text-align: center;
    }
    header#menubar nav ul li {
        display: inline-block;
    }
    header#menubar nav ul li a {
        display:block;
        color:#000;
        text-decoration: none;
        padding: 0px 0.25em 0px 0.25em;
        border-bottom:4px transparent solid;
    }
    header#menubar nav ul li a:hover  {
        background-color: rgba(0, 0, 0, 0.12);
        border-bottom:4px #888 solid;
    }
}

@media only screen and (max-width: 1026px) {
    html {
        scroll-padding-top: 40px;
    }

    header#menubar {
        background-color: rgba(255, 255, 255, 0.2);
    }

    header#menubar.open {
        background-color: #fff;
        margin-bottom: 0px;
    }

    header#menubar div.iconbar {
        text-align: right;
    }

    header#menubar div#menuicon {
        display: inline-block;
        cursor: pointer;
        background-color: transparent;
    }

    header#menubar div#menuicon div.bar1,
    header#menubar div#menuicon div.bar2, 
    header#menubar div#menuicon div.bar3 {
        width: 35px;
        height: 5px;
        background-color: #333;
        margin: 6px 2px;
        transition: 0.4s;
    }

    header#menubar.open div#menuicon div.bar1 {
        transform: translate(0, 11px) rotate(-45deg);
    }

    header#menubar.open div#menuicon div.bar2 { opacity: 0; }

    header#menubar.open div#menuicon div.bar3 {
        transform: translate(0, -11px) rotate(45deg);
    }

    header#menubar nav {
        display:none;
    }

    header#menubar.open nav {
        display:block;
    }

    header#menubar nav ul li {
        border-top: #333 solid 1px;
    }

    header#menubar nav ul li a  {
        display:block;
        padding: 5px 5px 5px 10px;
        color:#000;
        text-decoration: none;
    }

    header#menubar nav ul li a:hover  {
        background-color: rgba(0, 0, 0, 0.12);
    }
}

/* Hero */
section.hero {
    display:flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height:100vh;
}

section.hero > * {
    display: flex;
    justify-content: center;
}

section.hero header {
    color:#000;
    text-shadow: 2px 2px 2px #fff;
}

section.hero header h1 {
    color:#000;
    display: block;
    margin: auto;
    font-size: 5em;
    line-height: 1.7em;
    font-weight: 1000;
    text-align:center;
}

section.hero article {
    color:#000;
    font-size: 2.2em;
    line-height: 1em;
    text-align: center;
    text-shadow: 2px 2px 2px #fff;
}
section.hero article a {
    color:#000;
}
section.hero article a:hover {
    color:#000;
    text-decoration: none;
}

section.hero footer {
    margin-top:50px;
}

section.hero footer a.startbutton {
    height:100px;
    width:100px;
    padding-top: 25px;
    display: block;
    margin: auto;

    border-radius: 100px;
    background-image: url("../img/down-arrow-svgrepo-com.svg");
    background-repeat: no-repeat;
    background-position: 20px 20px;
    background-size: 60px 60px;
    border: 1px solid #000;
    color:transparent;
    text-align: center;
    font-size: 20px;
    font-family: Arial, Helvetica, sans-serif;
    text-decoration: none;
}
section.hero footer a.startbutton:hover {
    background-color: rgba(0, 0, 0, 0.25);
    color:transparent;
}


div.largespacer {
    height:80px;
}

div.spacer {
    height:20px;
}

div.spacervh {
    height:100vh;
}


/* Main content */
section.maincontent {
    width:90%;
    min-height:200px;
    margin:auto;
    padding: 5px 5px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 5px;
    border:#fff 2px solid;
    /*box-shadow: 0px 0px 2px 2px rgba(255, 255, 255, 0.8);*/
}

section.maincontent h1 {
    font-size: 1.8em;
    line-height: 1.8em;
    text-shadow: 2px 2px 2px #aaa;
    padding: 0em 0em 0.1em 0em;
}

section.maincontent h2 {
    font-size: 1.6em;
    line-height: 1.6em;
    text-shadow: 2px 2px 2px #aaa;
    padding: 0em 0em 0.1em 0em;
}

section.maincontent h3 {
    font-size: 1.4em;
    line-height: 1.4em;
    text-shadow: 2px 2px 2px #aaa;
    padding: 0em 0em 0.5em 0em;
}

section.maincontent p {
    padding: 0em 0em 0.5em 0em;
}

section.maincontent ul {
    padding: 0em 0em 0.5em 2.2em;
    list-style-type: circle;
    list-style-position: inside;
}

section.maincontent ol {
    padding: 0em 0em 0.5em 2.2em;
    list-style-type: lower-roman;
    list-style-position: inside;
}

section.maincontent li {
    padding-bottom: 0.2em;
}

section.maincontent a {
    color: #000;
}
section.maincontent a:hover {
    color: #000;
    text-decoration: none;
}
section.maincontent a:visited {
    color: #000;
}

/* Forms */
section.maincontent div.input {
    border-radius: 6px;
    border:rgba(0, 0, 0, 0.10) 2px solid;
    display: inline-block;
}

section.maincontent div.input:focus-within {
    border:rgba(0, 0, 0, 0.6) 2px solid;
}

section.maincontent div.input label {
    display: block;
    float:left;
    height:1.8em;
    margin:0px;
    padding:4px 4px;
    min-width:6em;
    background-color: rgba(0, 0, 0, 0.10);
    text-align: left;
}

section.maincontent div.input:focus-within label {
    background-color: rgba(0, 0, 0, 0.6);
    color:#fff;
}

section.maincontent div.input input {
    display: block;
    float:right;
    height:1.8em;
    margin:0px;
    border:0px none transparent;
    border-radius: 0px 6px 6px 0px;
    font-size: 1em;
    line-height: normal;
    background-color: #fff;
    text-align: left;
}
section.maincontent div.input input:focus {
    margin:0px;
    border:0px none transparent;
    outline:none;
    background-color: #fff;
}

section.maincontent div.input input.error,
section.maincontent div.input input.error:focus {
    background-color: rgb(255, 212, 212);
}

section.maincontent div.input span.unit {
    display:block;
    float:right;
    padding: 4px 4px;
}

section.maincontent div.textarea {
    border-radius: 6px;
    border:rgba(0, 0, 0, 0.10) 2px solid;
    display: block;
}

section.maincontent div.textarea:focus-within {
    border:rgba(0, 0, 0, 0.6) 2px solid;
}

section.maincontent div.textarea label {
    display: block;
    height:1.8em;
    margin:0px;
    padding:4px 4px;
    min-width:6em;
    background-color: rgba(0, 0, 0, 0.10);
    text-align: left;
    vertical-align: middle;
}

section.maincontent div.textarea:focus-within label {
    background-color: rgba(0, 0, 0, 0.6);
    color:#fff;
}

section.maincontent div.textarea textarea {
    display: block;
    margin:0px;
    border:0px none transparent;
    border-radius: 0px 0px 6px 6px;
    font-size: 1em;
    line-height: normal;
    background-color: #fff;
    min-width: 10em;
    min-height: 12em;
    width:100%;
}
section.maincontent div.textarea textarea:focus {
    margin:0px;
    border:0px none transparent;
    outline:none;
    background-color: #fff;
}


section.maincontent div.textarea textarea.error,
section.maincontent div.textarea textarea.error:focus {
    background-color: rgb(255, 212, 212);
}

section.maincontent button {
    display: block;
    height:1.8em;
    margin:0px;
    padding:0px 4px;
    color:#000;
    background-color: rgba(0, 0, 0, 0.10);
    border:rgba(0, 0, 0, 0.10) 2px solid;
    border-radius: 6px;
    font-size: 1em;
    text-align: center;
    vertical-align: middle;
}

section.maincontent div.buttonbar button {
    display:inline-block;
    margin:0px 10px 5px 0px;
}

section.maincontent button:hover {
    background-color: rgba(0, 0, 0, 0.6);
    border:rgba(0, 0, 0, 0.6) 2px solid;
    color:#fff;
}

section.maincontent button.tristate {
    min-width: 7em;
}
section.maincontent button.tristate i {
    transform-origin: center center;
}
section.maincontent button.tristate span.text {
    display: inline;
}

section.maincontent button.tristate span.loading, 
section.maincontent button.tristate span.done {
    display: none;
}

section.maincontent button.tristate.active span.loading {
    display: inline;
}

section.maincontent button.tristate.active span.text,
section.maincontent button.tristate.active span.done {
    display: none;
}

section.maincontent button.tristate.active span.loading i {
    animation: rotate360 1500ms linear infinite;
}

section.maincontent button.tristate.done span.text,
section.maincontent button.tristate.done span.loading {
    display: none;
}

section.maincontent button.tristate.done span.done {
    display: block;
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
    animation-duration: 1s;
    animation-iteration-count:1;
}

section.maincontent div.fieldGroup {
    display:inline-block;
    margin:0px; padding:0px;
}

section.maincontent div.checkbox {
    display:inline-block;
    white-space: nowrap;
}
section.maincontent div.checkbox input[type="checkbox"] {
    appearance: none;
    background-color: #fff;
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);
    display: inline-grid;
    place-content: center;
}
section.maincontent div.checkbox input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em #333;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
section.maincontent div.checkbox input[type="checkbox"]:checked::before {
    transform: scale(1);
}
section.maincontent div.checkbox input[type="checkbox"]:disabled {
    color: #888;
}

section.maincontent address.postal {
    display: block;
    border-left: 5px solid rgba(0, 0, 0, 0.10);
    padding-left:5px;
    margin: 0em 0em 0.5em 0.8em;
}

section.maincontent img.image {
    border-color: #fff solid 1px;
    border-radius: 6px;
    box-shadow: 1px 1px 1px 1px #888;
}

section.maincontent img.image.left {
    width:50%;
    max-width:500px;
    margin: 0px 15px 15px 0px;
    float:left;
}
section.maincontent img.image.right {
    width:50%;
    max-width:500px;
    margin: 0px 0px 15px 15px;
    float:right;
}

section.maincontent img.image.medium {
    max-width:400px;
}

section.maincontent p.small {
    font-size: 0.8em;
}

/* feedback list */
section.maincontent ul.feedbackList {
    display:block;
    padding:0px;
    margin:0px;
}
section.maincontent ul.feedbackList > li {
    border-radius: 6px;
    color: #000;
    list-style-type: none;
    margin:0px;
    padding:0px;
    border: rgba(0, 0, 0, 0.10) 2px solid;
    border-radius: 6px;
    margin-bottom: 4px;
}

section.maincontent ul.feedbackList > li > b {
    display:block;
    background-color: rgba(0, 0, 0, 0.10);
    border-radius: 4px 4px 0px 0px;
    font-weight: 300;
    font-style: normal;
    padding: 0.3em 0.4em 0.3em 0.4em;
}

section.maincontent ul.feedbackList > li > div {
    margin:0px;
    padding: 0.3em 0.4em 0.3em 0.4em;
    background-color: rgba(255,255,255, 0.6);
    border-radius: 0px 0px 6px 6px;
}


section.maincontent .coolHeading {
    font-size: 2.5em;
    line-height: 1.2em;
    font-weight: 600;
    background-image: linear-gradient(45deg, #553c9a, #ee4b2b);
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    padding-bottom: 0.8em;
}
section.maincontent div.coolBoxes {
    display: flex;
    gap: 0.5em;
    align-items: stretch;
    flex-wrap: wrap;
}
section.maincontent div.coolBoxes div.coolBox {
    width: 100%;
    border: rgba(255,255,255, 1) 2px solid;
    border-radius: 6px;
    background-image: linear-gradient(45deg, rgba(143, 104, 250, 0.15), rgba(238, 75, 43, 0.15));
}
section.maincontent div.coolBoxes div.coolBox div.boxheader {
    padding: 0px 6px 0px 6px;
    background-color: rgba(255,255,255, 0.4);
    /*border: rgba(0, 0, 0, 0.10) 2px solid;
    border-bottom: 0px transparent;
    border-radius: 6px 6px 0px 0px ;*/
}
section.maincontent div.coolBoxes div.coolBox div.boxcontent {
    padding: 0px 6px 0px 6px;
}

@media only screen and (min-width: 1600px) {
    section.maincontent div.coolBoxes div.coolBox  {
        max-width: calc(50% - 0.5em);
    }
}


iframe.youtubevideo {
    width:560px;
    height:315px;
}

@media only screen and (min-width: 1600px) {
    section.maincontent {
        width:1500px;
    }
}

@media only screen and (max-width: 1026px) {
    section.hero header h1 {
        font-size: 4.5em;
        line-height: 1.5em;
    }
    section.maincontent {
        width:100%;
        margin:0px;
        background-color: rgba(255, 255, 255, 0.8);
        border-radius: 0px;
        border: transparent 0px none;
        /*box-shadow: 0px 0px 0px 0px transparent;*/
    }
}

@media only screen and (max-width: 500px) {
    section.maincontent img.image.left {
        display: block;
        float:none;
        width: 100%;
        max-width: 100%;
        margin: 0px 0px 15px 0px;
    }
    section.maincontent img.image.right {
        display: block;
        float:none;
        width:100%;
        max-width: 100%;
        margin: 0px 0px 15px 0px;
    }

    iframe.youtubevideo {
        width:100%;
        height:300px;
    }
}


/* Print view */
@media only print {
    div.background {
        display:none;
    }
    header#menubar {
        display: none;
    }
    section.hero {
        display:none;
    }

    section.maincontent  form.contactform {
        display:none;
    }

    body > div.spacervh,
    body > div.spacer {
        display:none;
    }
}
@media only print and (orientation: portrait)  {

}
@media only print and (orientation: landscape)  {

}

/* waveloader */
div.waveloader {
    display:flex;
    justify-content: center;
    align-items: center;
    width:100%;
}
div.waveloader div.wave {
    width: 5px;
    height: 100px;
    background: linear-gradient(45deg, rgb(160, 160, 160), rgba(204, 204, 204, 0.2));
    margin: 10px;
    animation: waveloader 1s linear infinite;
    border-radius: 20px;
    animation-fill-mode: backwards;
}
div.waveloader div.wave:nth-child(2) {
    animation-delay: 0.1s;
}
div.waveloader div.wave:nth-child(3) {
    animation-delay: 0.2s;
}
div.waveloader div.wave:nth-child(4) {
    animation-delay: 0.3s;
}
div.waveloader div.wave:nth-child(5) {
    animation-delay: 0.4s;
}
div.waveloader div.wave:nth-child(6) {
    animation-delay: 0.5s;
}
div.waveloader div.wave:nth-child(7) {
    animation-delay: 0.6s;
}
div.waveloader div.wave:nth-child(8) {
    animation-delay: 0.7s;
}
div.waveloader div.wave:nth-child(9) {
    animation-delay: 0.8s;
}
div.waveloader div.wave:nth-child(10) {
    animation-delay: 0.9s;
}
@keyframes waveloader {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

/* Animations */

@keyframes rotate360 {
	100% { 
        transform: rotate(360deg);
    }
}

/* Animate.CSS */
@-webkit-keyframes fadeInDown {
    from {
      opacity: 0;
      -webkit-transform: translate3d(0, -100%, 0);
      transform: translate3d(0, -100%, 0);
    }
  
    to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
}
@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
.fadeInDown {
    -webkit-animation-duration: 1s;
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
    animation-duration: 1s;
    animation-iteration-count:1;
}


@-webkit-keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
  
    0% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
  
    20% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1);
      transform: scale3d(1.1, 1.1, 1.1);
    }
  
    40% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9);
      transform: scale3d(0.9, 0.9, 0.9);
    }
  
    60% {
      opacity: 1;
      -webkit-transform: scale3d(1.03, 1.03, 1.03);
      transform: scale3d(1.03, 1.03, 1.03);
    }
  
    80% {
      -webkit-transform: scale3d(0.97, 0.97, 0.97);
      transform: scale3d(0.97, 0.97, 0.97);
    }
  
    to {
      opacity: 1;
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  @keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
      -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
  
    0% {
      opacity: 0;
      -webkit-transform: scale3d(0.3, 0.3, 0.3);
      transform: scale3d(0.3, 0.3, 0.3);
    }
  
    20% {
      -webkit-transform: scale3d(1.1, 1.1, 1.1);
      transform: scale3d(1.1, 1.1, 1.1);
    }
  
    40% {
      -webkit-transform: scale3d(0.9, 0.9, 0.9);
      transform: scale3d(0.9, 0.9, 0.9);
    }
  
    60% {
      opacity: 1;
      -webkit-transform: scale3d(1.03, 1.03, 1.03);
      transform: scale3d(1.03, 1.03, 1.03);
    }
  
    80% {
      -webkit-transform: scale3d(0.97, 0.97, 0.97);
      transform: scale3d(0.97, 0.97, 0.97);
    }
  
    to {
      opacity: 1;
      -webkit-transform: scale3d(1, 1, 1);
      transform: scale3d(1, 1, 1);
    }
  }
  .bounceIn {
    -webkit-animation-duration: 1s;
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
    animation-duration: 1s;
    animation-iteration-count:1;
  }