#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/* 
html5doctor.com Reset Stylesheet
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 

plus Contao spezifische Klassen
Copyright (c) 2005-2015 Leo Feyer

*/

html {overflow-y: scroll;}
html, body{height:100%;}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {line-height:1;font-size:100.01%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,.custom {display:block;}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:'';content:none;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}

/* change colours to suit your needs */
ins {background-color:#ff9;color:#000;text-decoration:none;}
mark {background-color:#ff9;color:#000; font-style:italic;font-weight:bold;}
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}

sub,sup,small {font-size: 75%;}
sub,sup {line-height: 0;position: relative;vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
svg {overflow: hidden;}

/* weitere Contao spezifisches klassen*/
.block {overflow:hidden;}

#container,.inside {position:relative;}
#container{margin-left: auto;margin-right: auto;}
#main .inside {min-height:1px; /* see #4893 */}

.invisible {border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;}
#container:after,.custom:after {content:"";display:table;clear:both;}

/*select,input,textarea {font-size:99%;}*/

/* Format the Contao image galleries (now rendered as unordered lists) */
.ce_gallery > ul {margin:0;padding:0;overflow:hidden;list-style:none;}
.ce_gallery > ul li {float:left;}
.ce_gallery > ul li.col_first {clear:left;}

/* Contao float klassen */
.float_left {float:left;}
.float_right {float:right;}

#footer{clear:both;}	


/* ================================================================== */
/* This file has a mobile-to-tablet, and tablet-to-desktop breakpoint */
/* ================================================================== */
@media (max-width: 400px) {
  @-ms-viewport {
    width: 320px;
  }
}
.clear {
  clear: both;
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.grid-container:before, .grid-5:before, .mobile-grid-5:before, .tablet-grid-5:before, .grid-10:before, .mobile-grid-10:before, .tablet-grid-10:before, .grid-15:before, .mobile-grid-15:before, .tablet-grid-15:before, .grid-20:before, .mobile-grid-20:before, .tablet-grid-20:before, .grid-25:before, .mobile-grid-25:before, .tablet-grid-25:before, .grid-30:before, .mobile-grid-30:before, .tablet-grid-30:before, .grid-35:before, .mobile-grid-35:before, .tablet-grid-35:before, .grid-40:before, .mobile-grid-40:before, .tablet-grid-40:before, .grid-45:before, .mobile-grid-45:before, .tablet-grid-45:before, .grid-50:before, .mobile-grid-50:before, .tablet-grid-50:before, .grid-55:before, .mobile-grid-55:before, .tablet-grid-55:before, .grid-60:before, .mobile-grid-60:before, .tablet-grid-60:before, .grid-65:before, .mobile-grid-65:before, .tablet-grid-65:before, .grid-70:before, .mobile-grid-70:before, .tablet-grid-70:before, .grid-75:before, .mobile-grid-75:before, .tablet-grid-75:before, .grid-80:before, .mobile-grid-80:before, .tablet-grid-80:before, .grid-85:before, .mobile-grid-85:before, .tablet-grid-85:before, .grid-90:before, .mobile-grid-90:before, .tablet-grid-90:before, .grid-95:before, .mobile-grid-95:before, .tablet-grid-95:before, .grid-100:before, .mobile-grid-100:before, .tablet-grid-100:before, .grid-33:before, .mobile-grid-33:before, .tablet-grid-33:before, .grid-66:before, .mobile-grid-66:before, .tablet-grid-66:before, .grid-offset:before, .clearfix:before,
.grid-container:after,
.grid-5:after,
.mobile-grid-5:after,
.tablet-grid-5:after,
.grid-10:after,
.mobile-grid-10:after,
.tablet-grid-10:after,
.grid-15:after,
.mobile-grid-15:after,
.tablet-grid-15:after,
.grid-20:after,
.mobile-grid-20:after,
.tablet-grid-20:after,
.grid-25:after,
.mobile-grid-25:after,
.tablet-grid-25:after,
.grid-30:after,
.mobile-grid-30:after,
.tablet-grid-30:after,
.grid-35:after,
.mobile-grid-35:after,
.tablet-grid-35:after,
.grid-40:after,
.mobile-grid-40:after,
.tablet-grid-40:after,
.grid-45:after,
.mobile-grid-45:after,
.tablet-grid-45:after,
.grid-50:after,
.mobile-grid-50:after,
.tablet-grid-50:after,
.grid-55:after,
.mobile-grid-55:after,
.tablet-grid-55:after,
.grid-60:after,
.mobile-grid-60:after,
.tablet-grid-60:after,
.grid-65:after,
.mobile-grid-65:after,
.tablet-grid-65:after,
.grid-70:after,
.mobile-grid-70:after,
.tablet-grid-70:after,
.grid-75:after,
.mobile-grid-75:after,
.tablet-grid-75:after,
.grid-80:after,
.mobile-grid-80:after,
.tablet-grid-80:after,
.grid-85:after,
.mobile-grid-85:after,
.tablet-grid-85:after,
.grid-90:after,
.mobile-grid-90:after,
.tablet-grid-90:after,
.grid-95:after,
.mobile-grid-95:after,
.tablet-grid-95:after,
.grid-100:after,
.mobile-grid-100:after,
.tablet-grid-100:after,
.grid-33:after,
.mobile-grid-33:after,
.tablet-grid-33:after,
.grid-66:after,
.mobile-grid-66:after,
.tablet-grid-66:after,
.grid-offset:after,
.clearfix:after {
  content: ".";
  display: block;
  overflow: hidden;
  visibility: hidden;
  font-size: 0;
  line-height: 0;
  width: 0;
  height: 0;
}

.grid-container:after, .grid-5:after, .mobile-grid-5:after, .tablet-grid-5:after, .grid-10:after, .mobile-grid-10:after, .tablet-grid-10:after, .grid-15:after, .mobile-grid-15:after, .tablet-grid-15:after, .grid-20:after, .mobile-grid-20:after, .tablet-grid-20:after, .grid-25:after, .mobile-grid-25:after, .tablet-grid-25:after, .grid-30:after, .mobile-grid-30:after, .tablet-grid-30:after, .grid-35:after, .mobile-grid-35:after, .tablet-grid-35:after, .grid-40:after, .mobile-grid-40:after, .tablet-grid-40:after, .grid-45:after, .mobile-grid-45:after, .tablet-grid-45:after, .grid-50:after, .mobile-grid-50:after, .tablet-grid-50:after, .grid-55:after, .mobile-grid-55:after, .tablet-grid-55:after, .grid-60:after, .mobile-grid-60:after, .tablet-grid-60:after, .grid-65:after, .mobile-grid-65:after, .tablet-grid-65:after, .grid-70:after, .mobile-grid-70:after, .tablet-grid-70:after, .grid-75:after, .mobile-grid-75:after, .tablet-grid-75:after, .grid-80:after, .mobile-grid-80:after, .tablet-grid-80:after, .grid-85:after, .mobile-grid-85:after, .tablet-grid-85:after, .grid-90:after, .mobile-grid-90:after, .tablet-grid-90:after, .grid-95:after, .mobile-grid-95:after, .tablet-grid-95:after, .grid-100:after, .mobile-grid-100:after, .tablet-grid-100:after, .grid-33:after, .mobile-grid-33:after, .tablet-grid-33:after, .grid-66:after, .mobile-grid-66:after, .tablet-grid-66:after, .grid-offset:after, .clearfix:after {
  clear: both;
}

.grid-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
  padding-left: 10px;
  padding-right: 10px;
}

.grid-5, .mobile-grid-5, .tablet-grid-5, .grid-10, .mobile-grid-10, .tablet-grid-10, .grid-15, .mobile-grid-15, .tablet-grid-15, .grid-20, .mobile-grid-20, .tablet-grid-20, .grid-25, .mobile-grid-25, .tablet-grid-25, .grid-30, .mobile-grid-30, .tablet-grid-30, .grid-35, .mobile-grid-35, .tablet-grid-35, .grid-40, .mobile-grid-40, .tablet-grid-40, .grid-45, .mobile-grid-45, .tablet-grid-45, .grid-50, .mobile-grid-50, .tablet-grid-50, .grid-55, .mobile-grid-55, .tablet-grid-55, .grid-60, .mobile-grid-60, .tablet-grid-60, .grid-65, .mobile-grid-65, .tablet-grid-65, .grid-70, .mobile-grid-70, .tablet-grid-70, .grid-75, .mobile-grid-75, .tablet-grid-75, .grid-80, .mobile-grid-80, .tablet-grid-80, .grid-85, .mobile-grid-85, .tablet-grid-85, .grid-90, .mobile-grid-90, .tablet-grid-90, .grid-95, .mobile-grid-95, .tablet-grid-95, .grid-100, .mobile-grid-100, .tablet-grid-100, .grid-33, .mobile-grid-33, .tablet-grid-33, .grid-66, .mobile-grid-66, .tablet-grid-66 {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 10px;
}

.grid-parent {
  padding-left: 0;
  padding-right: 0;
}

.grid-offset {
  margin-left: -10px;
  margin-right: -10px;
}

@media screen and (max-width: 959px) {
  .mobile-push-5, .mobile-pull-5, .mobile-push-10, .mobile-pull-10, .mobile-push-15, .mobile-pull-15, .mobile-push-20, .mobile-pull-20, .mobile-push-25, .mobile-pull-25, .mobile-push-30, .mobile-pull-30, .mobile-push-35, .mobile-pull-35, .mobile-push-40, .mobile-pull-40, .mobile-push-45, .mobile-pull-45, .mobile-push-50, .mobile-pull-50, .mobile-push-55, .mobile-pull-55, .mobile-push-60, .mobile-pull-60, .mobile-push-65, .mobile-pull-65, .mobile-push-70, .mobile-pull-70, .mobile-push-75, .mobile-pull-75, .mobile-push-80, .mobile-pull-80, .mobile-push-85, .mobile-pull-85, .mobile-push-90, .mobile-pull-90, .mobile-push-95, .mobile-pull-95, .mobile-push-33, .mobile-pull-33, .mobile-push-66, .mobile-pull-66 {
    position: relative;
  }

  .hide-on-mobile {
    display: none !important;
  }

  .mobile-grid-5 {
    float: left;
    width: 5%;
  }

  .mobile-prefix-5 {
    margin-left: 5%;
  }

  .mobile-suffix-5 {
    margin-right: 5%;
  }

  .mobile-push-5 {
    left: 5%;
  }

  .mobile-pull-5 {
    left: -5%;
  }

  .mobile-grid-10 {
    float: left;
    width: 10%;
  }

  .mobile-prefix-10 {
    margin-left: 10%;
  }

  .mobile-suffix-10 {
    margin-right: 10%;
  }

  .mobile-push-10 {
    left: 10%;
  }

  .mobile-pull-10 {
    left: -10%;
  }

  .mobile-grid-15 {
    float: left;
    width: 15%;
  }

  .mobile-prefix-15 {
    margin-left: 15%;
  }

  .mobile-suffix-15 {
    margin-right: 15%;
  }

  .mobile-push-15 {
    left: 15%;
  }

  .mobile-pull-15 {
    left: -15%;
  }

  .mobile-grid-20 {
    float: left;
    width: 20%;
  }

  .mobile-prefix-20 {
    margin-left: 20%;
  }

  .mobile-suffix-20 {
    margin-right: 20%;
  }

  .mobile-push-20 {
    left: 20%;
  }

  .mobile-pull-20 {
    left: -20%;
  }

  .mobile-grid-25 {
    float: left;
    width: 25%;
  }

  .mobile-prefix-25 {
    margin-left: 25%;
  }

  .mobile-suffix-25 {
    margin-right: 25%;
  }

  .mobile-push-25 {
    left: 25%;
  }

  .mobile-pull-25 {
    left: -25%;
  }

  .mobile-grid-30 {
    float: left;
    width: 30%;
  }

  .mobile-prefix-30 {
    margin-left: 30%;
  }

  .mobile-suffix-30 {
    margin-right: 30%;
  }

  .mobile-push-30 {
    left: 30%;
  }

  .mobile-pull-30 {
    left: -30%;
  }

  .mobile-grid-35 {
    float: left;
    width: 35%;
  }

  .mobile-prefix-35 {
    margin-left: 35%;
  }

  .mobile-suffix-35 {
    margin-right: 35%;
  }

  .mobile-push-35 {
    left: 35%;
  }

  .mobile-pull-35 {
    left: -35%;
  }

  .mobile-grid-40 {
    float: left;
    width: 40%;
  }

  .mobile-prefix-40 {
    margin-left: 40%;
  }

  .mobile-suffix-40 {
    margin-right: 40%;
  }

  .mobile-push-40 {
    left: 40%;
  }

  .mobile-pull-40 {
    left: -40%;
  }

  .mobile-grid-45 {
    float: left;
    width: 45%;
  }

  .mobile-prefix-45 {
    margin-left: 45%;
  }

  .mobile-suffix-45 {
    margin-right: 45%;
  }

  .mobile-push-45 {
    left: 45%;
  }

  .mobile-pull-45 {
    left: -45%;
  }

  .mobile-grid-50 {
    float: left;
    width: 50%;
  }

  .mobile-prefix-50 {
    margin-left: 50%;
  }

  .mobile-suffix-50 {
    margin-right: 50%;
  }

  .mobile-push-50 {
    left: 50%;
  }

  .mobile-pull-50 {
    left: -50%;
  }

  .mobile-grid-55 {
    float: left;
    width: 55%;
  }

  .mobile-prefix-55 {
    margin-left: 55%;
  }

  .mobile-suffix-55 {
    margin-right: 55%;
  }

  .mobile-push-55 {
    left: 55%;
  }

  .mobile-pull-55 {
    left: -55%;
  }

  .mobile-grid-60 {
    float: left;
    width: 60%;
  }

  .mobile-prefix-60 {
    margin-left: 60%;
  }

  .mobile-suffix-60 {
    margin-right: 60%;
  }

  .mobile-push-60 {
    left: 60%;
  }

  .mobile-pull-60 {
    left: -60%;
  }

  .mobile-grid-65 {
    float: left;
    width: 65%;
  }

  .mobile-prefix-65 {
    margin-left: 65%;
  }

  .mobile-suffix-65 {
    margin-right: 65%;
  }

  .mobile-push-65 {
    left: 65%;
  }

  .mobile-pull-65 {
    left: -65%;
  }

  .mobile-grid-70 {
    float: left;
    width: 70%;
  }

  .mobile-prefix-70 {
    margin-left: 70%;
  }

  .mobile-suffix-70 {
    margin-right: 70%;
  }

  .mobile-push-70 {
    left: 70%;
  }

  .mobile-pull-70 {
    left: -70%;
  }

  .mobile-grid-75 {
    float: left;
    width: 75%;
  }

  .mobile-prefix-75 {
    margin-left: 75%;
  }

  .mobile-suffix-75 {
    margin-right: 75%;
  }

  .mobile-push-75 {
    left: 75%;
  }

  .mobile-pull-75 {
    left: -75%;
  }

  .mobile-grid-80 {
    float: left;
    width: 80%;
  }

  .mobile-prefix-80 {
    margin-left: 80%;
  }

  .mobile-suffix-80 {
    margin-right: 80%;
  }

  .mobile-push-80 {
    left: 80%;
  }

  .mobile-pull-80 {
    left: -80%;
  }

  .mobile-grid-85 {
    float: left;
    width: 85%;
  }

  .mobile-prefix-85 {
    margin-left: 85%;
  }

  .mobile-suffix-85 {
    margin-right: 85%;
  }

  .mobile-push-85 {
    left: 85%;
  }

  .mobile-pull-85 {
    left: -85%;
  }

  .mobile-grid-90 {
    float: left;
    width: 90%;
  }

  .mobile-prefix-90 {
    margin-left: 90%;
  }

  .mobile-suffix-90 {
    margin-right: 90%;
  }

  .mobile-push-90 {
    left: 90%;
  }

  .mobile-pull-90 {
    left: -90%;
  }

  .mobile-grid-95 {
    float: left;
    width: 95%;
  }

  .mobile-prefix-95 {
    margin-left: 95%;
  }

  .mobile-suffix-95 {
    margin-right: 95%;
  }

  .mobile-push-95 {
    left: 95%;
  }

  .mobile-pull-95 {
    left: -95%;
  }

  .mobile-grid-33 {
    float: left;
    width: 33.33333%;
  }

  .mobile-prefix-33 {
    margin-left: 33.33333%;
  }

  .mobile-suffix-33 {
    margin-right: 33.33333%;
  }

  .mobile-push-33 {
    left: 33.33333%;
  }

  .mobile-pull-33 {
    left: -33.33333%;
  }

  .mobile-grid-66 {
    float: left;
    width: 66.66667%;
  }

  .mobile-prefix-66 {
    margin-left: 66.66667%;
  }

  .mobile-suffix-66 {
    margin-right: 66.66667%;
  }

  .mobile-push-66 {
    left: 66.66667%;
  }

  .mobile-pull-66 {
    left: -66.66667%;
  }

  .mobile-grid-100 {
    clear: both;
    width: 100%;
  }
}
@media screen and (min-width: 600px) and (max-width: 960px) {
  .tablet-push-5, .tablet-pull-5, .tablet-push-10, .tablet-pull-10, .tablet-push-15, .tablet-pull-15, .tablet-push-20, .tablet-pull-20, .tablet-push-25, .tablet-pull-25, .tablet-push-30, .tablet-pull-30, .tablet-push-35, .tablet-pull-35, .tablet-push-40, .tablet-pull-40, .tablet-push-45, .tablet-pull-45, .tablet-push-50, .tablet-pull-50, .tablet-push-55, .tablet-pull-55, .tablet-push-60, .tablet-pull-60, .tablet-push-65, .tablet-pull-65, .tablet-push-70, .tablet-pull-70, .tablet-push-75, .tablet-pull-75, .tablet-push-80, .tablet-pull-80, .tablet-push-85, .tablet-pull-85, .tablet-push-90, .tablet-pull-90, .tablet-push-95, .tablet-pull-95, .tablet-push-33, .tablet-pull-33, .tablet-push-66, .tablet-pull-66 {
    position: relative;
  }

  .hide-on-tablet {
    display: none !important;
  }

  .tablet-grid-5 {
    float: left;
    width: 5%;
  }

  .tablet-prefix-5 {
    margin-left: 5%;
  }

  .tablet-suffix-5 {
    margin-right: 5%;
  }

  .tablet-push-5 {
    left: 5%;
  }

  .tablet-pull-5 {
    left: -5%;
  }

  .tablet-grid-10 {
    float: left;
    width: 10%;
  }

  .tablet-prefix-10 {
    margin-left: 10%;
  }

  .tablet-suffix-10 {
    margin-right: 10%;
  }

  .tablet-push-10 {
    left: 10%;
  }

  .tablet-pull-10 {
    left: -10%;
  }

  .tablet-grid-15 {
    float: left;
    width: 15%;
  }

  .tablet-prefix-15 {
    margin-left: 15%;
  }

  .tablet-suffix-15 {
    margin-right: 15%;
  }

  .tablet-push-15 {
    left: 15%;
  }

  .tablet-pull-15 {
    left: -15%;
  }

  .tablet-grid-20 {
    float: left;
    width: 20%;
  }

  .tablet-prefix-20 {
    margin-left: 20%;
  }

  .tablet-suffix-20 {
    margin-right: 20%;
  }

  .tablet-push-20 {
    left: 20%;
  }

  .tablet-pull-20 {
    left: -20%;
  }

  .tablet-grid-25 {
    float: left;
    width: 25%;
  }

  .tablet-prefix-25 {
    margin-left: 25%;
  }

  .tablet-suffix-25 {
    margin-right: 25%;
  }

  .tablet-push-25 {
    left: 25%;
  }

  .tablet-pull-25 {
    left: -25%;
  }

  .tablet-grid-30 {
    float: left;
    width: 30%;
  }

  .tablet-prefix-30 {
    margin-left: 30%;
  }

  .tablet-suffix-30 {
    margin-right: 30%;
  }

  .tablet-push-30 {
    left: 30%;
  }

  .tablet-pull-30 {
    left: -30%;
  }

  .tablet-grid-35 {
    float: left;
    width: 35%;
  }

  .tablet-prefix-35 {
    margin-left: 35%;
  }

  .tablet-suffix-35 {
    margin-right: 35%;
  }

  .tablet-push-35 {
    left: 35%;
  }

  .tablet-pull-35 {
    left: -35%;
  }

  .tablet-grid-40 {
    float: left;
    width: 40%;
  }

  .tablet-prefix-40 {
    margin-left: 40%;
  }

  .tablet-suffix-40 {
    margin-right: 40%;
  }

  .tablet-push-40 {
    left: 40%;
  }

  .tablet-pull-40 {
    left: -40%;
  }

  .tablet-grid-45 {
    float: left;
    width: 45%;
  }

  .tablet-prefix-45 {
    margin-left: 45%;
  }

  .tablet-suffix-45 {
    margin-right: 45%;
  }

  .tablet-push-45 {
    left: 45%;
  }

  .tablet-pull-45 {
    left: -45%;
  }

  .tablet-grid-50 {
    float: left;
    width: 50%;
  }

  .tablet-prefix-50 {
    margin-left: 50%;
  }

  .tablet-suffix-50 {
    margin-right: 50%;
  }

  .tablet-push-50 {
    left: 50%;
  }

  .tablet-pull-50 {
    left: -50%;
  }

  .tablet-grid-55 {
    float: left;
    width: 55%;
  }

  .tablet-prefix-55 {
    margin-left: 55%;
  }

  .tablet-suffix-55 {
    margin-right: 55%;
  }

  .tablet-push-55 {
    left: 55%;
  }

  .tablet-pull-55 {
    left: -55%;
  }

  .tablet-grid-60 {
    float: left;
    width: 60%;
  }

  .tablet-prefix-60 {
    margin-left: 60%;
  }

  .tablet-suffix-60 {
    margin-right: 60%;
  }

  .tablet-push-60 {
    left: 60%;
  }

  .tablet-pull-60 {
    left: -60%;
  }

  .tablet-grid-65 {
    float: left;
    width: 65%;
  }

  .tablet-prefix-65 {
    margin-left: 65%;
  }

  .tablet-suffix-65 {
    margin-right: 65%;
  }

  .tablet-push-65 {
    left: 65%;
  }

  .tablet-pull-65 {
    left: -65%;
  }

  .tablet-grid-70 {
    float: left;
    width: 70%;
  }

  .tablet-prefix-70 {
    margin-left: 70%;
  }

  .tablet-suffix-70 {
    margin-right: 70%;
  }

  .tablet-push-70 {
    left: 70%;
  }

  .tablet-pull-70 {
    left: -70%;
  }

  .tablet-grid-75 {
    float: left;
    width: 75%;
  }

  .tablet-prefix-75 {
    margin-left: 75%;
  }

  .tablet-suffix-75 {
    margin-right: 75%;
  }

  .tablet-push-75 {
    left: 75%;
  }

  .tablet-pull-75 {
    left: -75%;
  }

  .tablet-grid-80 {
    float: left;
    width: 80%;
  }

  .tablet-prefix-80 {
    margin-left: 80%;
  }

  .tablet-suffix-80 {
    margin-right: 80%;
  }

  .tablet-push-80 {
    left: 80%;
  }

  .tablet-pull-80 {
    left: -80%;
  }

  .tablet-grid-85 {
    float: left;
    width: 85%;
  }

  .tablet-prefix-85 {
    margin-left: 85%;
  }

  .tablet-suffix-85 {
    margin-right: 85%;
  }

  .tablet-push-85 {
    left: 85%;
  }

  .tablet-pull-85 {
    left: -85%;
  }

  .tablet-grid-90 {
    float: left;
    width: 90%;
  }

  .tablet-prefix-90 {
    margin-left: 90%;
  }

  .tablet-suffix-90 {
    margin-right: 90%;
  }

  .tablet-push-90 {
    left: 90%;
  }

  .tablet-pull-90 {
    left: -90%;
  }

  .tablet-grid-95 {
    float: left;
    width: 95%;
  }

  .tablet-prefix-95 {
    margin-left: 95%;
  }

  .tablet-suffix-95 {
    margin-right: 95%;
  }

  .tablet-push-95 {
    left: 95%;
  }

  .tablet-pull-95 {
    left: -95%;
  }

  .tablet-grid-33 {
    float: left;
    width: 33.33333%;
  }

  .tablet-prefix-33 {
    margin-left: 33.33333%;
  }

  .tablet-suffix-33 {
    margin-right: 33.33333%;
  }

  .tablet-push-33 {
    left: 33.33333%;
  }

  .tablet-pull-33 {
    left: -33.33333%;
  }

  .tablet-grid-66 {
    float: left;
    width: 66.66667%;
  }

  .tablet-prefix-66 {
    margin-left: 66.66667%;
  }

  .tablet-suffix-66 {
    margin-right: 66.66667%;
  }

  .tablet-push-66 {
    left: 66.66667%;
  }

  .tablet-pull-66 {
    left: -66.66667%;
  }

  .tablet-grid-100 {
    clear: both;
    width: 100%;
  }
}
@media screen and (min-width: 961px) {
  .push-5, .pull-5, .push-10, .pull-10, .push-15, .pull-15, .push-20, .pull-20, .push-25, .pull-25, .push-30, .pull-30, .push-35, .pull-35, .push-40, .pull-40, .push-45, .pull-45, .push-50, .pull-50, .push-55, .pull-55, .push-60, .pull-60, .push-65, .pull-65, .push-70, .pull-70, .push-75, .pull-75, .push-80, .pull-80, .push-85, .pull-85, .push-90, .pull-90, .push-95, .pull-95, .push-33, .pull-33, .push-66, .pull-66 {
    position: relative;
  }

  .hide-on-desktop {
    display: none !important;
  }

  .grid-5 {
    float: left;
    width: 5%;
  }

  .prefix-5 {
    margin-left: 5%;
  }

  .suffix-5 {
    margin-right: 5%;
  }

  .push-5 {
    left: 5%;
  }

  .pull-5 {
    left: -5%;
  }

  .grid-10 {
    float: left;
    width: 10%;
  }

  .prefix-10 {
    margin-left: 10%;
  }

  .suffix-10 {
    margin-right: 10%;
  }

  .push-10 {
    left: 10%;
  }

  .pull-10 {
    left: -10%;
  }

  .grid-15 {
    float: left;
    width: 15%;
  }

  .prefix-15 {
    margin-left: 15%;
  }

  .suffix-15 {
    margin-right: 15%;
  }

  .push-15 {
    left: 15%;
  }

  .pull-15 {
    left: -15%;
  }

  .grid-20 {
    float: left;
    width: 20%;
  }

  .prefix-20 {
    margin-left: 20%;
  }

  .suffix-20 {
    margin-right: 20%;
  }

  .push-20 {
    left: 20%;
  }

  .pull-20 {
    left: -20%;
  }

  .grid-25 {
    float: left;
    width: 25%;
  }

  .prefix-25 {
    margin-left: 25%;
  }

  .suffix-25 {
    margin-right: 25%;
  }

  .push-25 {
    left: 25%;
  }

  .pull-25 {
    left: -25%;
  }

  .grid-30 {
    float: left;
    width: 30%;
  }

  .prefix-30 {
    margin-left: 30%;
  }

  .suffix-30 {
    margin-right: 30%;
  }

  .push-30 {
    left: 30%;
  }

  .pull-30 {
    left: -30%;
  }

  .grid-35 {
    float: left;
    width: 35%;
  }

  .prefix-35 {
    margin-left: 35%;
  }

  .suffix-35 {
    margin-right: 35%;
  }

  .push-35 {
    left: 35%;
  }

  .pull-35 {
    left: -35%;
  }

  .grid-40 {
    float: left;
    width: 40%;
  }

  .prefix-40 {
    margin-left: 40%;
  }

  .suffix-40 {
    margin-right: 40%;
  }

  .push-40 {
    left: 40%;
  }

  .pull-40 {
    left: -40%;
  }

  .grid-45 {
    float: left;
    width: 45%;
  }

  .prefix-45 {
    margin-left: 45%;
  }

  .suffix-45 {
    margin-right: 45%;
  }

  .push-45 {
    left: 45%;
  }

  .pull-45 {
    left: -45%;
  }

  .grid-50 {
    float: left;
    width: 50%;
  }

  .prefix-50 {
    margin-left: 50%;
  }

  .suffix-50 {
    margin-right: 50%;
  }

  .push-50 {
    left: 50%;
  }

  .pull-50 {
    left: -50%;
  }

  .grid-55 {
    float: left;
    width: 55%;
  }

  .prefix-55 {
    margin-left: 55%;
  }

  .suffix-55 {
    margin-right: 55%;
  }

  .push-55 {
    left: 55%;
  }

  .pull-55 {
    left: -55%;
  }

  .grid-60 {
    float: left;
    width: 60%;
  }

  .prefix-60 {
    margin-left: 60%;
  }

  .suffix-60 {
    margin-right: 60%;
  }

  .push-60 {
    left: 60%;
  }

  .pull-60 {
    left: -60%;
  }

  .grid-65 {
    float: left;
    width: 65%;
  }

  .prefix-65 {
    margin-left: 65%;
  }

  .suffix-65 {
    margin-right: 65%;
  }

  .push-65 {
    left: 65%;
  }

  .pull-65 {
    left: -65%;
  }

  .grid-70 {
    float: left;
    width: 70%;
  }

  .prefix-70 {
    margin-left: 70%;
  }

  .suffix-70 {
    margin-right: 70%;
  }

  .push-70 {
    left: 70%;
  }

  .pull-70 {
    left: -70%;
  }

  .grid-75 {
    float: left;
    width: 75%;
  }

  .prefix-75 {
    margin-left: 75%;
  }

  .suffix-75 {
    margin-right: 75%;
  }

  .push-75 {
    left: 75%;
  }

  .pull-75 {
    left: -75%;
  }

  .grid-80 {
    float: left;
    width: 80%;
  }

  .prefix-80 {
    margin-left: 80%;
  }

  .suffix-80 {
    margin-right: 80%;
  }

  .push-80 {
    left: 80%;
  }

  .pull-80 {
    left: -80%;
  }

  .grid-85 {
    float: left;
    width: 85%;
  }

  .prefix-85 {
    margin-left: 85%;
  }

  .suffix-85 {
    margin-right: 85%;
  }

  .push-85 {
    left: 85%;
  }

  .pull-85 {
    left: -85%;
  }

  .grid-90 {
    float: left;
    width: 90%;
  }

  .prefix-90 {
    margin-left: 90%;
  }

  .suffix-90 {
    margin-right: 90%;
  }

  .push-90 {
    left: 90%;
  }

  .pull-90 {
    left: -90%;
  }

  .grid-95 {
    float: left;
    width: 95%;
  }

  .prefix-95 {
    margin-left: 95%;
  }

  .suffix-95 {
    margin-right: 95%;
  }

  .push-95 {
    left: 95%;
  }

  .pull-95 {
    left: -95%;
  }

  .grid-33 {
    float: left;
    width: 33.33333%;
  }

  .prefix-33 {
    margin-left: 33.33333%;
  }

  .suffix-33 {
    margin-right: 33.33333%;
  }

  .push-33 {
    left: 33.33333%;
  }

  .pull-33 {
    left: -33.33333%;
  }

  .grid-66 {
    float: left;
    width: 66.66667%;
  }

  .prefix-66 {
    margin-left: 66.66667%;
  }

  .suffix-66 {
    margin-right: 66.66667%;
  }

  .push-66 {
    left: 66.66667%;
  }

  .pull-66 {
    left: -66.66667%;
  }

  .grid-100 {
    clear: both;
    width: 100%;
  }
}
/* open-sans-condensed-300 - latin */
@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/theme/fonts/open-sans-condensed-v12-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Condensed Light'), local('OpenSansCondensed-Light'),
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-300.svg#OpenSansCondensed') format('svg'); /* Legacy iOS */
}

/* open-sans-condensed-700 - latin */
@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/theme/fonts/open-sans-condensed-v12-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Condensed Bold'), local('OpenSansCondensed-Bold'),
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../files/theme/fonts/open-sans-condensed-v12-latin-700.svg#OpenSansCondensed') format('svg'); /* Legacy iOS */
}

/* open-sans-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../../files/theme/fonts/open-sans-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


@media screen{
html {height: 100%;}
body {
	background: #f9f9f9;
	font:1.3em/1.8  'Open Sans Condensed',Verdana, sans-serif;
	color:#636363;
	font-weight:300;
	-webkit-text-size-adjust:100%;}
	

h1,h2,h3,h4,h5,h6{font-size:1.4em;font-weight:300;margin-bottom:.6em;padding-bottom:.2em;line-height:1.4}
#main h2{margin-bottom:.6em}
h2,h3,h4,h5,h6{margin-bottom:0em;padding-bottom:0;}
#left h2,#left h3,#footer h3,#right h3{color:#5e5e5e;border-bottom:1px solid #ccc;margin-bottom:.6em;padding-bottom:.2em;}
#right h3{margin-bottom:.4em;padding-bottom:.2em;}
h1,h2,h3{color:#067bc8}

#main p{margin-bottom:1em;}
strong{font-weight:700;}
#right p,#footer p, #footer a,.kasten p,#right .mod_newslist h2, #right .mod_newslist h2 a,#right .layout_simple a,#right .layout_upcoming a,#right h2,#right h3{color:#3a3a3a !important}

/* --  HOVER EFFEKT  -- */
a,.ce_hyperlink,.logo,table tr,.submit,i.rounded,.toggler{
	text-decoration:none;-webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-ms-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease;}


a,p a, .ce_hyperlink a,.toggler, .ce_download a,.ce_downloads a{color:#067bc8;cursor:pointer}
a:hover,p a:hover, .ce_hyperlink a:hover,.toggler:hover, .ce_download a:hover,.ce_downloads a:hover{color:#333}

	#abschluss{width:100%;background:#2c81bb;border-top:1px solid #666;z-index:200;font-size:.8em;color:#ccc;height:30px;line-height:30px;overflow:hidden;}							


/* --  LOGO  -- */
.logo{float:left;}
.logo:hover{opacity:.7;}
.logo a{width:175px;height:90px;background:#fff;display:block;background-image:url("/files/theme/img/logo.gif");background-repeat:no-repeat;background-position:left 0;}


/* --  POSITIONIERUNG MAINMENU  -- */
/* --  Details in menu.css -- */
.mainmenu{float:right;width:auto;display:inline-block;}


.mod_article{width:100%}
#main .ce_text .image_container{margin-bottom:1em;}

#main .ce_image{margin-bottom:1em;}
img{width:100%;height:auto;display:block;}

}


@media screen and (max-width:960px) {
	.metanav,.ce_pageimages,#suchbox,.subnavi,#widescreen{display:none !important}

	
	#header{height:90px;background:#fff;border-bottom:1px solid #ccc;}
	#container{margin:1em 10px 0 10px;}
	.logo{margin-left:10px;height:90px;}
	.logo a{margin-top:20px;background-image:url("/files/theme/img/logo-mob.gif");height:70px;}
	#abschluss{text-align:center;}

}


@media screen and (min-width:960px) {
#wrapper{position:relative;min-height:100%;width:100%;}


#header{width:100%;height:150px;background-image:url("/files/theme/img/body-bg.gif");background-repeat:no-repeat;background-position:center top;background-color:#FFF;}
#header .inside,#footer .inside,#abschluss .inside{width:960px;margin-left:auto;margin-right:auto;}
#headertool{width:100%;text-align:right;font-size:1em;display:inline-block;height:35px;overflow:hidden}	
#headertool .inside{height:35px;width:auto;background:#434343;float:right;padding-right:5px;}	

#container{position:relative;min-height:100%;padding-bottom:480px;width:960px;margin-left:auto;margin-right:auto;padding-top:70px;}
/*.startseite #container{background:#f9f9f9;margin-top:-70px;padding-top:30px; padding-left:35px;padding-right:35px;}*/



















#footer{position:absolute;bottom:0px;background:#ededed;min-height:420px;width:100%;border-top:5px solid #d2d9df;}
#footer .inside{width:980px;margin-top:40px;background:#cf0;}


#abschluss{position:absolute;z-index:200;}


.logo{margin-top:5px;}

#hauptnavigation li.no-desktop-nav {display:none !important;}


.metanav{width:auto;display:inline-block;}
.metanav li {float:left;line-height:32px}
.metanav li a,.metanav li .active{text-decoration:none;color:#fafafa;border-left:1px solid #fafafa;display:inline-block;padding:0 .7em;font-size:17px;line-height:1;}
.metanav li:first-of-type a,.metanav li:first-of-type .active{border:0;padding-left:1em;}
.metanav li a:hover{color:#ccc;}

.subnavi a, .footernavi a{text-decoration:none;color:#636363}
.subnavi span.active, .footernavi span.active,.subnavi strong{color:#067bc8;font-weight:300}
.subnavi a:hover, .footernavi a:hover{color:#067bc8}

.subnavi ul.level_2{margin-left:1.5em;}

#widescreen{background:#fff;}

/**/
.ce_pageimages,.mod_pageimage{width:100%; display:block;border-top:6px solid #d6dce2;border-bottom:6px solid #d6dce2;background-color:#fff;}
.ce_pageimages .image_container, .mod_pageimage .image_container{border-top:1px solid #FFF;border-bottom:1px solid #FFF;}


}




/* Basis Bilder */
	.image_container{line-height:0;}
	.image_container img{width:100%;height:auto;backface-visibility: hidden;}
	.bilderrahmen{border:1px solid #b0b0b0;padding:5px;background:#fff}
	

.ce_gallery{margin-bottom:1em;}
.ce_table,.ce_youtube{margin-bottom:2em;}

.ce_gallery .row_last .image_container{margin-bottom:0 !important;}
.ce_gallery .cols_1 li{width:100%}	
.ce_gallery .cols_2 li{width:50%}	
.ce_gallery .cols_3 li{width:33%}
.ce_gallery .cols_4 li{width:25%}
.ce_gallery .cols_5 li{width:20%}

.ce_gallery .image_container{margin-bottom:1em;margin-right:1em;}

	
.ce_text{}	
.ce_text.kasten .textbereich{background:#ebebeb;padding:1em 1em .2em 1em;margin-bottom:2em;}	
.ce_text.linie .textbereich {padding:0 0 0  1em;border-left:8px solid #067bc8;margin-bottom:2em;}	
.ce_text ul, .ce_text ol, .ce_list ul,.ce_list ol{margin-left:1em;margin-bottom:1em;}
.ce_text .image_container{margin:10px 0 0 0;}




.ce_download img,.ce_downloads img{display:none}

figcaption{font-style:italic;font-size:90%;margin:0em 0 0em 0;line-height:1.2;}
	
	
/* --- Allgemeine Hilfsklassen ---*/	
	.grid-pusher{margin:0 20px;}
	.align-left{text-align:left !important}
	.align-right{text-align:right}
	.align-center{text-align:center;}
	.kein-abstand{margin:0 !important;padding:0 !important}
	
	.innenabstand-oben-1{padding-top:1em !important}
	.innenabstand-oben-2{padding-top:2em !important}
	.innenabstand-oben-3{padding-top:3em !important}
	.innenabstand-oben-4{padding-top:4em !important}
	
	.innenabstand-unten-0{padding-bottom:0em !important}
	.innenabstand-unten-1{padding-bottom:1em !important}
	.innenabstand-unten-2{padding-bottom:2em !important}
	.innenabstand-unten-3{padding-bottom:3em !important}
	.innenabstand-unten-4{padding-bottom:4em !important}
	

	.abstand-unten-plus-1{margin-bottom:1em !important}
	.abstand-unten-plus-2{margin-bottom:2em !important}
	.abstand-unten-plus-3{margin-bottom:3em !important}
	.abstand-unten-plus-4{margin-bottom:4em !important}
	
		.abstand-oben-minus-1{margin-top:-1em !important}
	.abstand-oben-plus-1{margin-top:1em !important}
	.abstand-oben-plus-2{margin-top:2em !important}
	.abstand-oben-plus-3{margin-top:3em !important}
	.abstand-oben-plus-4{margin-top:4em !important}	


/*.slider-menu{display:none !important;}*/
.startseite .newsslider p.more a{border:1px solid #fff;}
.mod_newsreader .accordion{padding:0 !important;}
.mod_newsreader .ce_accordion{margin-bottom:2em;}




/*ededed*/

.ce_teaser{margin-bottom:1.5rem;padding-bottom:1.5rem}
.home #main .mod_newslist .image_container{display:block}
.home .inner{background:#ededed;height:100%;padding:.75rem;line-height:1.7;border-radius:4px;}

.home .layout_latest{border-bottom:0 !important;margin:0}
.inner .image_container{border:1px solid #b0b0b0;background:#fff;padding:5px;margin-bottom:.75rem}
#main .inner p{margin:0}

.mod_article.subline::after{content:'';display:block;width:calc(33% - .75rem);height:1px;background: #b4bac1;position:relative;margin:1.5rem auto 2rem auto}


.testtermine .event{margin-bottom:2rem}

#main .homeitem h2, #main .homeitem h3, #main .homeitem h4, #main .homeitem h5,#main .homeitem h6{margin:0 !important; ;line-height:1.3;}
.home .ce_headline{margin-bottom:2rem }


.mod_eventlist.testtermine{background:#ededed;padding:.75rem .75rem 0 .75rem}
.mod_eventlist.testtermine .inner{background:#f9f9f9}
.mod_eventlist.testtermine .event{margin-bottom:.75rem;}

.mod_eventlist.testtermine .event:nth-child(-n+3){margin-bottom:1.5rem;}
.testtermine h2{background:#067bc8;color:#fff !important;border-radius:3px;padding-left:10px}
.testtermine p.info{color: #0666a5 !important;}
@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.97, .97, .97);
    transform: scale3d(.97, .97, .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.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .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(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  visibility:visible\9 !important;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}



.mainmenu {font-weight:300;width:100%}
.mainmenu li{list-style-type:none;margin:0;padding:0;}

.mainmenu *:hover{text-decoration:none;}


a.mobile_handle {
	display: block;
	cursor: pointer;
	position: absolute;
	right:0;
	top: 28px;
	margin-right:15px;
	border-top: 2px solid #1a1a1a;
	border-bottom: 2px solid #1a1a1a;
	transition: all .25s ease-in-out;
	background: transparent;
	width: 30px;
	height: 20px;

}
a.mobile_handle:before, a.mobile_handle:after {
	background: #1a1a1a;
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform .25s ease-in-out;
}
a.mobile_handle.change {border-color: transparent;right:2px;}
a.mobile_handle.change:before, a.mobile_handle.change:after {background: #666;}
a.mobile_handle.change:before {transform: translate(-50%, -50%) rotate(45deg);}
a.mobile_handle.change:after {transform: translate(-50%, -50%) rotate(-45deg);}


.mainmenu .subnav i {
	border: solid #666;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 7px;
}

.mainmenu i {
	border: solid #067bc8;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 7px;
}

.mainmenu i.down {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform-origin:60% 80%
}
.mainmenu i.up {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform-origin:60% 50%
}

.mainmenu ul {
	position: relative;
	height: auto;
	width:100%;
}

.mainmenu ul.level_1 {
	height: auto;
}


.mainmenu ul.level_1 li {
	float: none;
	width: 100%;
	position:relative;
	background:transparent;
}
.mainmenu ul.level_1 li a, .mainmenu ul.level_1 li strong, .mainmenu ul.level_1 li span.forward {
	width: 100%;
	display: block;
	height: 50px;
	line-height:50px;
	padding:0 10px 0 15px;
	border-top:1px solid #88989f;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color:#4d4d4d;
	font-weight:300;

}



.mainmenu ul.level_1 li.last a, .mainmenu ul.level_1 li.last strong.active, .mainmenu ul.level_1 li.last span.forward{border-bottom:0}
.mainmenu ul.level_1 li.first a, .mainmenu ul.level_1 li.first strong.active, .mainmenu ul.level_1 li.first span.forward{border-top:0}

.mainmenu ul.level_1 li > ul {
	position: relative;
	background-color: #fff;
	z-index: 99;
	margin-bottom:0;
}
.mainmenu ul.level_1 li > ul {
	padding: 0;
	display: none;
	opacity: 1;
	visibility: visible;

}
.mainmenu ul.level_2 {min-width:auto;width: auto;}
.mainmenu ul.level_2 li a, .mainmenu ul.level_2 li span.active, .mainmenu ul.level_2 li span.forward {background: transparent;color: #666;border-top: 1px solid #889f93;}
.mainmenu .active,.mainmenu .active span.linkspan{color:#fff}

.mainmenu .active, .mainmenu ul.level_2 li span.active,.mainmenu span.active{background:transparent;color:#067bc8}
.mainmenu .trail{color:#067bc8}
.mainmenu ul.level_2 li > ul {
	min-width: auto;
	width: auto;
	left: 0;
	top: 0;
	margin-left: 0;
	padding: 0;
}
.mainmenu ul.level_2 li.active span.active{color:#067bc8 !important}
.mainmenu ul.level_2 li a, .mainmenu ul.level_2 li .active, .mainmenu ul.level_2 li span.forward {padding-left: 20px !important;}
.mainmenu ul.level_3 li a, .mainmenu ul.level_3 li .active, .mainmenu ul.level_3 li span.forward {padding-left: 35px !important;}


.mainmenu ul li a.sub_nav {
	position: absolute;
	width: 36px;
	height: 50px;
	right: 14px;
	top: 0;
	margin: 0;
	padding: 0 !important;
	background-color:transparent !important;
	color: #067bc8;
	text-align:center;
	cursor: pointer;
	line-height:50px;
	border:0;
}


 .icon-menu {font-size: 2em !important;}

 .mainmenu strong.active,.mainmenu strong.trail,.mainmenu strong.forward,.mainmenu a.trail{color: #067bc8 !important;}

@media screen and (max-width:960px) {#header{position:relative;z-index:300}}

@media screen and (min-width:960px) {



	.mainmenu li.no-desktopnav,.mainmenu i,.mainmenu ul.level_3{display:none !important;}

	.mainmenu {overflow: visible !important;width:auto;float:right;margin-right:0}
	.mainmenu ul {
		margin:0 0 0 0;
		padding:0;
		position: relative;
		display: block;
		text-align:left;
		-ms-transition: all 1s ease-in-out;
		-webkit-transition: all 1s ease-in-out;
		-o-transition: all 1s ease-in-out;
		-moz-transition: all 1s ease-in-out;
		transition: all 1s ease-in-out
	}
	.mainmenu ul.level_1 {
		height:110px;
		width: auto;
		position: relative;
		display: block;
		margin:0;
	}

	.mainmenu ul.level_1 li {
		position: relative;
		float: left;
		display: block;
		margin:0 0 0 1.25rem;
		padding:0;
		width:auto;
	}



	.mainmenu ul.level_1 li a, .mainmenu ul.level_1 li strong.active, .mainmenu ul.level_1 li span.forward,.mainmenu ul.level_1 li.trail strong {
		line-height:110px;
		height:110px;
		padding:0;
		position: relative;
		display: inline-block;
		white-space: nowrap;
		font-weight:300;
		color:#4d4d4d;
		font-size:105%;
		border-top:0;
	}
	.mainmenu ul.level_1 li a:hover{color:#ccc;background:#fff}
	.mainmenu ul.level_1 li.last a, .mainmenu ul.level_1 li.last strong.active, .mainmenu ul.level_1 li.last span.forward {padding-right:.5rem;}
	.mainmenu ul.level_1 li > ul {position: absolute;background-color: transparent;z-index: 999}
	.mainmenu ul.level_1 li > ul {
		visibility: hidden;
		opacity: 0;
		display:block;
		-webkit-transition-property: opacity, visibility;
		-moz-transition-property: opacity, visibility;
		-o-transition-property: opacity, visibility;
		transition-property: opacity, visibility;
		-webkit-transition-duration: .2s, 0s;
		-moz-transition-duration: .2s, 0s;
		-o-transition-duration: .2s, 0s;
		transition-duration: .2s, 0s;
		-webkit-transition-delay: 0s, .2s;
		-moz-transition-delay: 0s, .2s;
		-o-transition-delay: 0s, .2s;
		transition-delay: 0s, .2s
	}
	.mainmenu ul li:hover > ul {
		opacity: 1;
		visibility: visible;
		-webkit-transition-delay: 0s, 0s;
		-moz-transition-delay: 0s, 0s;
		-o-transition-delay: 0s, 0s;
		transition-delay: 0s, 0s;
	}

	.mainmenu ul.level_2{padding-top:0 !important;}


	.mainmenu ul.level_2 li {
		min-width:200px;
		width: 100%;
		position: relative;
		float: none;
		display: inline-block;
		margin:0;
		padding: 0;
		background:#fff;
		border-bottom:0;
	}



	.mainmenu ul.level_2 li a, .mainmenu ul.level_2 li strong, .mainmenu ul.level_2 li strong.active,.mainmenu ul.level_2 li.trail strong, .mainmenu ul.level_2 li span.forward{
		position: relative;
		float: none;
		display: block;
		white-space: nowrap;
		height:auto;
		line-height:42px;
		padding:0 40px 0 10px !important;
		background-color:#fff;
		margin-top:1px;
		font-size:90%;
		color:#4d4d4d;
		border-bottom:1px solid #ccc;
	}

	.mainmenu ul.level_2 li a:hover{color:#067bc8 !important;}
	.mainmenu ul.level_2 li:last-of-type a{border-bottom:0}




	.mainmenu ul.level_2 li.last a, .mainmenu ul.level_2 li.last strong.active, .mainmenu ul.level_2 li.last span.forward {border-bottom:0;}
	.mainmenu ul.level_2 li a:hover, .mainmenu ul.level_2 li strong.active, .mainmenu ul.level_2 li a.trail, .mainmenu ul.level_2 li.submenu:hover > a, .mainmenu ul.level_2 li span.forward {color:#4d4d4d;background:#fff}
	.mainmenu ul.level_2 li.active strong.active{padding-left:0 }

	.mainmenu ul.level_1 li strong.active,.mainmenu ul.level_1 li span.forward,.mainmenu ul.level_1 li.trail a,.mainmenu ul.level_1 li.trail strong{color:#4d4d4d;background:#fff;}
	.mainmenu a.mobile_handle {display: none}



}
.mainmenu ul.level_1 a.trail span{color:#acacac}
@font-face {
  font-family: 'fontello';
  src: url('../../files/theme/iconfont/font/fontello.eot?87576142');
  src: url('../../files/theme/iconfont/font/fontello.eot?87576142#iefix') format('embedded-opentype'),
       url('../../files/theme/iconfont/font/fontello.woff2?87576142') format('woff2'),
       url('../../files/theme/iconfont/font/fontello.woff?87576142') format('woff'),
       url('../../files/theme/iconfont/font/fontello.ttf?87576142') format('truetype'),
       url('../../files/theme/iconfont/font/fontello.svg?87576142#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../../files/theme/font/fontello.svg?87576142#fontello') format('svg');
  }
}
*/
 
 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
 
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
 
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
 
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
 
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
 
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
 
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
 
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
 
.icon-angle-left:before { content: '\e800'; } /* '' */
.icon-angle-right:before { content: '\e801'; } /* '' */
.icon-angle-up:before { content: '\e802'; } /* '' */
.icon-angle-down:before { content: '\e803'; } /* '' */
.icon-facebook:before { content: '\e804'; } /* '' */
.icon-menu:before { content: '\e805'; } /* '' */
.icon-youtube:before { content: '\e806'; } /* '' */
.icon-mail:before { content: '\e807'; } /* '' */


/* --  ELEMENTE MIT ICONS - GENERELL -- */
	.subnavi a:before,.footernavi a:before,.subnavi span.active:before,.footernavi span.active:before,.ce_hyperlink a:before,.toggler:before,.ce_download a:before,.ce_downloads a:before,.slider-next:before,.subnavi strong:before,.footernavi strong.active:before{
		font-family: "fontello";
		padding:0 6px 0 0;
		speak: none;}




.subnavi a:before,.footernavi a:before,.subnavi span.active:before,.footernavi span.active:before,.ce_hyperlink a:before,.toggler:before,.slider-next:before,.subnavi strong:before,.footernavi strong.active:before{
content: '\e801';
color:#067bc8;
width:10px;
display:inline-block;}


.rahmen .ce_hyperlink a:before{color:#fff}


.subnavi span.submenu:before,.ce_download a:before,.ce_downloads a:before{
content: '\e803';
color:#067bc8;
width:16px;
display:inline-block;}

.ce_presse .ce_hyperlink a:before{content:none;}

@media print{

* {
    margin:0;
    padding:0;
    border:0;
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
 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, font, img, ins, kbd, q, s, samp,small, strike, sub, sup, tt, var,dl, dt, dd, ol, ul, li,fieldset, form, label, legend {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
  }
  
  img, object {
    display:block;
    margin:0;
    padding:0;
    border:0;
  }
  
  body {
    width:100%;
    text-align:left;
    margin:0;
    padding:0;
    font:12pt Arial, Helvetica, sans-serif;
    color:#848484;
    background-color:#fff;
    background-image:none;
	line-height:1.5;
  }
 
h1, h2, h3, h4, h5, h6 {
    font-weight:400;
	font-size:1.3em;
    margin:0 0 10px 0;
    text-align:left;
    page-break-after:avoid;
  }
 h1{font-size:2em;} 

p {
    font-stretch:expanded;
	padding-bottom:1em;
  }

p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  
 a,
  a:visited {
    text-decoration: none;
	border:0px !important;
  }
.teaser{
	margin-bottom:16px;
	}
  
img,.bilderrahmen {
    padding:0;
	width:auto;
    max-width: 100% !important;
	border:0px !important;
	height:auto;
  }
#main {
    float:none;
    width:auto;
    margin:0;
  }
.accordion { 
	overflow: visible !important; 
	height: auto !important; 
	visibility: visible !important; 
	display: inline !important; 
	opacity: 1 !important; 
}

.toggler,.enclosure{
	background-color: #fff;
	border:0;
	padding: 0px;
	margin-bottom:10px;
	font-size:12pt;
	font-weight:bold;
}
 
.info{
	font-size:12pt !important;
	}
table {
    width:100%;
  }

	.float_left{float:left;}
	.float_right{float:right;}	
	
	
 
.hide-on-print,.teaserartikel,.logo,#footer,form,legend,.call,.abdecker, .mod_navigation,.ce_pageimages,.mod_trenner,.mod_customnav{display:none}
#druckadresse{font-size:10pt;border-bottom:1px solid #666;padding-bottom:25px;margin:0 20px 20px 20px;}
#druckadresse h2{font-size:16pt;margin:0px;}
#druckadresse span{margin:0 5px}

}


fieldset{
	background:#fff;
	border:0px solid #eee;
	padding:1em;
	padding:0;
	margin:0 0 1em 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius:3px;
	padding: .5em 1em .7em 1em;
    border:1px solid #ccc;
	} 
fieldset.checkbox_container,fieldset.radio_container{border:0; background:transparent;padding:0 0 0 3px}


legend {
	width:auto;
	background:#fff;
	padding: 0 .8em;
	border:1px solid #ccc;
	border-radius:3px;
    margin-left:.5em
}
.ie legend{margin-top:-15px;}
.ie fieldset{margin-top:15px;}


/* -- Text fields and textareas -- */
input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="email"],
input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input:not([type]),input[type="submit"],textarea,button.submit {
	width:100%;
	display:inline-block;
	padding:6px;
	background:#eee;
	border:1px solid #eee;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius:3px;
	margin-bottom:15px;
}


/* -- Font -- */
input.text,input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="email"], input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input:not([type]),input[type="submit"],textarea,select,button.submit  {
	color:#000;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;
	-webkit-text-size-adjust:100%;
	font-weight:inherit;	
	}

/* -- Focus -- */
input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="email"]:focus,
input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input:not([type]):focus,textarea:focus,button.submit:focus  {
	outline:0;
	background:#fcfcfc;
	border-color:#bbb;
}

/* -- Captcha -- */
input.captcha{width:70px;margin-right:.5em;margin-bottom:1em;margin-top:.6em;}

/* -- Fix some width and height settings -- */
input[type="file"] {cursor:pointer;}
select,input[type="file"] {display:block;}
input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"] {width:auto;}
textarea,select[multiple],select[size] {height:auto;}

/* -- Checkboxes and radio buttons -- */
.radio_container span,.checkbox_container span{display:block;} 
input[type="radio"],input[type="checkbox"] {margin:0 10px 0 0;}
input[type="radio"],input[type="checkbox"]{vertical-align:middle;}
.radio_container input,.checkbox_container input{top: -2px;position:relative}


/* -- Handle disabled and read-only -- */
input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly] {cursor:not-allowed;background:#eee;}
input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly] {background:transparent;}


/* -- Buttons -- */
input[type="submit"],#main .submit{
	width:300px;
	display:block;
	margin:1em 0 .5em 0;
	text-align:center;
	vertical-align:middle;
	cursor:pointer;
	border:0;
	background:#f9f9f9;
	border:1px solid #ccc;

}
input[type="submit"]:hover,.button:hover,#main .submit {
	background:#f2f2f2;
	color:#2c81bb;
	text-decoration:none;
}
form button.submit:hover{color:#333 !important;} 
#main .submit{padding:10px 6px;border-radius:3px;background:#fff}
/*--- optional ---*/
select {
   -webkit-appearance: button;
   -webkit-border-radius: 2px;
   -webkit-padding-end: 20px;
   -webkit-padding-start: 2px;
   -webkit-user-select: none;
   background-color:#eee;
margin-bottom:1em;
   border: 1px solid #eee;
   overflow: hidden;
   padding: 6px 10px;
   text-overflow: ellipsis;
   white-space: nowrap;
}
span.mandatory{color:red}
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{background:#CCC}
select:active,select:focus{outline:0;border:0;border: 1px solid #eee;}
.select option{font-size:16px;color:#333}

label[class^="grid-"], label.grid-100{padding:0 !important}
form span.blue{color:#067bc8}


#cboxCurrent{display:none !important}



/* ---   News & Termine --- */
.mod_newslist h2,.mod_newslist h2 a,#main .layout_teaser h2,#main .layout_teaser h2 a,
#right .mod_newslist h2 a:hover,.layout_simple a:hover,.layout_upcoming a:hover,#right .mod_newslist p.info{color:#636363}
span.more{display:block;}
#right .mod_newslist p.info{font-size:90%;color:#999 !important;}

#right .mod_newslist.newsstart  h2 a{color:#067bc8 !important;font-weight:300;}
#right .mod_newslist.newsstart  .layout_latest{margin-bottom:1em;}
#right .mod_newslist.newsstart  p.info{color:#666 !important}

.ce_text ul + p{margin-top:1em;}
#main .layout_latest{border-bottom: 1px solid #ccc;margin-bottom:1.2em;padding-bottom:1.6em;}

#main .mod_eventlist .last,#main .datumsbereich .event,#main .eventlistfull .layout_full{border-bottom: 1px solid #ccc;margin-bottom:1.2em;}
#main .mod_eventlist .event.last{padding-bottom:.6em;}


#main .layout_teaser{margin-bottom:1.6em;text-transform:none}
#main .layout_latest.last,#main .layout_teaser:last-child{border-bottom: 0}
#main .layout_latest p.info,.layout_full p.info{color:#999;}

#right .mod_newslist,#right .mod_eventlist,#right .mod_newsmenu,#right .mod_eventmenu{background:#ebebeb;padding:.3em 1em 1em 1em;margin-bottom:2em;}
#right .mod_newslist h2,#right .mod_newslist h2 a,.layout_simple a,.layout_upcoming a{font-size:1em;line-height:1.4;color:#636363}
span.more a:hover,#main .mod_newslist h2 a:hover,#main .layout_teaser h2 a:hover{color:#636363}
.mod_newsmenu ul{list-style-type:none;}

#right .mod_newslist .layout_short,.layout_upcoming,.mod_newsmenu ul{margin-bottom:1em;}
.layout_upcoming .date,.mod_eventlist .header, .mod_eventreader span.info{color:#FFF;background:#067bc8;padding:0 .5em;display:inline-block;}
.layout_upcoming a{display:block;}

#right .mod_eventmenu li{list-style-type:none}
#right .mod_eventmenu a.jahr{font-size:1.4em;color:#3a3a3a;line-height:1.6;border-bottom:1px solid #ccc;display:block;margin-bottom:.5em;}
#main .mod_eventlist h2{margin-bottom:.4em;}


.layout_short .teaser,#main .mod_eventlist p.time,.mod_newsmenu ul.level_1 li a,.mod_newsarchive h3,.mod_newsarchive .image_container,#main .mod_newslist .image_container{display:none;}
.mod_eventreader span.info,#main .mod_eventlist .header,.mod_newsmenu ul.level_2 li a {display:inline-block}
.mod_newsreader .layout_full h1,#right .mod_newslist h2,.layout_latest .teaser p, .layout_teaser p{display:inline}
.mod_eventreader .layout_full h1,.mod_newsmenu ul.level_2{display:block}
#main .mod_eventlist .header{margin-bottom:1em;}


#main .datumsbereich .header{display:inline-block;clear:both;}

#main .mod_eventreader .info{margin-bottom:1em;}

#main .monatskalender h1{margin-bottom:2em;}
#main .mod_eventlist h2{font-size:1em;}
#main .mod_eventlist p.more{}

span.more a{color:#067bc8;font-weight:300;}

.termine-startseite h2,.termine-startseite h2 a{font-size:100%;color:#3a3a3a}
.termine-startseite .time{display:none;}

.termine-startseite .header{margin-bottom:.2em;}

#main .eventlistfull h2{color:#636363;font-size:130%;margin-bottom:0;}
.startseite .eventlistfull h2{color:#636363;font-size:100%;margin-bottom:0;}
.eventlistfull .layout_full{padding: .4em 0 1.4em 0}
.startseite .eventlistfull .layout_full{padding: .4em 0 0 0}
#main .eventlistfull p{margin-bottom:0}
#right .eventlistfull p{color:#666 !important;font-size:90%;line-height:1.4}
#main .eventlistfull p.info{margin-bottom:.5em}
.eventlistfull br:nth-child(even){display:inline-block}
#right .mod_eventlist.eventlistfull p.info,#main .mod_eventlist.eventlistfull p.info{color:#FFF !important;background:#067bc8;padding:0 .5em;display:inline-block;}
.eventlistfull .textbereich br:last-of-type,.eventlistfull .textbereich br:first-of-type{display:none}


#container .mod_newslist .no-list{display:none;}

#footer .ce_image{margin-bottom:1rem}

/* ---   Kalender--- */
#right .mod_calendar{background:#ebebeb;padding:.3em 1em 1em 1em;margin-bottom:2em;}
table.minicalendar{width:100%;border-collapse:collapse}
.minicalendar td{text-align:center;}
.minicalendar th{font-weight:300;}
.minicalendar tbody tr{border:1px solid #ccc;}
.minicalendar tbody tr td{border-right:1px solid #ccc;background:#f6f6f6;width:14.27%;}
.minicalendar td.active{background:#067bc8;}
.minicalendar a{color:#067bc8}
.minicalendar td.active:hover{background:#333;}
.minicalendar td.active a{color:#FFF;}

.cookiebar__message{margin-right:0}

/* --- pagination ---- */
.pagination{margin-top:1.5em;}
.pagination p{float:left;border:1px solid #ccc;padding:0 0.4em;}
.pagination ul{float:right;}
.pagination li{float:left;display:inline;border:1px solid #ccc;padding:0 0.4em;margin-left:.6em;}
.pagination a{color:#067bc8}
.pagination li.last{padding-bottom:0 !important;margin-bottom:0;}
.pagination .last a{border-bottom:0 !important;}


/* ---   Slider --- */
.slider img{width:100%}


.slideelement{text-align:center}
.slidertext{background:transparent;display:inline-block;position:absolute;top: 0;left:50%;width:900px;margin-left:-450px;font-size:3.5em;line-height:1;color:#fff;}
.mod_rocksolid_slider{border-top:6px solid #d6dce2}	
.mod_rocksolid_slider .image_container{margin:0}	
.rsts-slide .slidertext {top: 50%;-moz-transform: translate(0, -50%);-webkit-transform: translate(0, -50%);-o-transform: translate(0, -50%);-ms-transform: translate(0, -50%);transform: translate(0, -50%);margin-top:-30px;}
.startseite .rsts-slide{max-height:500px;}
.slidertext p{ text-shadow:-1px -1px 3px #ccc,1px -1px 3px #ccc,-1px 1px 3px #ccc,1px 1px 3px #ccc; }
.slidertext a, .slidertext span.sliderblau{font-size:22px;color:#fff;background:#067bc8;padding:0 1em;text-shadow:none;}	
.slidertext a:hover{background:#666;color:#fff;}	


/* -- TABELLEN -- */	
.ce_table table, table{width:auto;border-collapse: separate;border-spacing: 0;}
.ce_table tr.even{background:#ccc;}
.ce_table td,.ce_table th{white-space: nowrap;border-right:1px solid #fff;padding:3px 10px;text-align:left}
.ce_table td.col_last ,.ce_table th.col_last{border-right:0;}
.ce_table th{border:0;font-weight:700;padding-left:0}
.ce_table table{width:100%}


/* -- SUCHBOX -- */	
/* -- line-height des Elternelement = line-height & height von input[type="text"] -- */
/* -- im #headertool dann ein padding für den Abstand von oben -- */
#suchbox{width:auto;float:right;}
#suchbox form{float:right;margin:0;}
#suchbox .formbody > div{float:left;}
/*#suchbox input[type="text"]:focus,#suchbox input[type="text"]:hover{width:230px;}*/
#suchbox input[type="text"]{width:150px;overflow:hidden;border:0;padding:0 5px;margin:0;color:#333;-moz-box-shadow: none;-webkit-box-shadow: none;box-shadow: none;-moz-transition: width .5s;-webkit-transition: width .5s;transition: width .5s;box-sizing: border-box;border-radius:3px;vertical-align:baseline;background:#6c6c6c;color:#fff;height:20px;font-size:17px;line-height:20px;top:-2px;position:relative;}
#suchbox button{margin:0;padding:0;border:0;outline:0;overflow:hidden;width:24px;text-indent:-2000px;background-image:url("/files/theme/img/search.png");background-position:center;background-repeat:no-repeat;background-color:#434343;cursor:pointer;display: flex;justify-content: center;align-items: center;}

#suchbox ::-webkit-input-placeholder {color: #fafafa;line-height:inherit;opacity:1;}
#suchbox :-moz-placeholder {color: #fafafa;line-height:inherit;opacity:  1;}
#suchbox ::-moz-placeholder {line-height:inherit;color:#fafafa;opacity:  1;}
#suchbox :-ms-input-placeholder {line-height:inherit;color:#fafafa;}				

.mod_search div{border-bottom: 1px solid #ccc;margin-bottom:1.2em;padding-bottom:.6em;}	
span.relevance{display:none}			

/* Accordion*/
.accordion{padding-left:1em;}
.ce_accordion{margin-bottom:0em;}
.ce_accordion:last-of-type{margin-bottom:1em;}

.presse .accordion{background:#FFF;border-radius:4px;padding:1em 1em 0 2em}

/* Download*/
.ce_downloads{margin-bottom:1em;}
.ce_download{margin-bottom:0;}
.ce_download + [class^="ce"],.ce_hyperlink + [class^="ce"]{margin-top:1em;}
.ce_download + .ce_download,.ce_hyperlink + .ce_hyperlink{margin-top:0 !important;}

.ce_presse{margin-bottom:1em}



/* -- Nachoben scroller */
.nach_oben_link a{width:30px;background:#fafafa;opacity:.5;position:fixed;bottom:40px;right:20px;border:1px solid #067bc8;border-radius:3px;line-height:1.3;text-align:center;color:#067bc8;z-index:900;padding:0 0 .2em 0}





/* -- Lehrer --*/

.ce_lehrer{margin:0em 0 1em 0}
.ce_lehrer h2{color:#636363;margin-bottom:.3em !important;}

.lehrer-content{line-height:1.4}
#main .lehrer-content p{margin:.75rem 0 0}



#main .ce_lehrer p{margin:0;}
.lehrerinfo{border:1px solid #ccc;background:#fff;padding:5px;line-height:1.2 !important}
.lehrerinfo .bilderrahmen{border:0 !important;padding:0;}
.desc_lehrer{margin-top:.4em !important;}
.bild_lehrer .ce_image{margin-bottom:0 !important;}
#main .ce_lehrer p, #main .ce_lehrer a{font-size:90% !important;}
#main .ce_text.lehrer{margin-bottom:1em}

.testkalender{font-size:70%}
.testkalender td{min-height:30px;border-right:1px solid #ccc;}
.testkalender .header{background:#f2f2f2;}


/* --- googlemap ---*/
	.ce_dlh_googlemaps{}
	.dlh_googlemap{width:100%;min-height:430px;}
	.dlh_googlemap *{color:#333;}
	.dlh_googlemap p{margin:1em 0;}


.mabo-1{margin-bottom:1rem}
.mabo-2{margin-bottom:2rem}
.mabo-3{margin-bottom:3rem}



@media screen and (max-width:600px) {
	.ce_lehrer{width:100%;float:none;margin-right:0;}
	.ce_lehrer:nth-child(3n){margin-left:0;margin-right:0;}
	.pagination p{float:none}
	.pagination ul{float:left;}
	.pagination li{margin-left:0;margin-right:.6em;}
	}
	
 @media screen and (max-width:960px) {
.hide-on-mobile{display:none}
}	


@media screen and (min-width: 960px) {
#right{	width:30%;
	float:right;
	position:relative;
	}
#main .inside{width:90%}
	
#main{
	width:70%;
	float:left;
	}	
	
}
.ce_gallery.koepfe, .ce_gallery.koepfe .image_container{margin:0;background:#c2d4d7}
.ce_gallery.koepfe{width:100%;border-top:5px solid #dbe2e6;border-bottom:5px solid #dbe2e6
}
.ce_gallery.koepfe ul{border-top:1px solid #fff;border-bottom:1px solid #fff
}
.ce_gallery.koepfe .bilderrahmen {
	border: none;
	padding:0;
	background: #fff;}



@media screen and (min-width:960px) {
	.koepfe li{width:5.882%}
}
