/*
++++++++++
MOBILE NAV
++++++++++
*/

body.mobilenav-active {
    overflow: hidden;
}
header.pageHeader button.mobile-navigation {
    display: block;
    background-color: transparent;
    border: none;
    width: 52px;
    height: 40px;
    position: relative;
    cursor: pointer;
    border-left: 1px solid #fff;
    bottom: 0;
    right: 0;
}
header.pageHeader .mobile-navigation span {
    height: 2px;
    background-color: #fff;
    left: 14px;
    right: 14px;
    position: absolute;
    top: 19px;
    transition: background-color 0s 0.2s;
}
header.pageHeader .mobile-navigation span:before, .mobile-navigation span:after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #fff;
    left: 0;
    transition-property: top, transform;
    transition-duration: 0.2s, 0.2s;
    transition-delay: 0.2s, 0s;
}
header.pageHeader .mobile-navigation span:after {
    top: 9px;
}
header.pageHeader .mobile-navigation span:before {
    top: -9px;
}
header.pageHeader .mobile-nav-active-btn span {
    background-color: transparent;
}
header.pageHeader .mobile-nav-active-btn span:after {
    top: 0;
    transform: rotate(45deg);
}
header.pageHeader .mobile-nav-active-btn span:before {
    top: 0;
    transform: rotate(-45deg);
}
header.pageHeader .mobile-nav-active-btn span:before, .mobile-nav-active-btn span:after {
    transition-delay: 0s, 0.2s;
}
header.pageHeader .mobileNav {
    position: absolute;
    display: none;
    left: 0;
    right: 0;
    height: calc(100vh - 100%);
    height: calc(100dvh - 100%);
    overflow-y: scroll;
    top: 100%;
    background: #3c3c3c;
    text-align: center;
    padding: 1rem;
}

@media (min-width: 992px) {
    header.pageHeader .mobileNav {
        position: relative;
        display: contents;
        text-align: left;
    }
}

/*
----------
MOBILE NAV
----------
*/

/*
++++
LOGO
++++
*/
a.logo img {
    max-width: 110px;
}
@media (min-width: 992px) {
    a.logo img {
        max-width: 156px;
    }
}
/*
----
LOGO
----
*/

/*
+++++++++
ALLGEMEIN
+++++++++
*/
.fixed-top{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}
.fixed-top.scrolled{
    position: fixed;
    top: var(--scroll);
    transition: top .1s ease;
}
.fixed-top.scrolledUp, body.LanguageMenu-active .fixed-top, body.searchFlyout-active .fixed-top{
    position: fixed;
    top: 0;
}
header.pageHeader.fixed-top.hasNoStage {
    --topPosition: 1 !important;
}
.pageHeader .shrink{
    margin-top:var(--scrollShrink);
 /*   transition:all ease 0.2s; */
}
/*
header.pageHeader.fixed-top::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 300%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.75), transparent);
    z-index: -2;
    opacity: 1;
}
header.pageHeader.fixed-top.scrolled::after {
    opacity: calc(1 - var(--topPosition));
}
header.pageHeader.fixed-top.scrollAniDone::after{
    display: none;
}
*/
header.pageHeader.fixed-top::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, 0);
        z-index: -1;
        backdrop-filter: blur(0px);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0);
        transition: all 0.1s ease;
    }
header.pageHeader.fixed-top.scrolled::before,header.pageHeader.fixed-top.hasNoStage::before {
    background: rgba(60, 60, 60, calc(1 * var(--topPosition)));
}
body.mobilenav-active header.pageHeader.fixed-top::before, body.LanguageMenu-active header.pageHeader.fixed-top::before, body.searchFlyout-active header.pageHeader.fixed-top::before{
    background: rgba(60, 60, 60, 1);
}

header.pageHeader > .container-fluid {
    max-width: calc(100vw / 12 * 11);
    min-width: min(100%, 1320px);
}
nav ul {
    display: flex;
    flex-direction: column;
    padding-left: 0;
    list-style: none;
    margin: 0;
}
nav.mainNav a.navLink {
    text-decoration: none;
    font-family: var(--diener-headFont);
    font-weight: 600;
    color: #ffffff;
    font-size: 1.75rem;
    padding: .625rem;
    line-height: 1em;
    position: relative;
    display: block;
}
nav.mainNav ul.navLevel2 a.navLink {
    text-decoration: none;
    font-family: var(--diener-copyFont);
    font-weight: 300;
    color: #fff;
    font-size: .875rem;
    line-height: 1rem;
    padding: .5rem;
}

@media (min-width: 992px) {
    .fixed-top.scrolled{
        position: fixed;
        top: 0;
        transition: top .1s ease;
    }
    .fixed-top{
        position: fixed;
    }
    nav.mainNav a.navLink {
        font-size: 1.375rem;
    }
    
    nav.mainNav {
        position: relative;
        margin-top: 1rem;
    }
    nav ul.navbar-nav {
        flex-direction: row;
    }
    header.pageHeader.fixed-top.scrolled::before,header.pageHeader.fixed-top.hasNoStage::before {
        background: rgba(0, 0, 0, calc(0.6 * var(--topPosition)));
        backdrop-filter: blur(calc(20px * var(--topPosition)));
        box-shadow: 0 0 10px rgba(0, 0, 0, calc(0.5 * var(--topPosition)));
    }
}
/*
---------
ALLGEMEIN
---------
*/

/*
+++++++
LEVEL 1
+++++++
*/

header.pageHeader .navbar-nav > li.hasSub > a {
    padding-top: 0;
    transition: padding-top 0.2s 0.3s;
}
header.pageHeader .navbar-nav > li.hasSub.toggled > a {
    padding-top: 30px;
}
header.pageHeader .navbar-nav > li.hasSub > a:before {
    content: '';
    position: absolute;
    border-left: 0px solid #fff;
    border-top: 0px solid #fff;
    width: 0px;
    height: 0px;
    transform: rotate(45deg) translateX(-50%);
    left: 50%;
    top: 20px;
    transition: all 0.2s 0.3s;
}
header.pageHeader .navbar-nav > li.hasSub.toggled > a:before {
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    width: 20px;
    height: 20px;
}
@media (min-width: 992px) {
    header.pageHeader .navbar-nav > li.hasSub > a,header.pageHeader .navbar-nav > li.hasSub.toggled > a {
        padding-top:.625rem;
        transition:none;
    }
    header.pageHeader .navbar-nav > li > a.navLink:before {
        content: "";
        position: absolute;
        border: none;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 3px;
        top: unset;
        background-color: var(--diener-red1);
        transform: scaleX(0);
        transform-origin: 100% 50%;
        transition: transform .4s cubic-bezier(.8, 0, .2, 1);
    }
    header.pageHeader .navbar-nav > .navItem:hover > a.navLink:before, header.pageHeader .navbar-nav > .navItem.toggled > a.navLink:before, header.pageHeader .navbar-nav > .navItem.active > a.navLink:before {
        transform: scaleX(1);
        transform-origin: 0 50%;
        border: none;
        width: 100%;
        height: 3px;
    }
    ul.navbar-nav:hover > li.navItem {
        opacity: 0.5;
    }
    ul.navbar-nav > li.navItem:hover, ul.navbar-nav > li.navItem.toggled {
        opacity: 1;
    }
    ul.navbar-nav > li.navItem {
        opacity: 1;
        transition: opacity 0.3s ease;
    }
}
/*
-------
LEVEL 1
-------
*/


/*
+++++++
LEVEL 2
+++++++
*/
nav.mainNav ul.navLevel2 {
    display: none;
}
.navLevel2 > li.navItem.hasSub > a.navLink::after {
    content: '';
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 1px;
    background-size: 100%;
    background-repeat: no-repeat;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg) scale(1);
    transition: all 0.5s ease;
}
.navLevel2 > li.navItem.hasSub.toggled > a.navLink::after {
    content: '';
    width: 0;
    height: 0;
    border: none;
    transform: rotate(-135deg) scale(0);
    transition: all 0.5s ease;
}
.navLevel2 > li.navItem.hasSub > a.navLink::before {
    content: '';
    display: inline-block;
    margin-left: 0;
    margin-bottom: 1px;
    background-size: 100%;
    background-repeat: no-repeat;
    transform: rotate(45deg) scale(0);
    transition: all 0.5s ease;
    width: 0;
    height: 0;
    border: none;
}
.navLevel2 > li.navItem.hasSub.toggled > a.navLink::before {
    content: '';
    width: 7px;
    height: 7px;
    margin-right: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg) scale(1);
}
.navLevel2 > li.navItem.hasSub.toggled > a.navLink {
    font-weight: 600;
}
nav.mainNav .navLevel2Container {
    display: none;
    right: 0;
    z-index: 1;
}
nav.mainNav ul.navLevel2 {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    padding: .75rem;
}
nav.mainNav ul.navLevel2 li.navItem:hover {
    background: rgba(255,255,255,.5);
    font-weight: 600;
}
nav.mainNav ul.navLevel2 li.navItem.current {
    background: rgba(255,255,255,.5);
}
nav.mainNav ul.navLevel2 li.navItem.current>a {
    font-weight: 600;
}
nav.mainNav ul.navLevel2 li.navItem.toggled:hover {
    background: transparent;
}
@media (min-width: 992px) {
    nav.mainNav .navLevel2Container {
        display: none;
        position: absolute;
        width: min(100vw, 920px);
        right: 0;
        height: min(345px, calc(100vh - 100px));
        box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.25);
        border-bottom: 3px solid var(--diener-red1);
        z-index: 1;
        overflow: hidden;
    }
    nav.mainNav ul.navLevel2 {
        display: flex;
        width: 100%;
        height: min(345px, calc(100vh - 100px));
        flex-wrap: wrap;
        padding: .75rem;
        padding-right: min(calc(100vw * 0.3), calc(920px * 0.3));
    }
    ul.navLevel2 li.navItem {
     /*   min-width: 50%; */
    }
    .navLevel2Container::before {
        content: '';
        position: absolute;
        top: 0;
        right: 30%;
        bottom: 0;
        left: 0;
        background: rgba(255, 255, 255, 0.6);
        backdrop-filter: blur(12px);
        z-index: -1;
    }
    nav.mainNav ul.navLevel2 a.navLink {
        color: #000;
    }
    .navLevel2 > li.navItem.hasSub > a.navLink::after, .navLevel2 > li.navItem.hasSub.toggled > a.navLink::before {
        border-color: #000;
    }
}
/*
-------
LEVEL 2
-------
*/

/*
+++++++
LEVEL 3
+++++++
*/
nav.mainNav .navLevel3Container {
    display: none;
}
@media (min-width: 992px) {
    nav.mainNav .navLevel3Container {
        display: none;
        position: absolute;
        width: 70%;
        height: min(calc(345px - 2.75rem), calc(100vh - 100px - 2rem));
        left: 0;
    }
    ul.navLevel3 {
        display: flex;
        flex-wrap: wrap;
        height: min(calc(345px - 2.75rem), calc(100vh - 100px - 2rem));
        position: absolute;
        width: 100%;
        padding-left: .75rem;
        padding-bottom: .75rem;
    }
}
/*
-------
LEVEL 3
-------
*/

/*
+++++++
INFOBOX
+++++++
*/
.menuItemInfoBox {
    display: none;
}
.menuItemInfoBoxFallback {
    display: none;
}
@media (min-width: 992px) {
    .menuItemInfoBoxFallback {
        width: min(calc(100vw * 0.3), calc(920px * 0.3));
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        flex-direction: column;
        padding: 1.25rem 1.25rem 0 1.25rem;
        height: min(342px, calc(100vh - 97px));
        display: flex;
    }
    .menuItemInfoBoxFallback>* {
        opacity: 1;
        transition: opacity .5s ease;
    }
    .menuItemInfoBoxFallback.deactive>* {
        opacity: 0;
    }
    .menuItemInfoBoxFallback::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(12px);
        z-index: -1;
        box-shadow: 20px 0px 20px inset rgba(0, 0, 0, 0.5);
    }
    .menuItemInfoBoxFallback .contactInfoContainer a,.menuItemInfoBoxFallback .contactInfoContainer h4,.menuItemInfoBoxFallback .contactInfoContainer p{
        color:#fff;
        text-decoration: none;
    }
    .menuItemInfoBoxFallback .contactInfoContainer a{
        font-size: .875rem;
    }
    .menuItemInfoBoxFallback .contactInfoContainer p{
        margin-bottom: 0;
        line-height: 1.5em;
    }
    .menuItemInfoBoxFallback .contactImageContainer{
        position: relative;
        width: 100%;
        height: 100%;
    }
    .menuItemInfoBoxFallback .contactImageContainer img{
        width: 100%;
        height: 100%;
        position: absolute;
        object-fit: contain;
    }
    .menuItemInfoBox {
        position: absolute;
        right: max(calc(100vw * 0.3 * -1), calc(920px * 0.3 * -1));
        bottom: 0;
        height: min(calc(345px), calc(100vh - 100px));
        width: min(calc(100vw * 0.3), calc(920px * 0.3));
        display: none;
        flex-direction: column;
    }
    .menuItemInfoBox .infoBoxPicture{
        position: relative;
        width: 100%;
        height: 50%;
        background: #fff;
    }
    .menuItemInfoBox .infoBoxPicture::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, transparent 2.5rem), linear-gradient(0deg, rgba(0, 0, 0, 0.75) 0%, transparent 50%);
        z-index: 1;
    }
    .menuItemInfoBox .infoBoxPicture img{
        width: 100%;
        height: 100%;
        position: absolute;
        object-fit: cover;
    }
    .menuItemInfoBox .infoBoxContent{
        padding: 0 1.25rem 1.25rem 1.25rem;
        color: #fff;
        font-size: .875rem;
        line-height: 1.5em;
    }
    .menuItemInfoBox .infoBoxHeadline {
        color: #fff;
        padding: 0.25rem 1.25rem;
        position: absolute;
        z-index: 2;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .menuItemInfoBox.active {
        -webkit-animation-name: fadeInRight;
        animation-name: fadeInRight;
        animation-duration: .5s;
        display: flex;
    }
    /*
    .navItem:hover > .menuItemInfoBox {
        display: block !important;
    }
    */
    
}
/*
-------
INFOBOX
-------
*/
/* 
++++++++++++++++++++++++
LANGUAGE MENU + SUB MENU
++++++++++++++++++++++++
*/
nav.subNav a, nav.LanguageMenu a {
    font-size: .875rem;
    line-height: 1em;
    text-decoration: none;
    color: #fff;
    display: block;
    padding: 0.375rem .5rem;
    font-weight: 400;
    text-align: center;
}
nav.LanguageMenu a {
    padding: .625rem;
}
nav.subNav a {
    padding: .625rem 0;
}
nav.subNav a:hover, nav.LanguageMenu a:hover, nav.LanguageMenu li.active a, nav.LanguageMenu:hover a .CurLang {
    font-weight: 700;
}
nav.subNav a:after, nav.LanguageMenu a:after {
    display: block;
    content: attr(title);
    font-weight: 700;
    visibility: hidden;
    overflow: hidden;
    height: 0px;
}
a.LanguageMenuBtn::before {
    content: '';
    background-image: url('../Images/globe_white.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% 100%;
    padding: 0;
    display: block;
    width: 20px;
    height: 20px;
}
nav.LanguageMenu .CurLang::after {
    content: '';
    width: 7px;
    height: 7px;
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 3px;
    background-size: 100%;
    background-repeat: no-repeat;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
    transition: all 0.5s ease;
}
nav.LanguageMenu {
    background: transparent;
    transition: background 0.3s ease;
}
nav .LanguageMenuFlyOut {
    display: none;
    position: absolute;
    flex-direction: column;
    right: 0;
    left: 0;
    top: 100%;
    z-index: 2;
    width: fit-content;
    min-width: 100%;
    background: var(--diener-grau);
}
nav .LanguageMenuBtn {
    text-transform: uppercase;
}
@media (min-width: 992px) {
    nav.LanguageMenu {
        position: relative;
    }
    a.LanguageMenuBtn::before {
        content: '|';
        background-size: 1rem;
        padding: 0 4px 0 23px;
        display: inline;
    }
    nav.subNav a, nav.LanguageMenu a {
        padding: 0.375rem .5rem;
    }
    nav.LanguageMenu:hover .LanguageMenuFlyOut {
        display: flex;
        background: var(--diener-grau);
    }
    nav.LanguageMenu:hover {
        background: var(--diener-grau);
    }
}
/*
------------------------
LANGUAGE MENU + SUB MENU
------------------------
*/

/*
++++++
SEARCH
++++++
*/
button.search-button {
    width: 40px;
    height: 40px;
    position: relative;
    display: block;
    border: none;
    background: url("../Images/search_white.svg");
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center center;
}
header.pageHeader .tx_solr {
    display: none;
}
header.pageHeader .tx_solr {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--diener-grau);
    padding: 1rem;
}
header.pageHeader input.tx-solr-q {
    width: 100%;
    height: 35px;
}
.tx-solr-autosuggest {
    width: 100% !important;
    margin-left: -1rem;
    padding: .5rem;
    border-left: 1rem var(--diener-grau) solid;
    border-right: 1rem var(--diener-grau) solid;
    border-bottom: 1rem var(--diener-grau) solid;
    border-top: none;
}

.tx-solr-autosuggest strong {
    font-weight: bolder;
    color: var(--diener-red1);
}

.tx-solr-autosuggest .autocomplete-suggestion {
    padding: 2px 5px;
    white-space: nowrap;
    overflow: hidden;
}

.tx-solr-autosuggest .autocomplete-selected {
    background: #fff;
}

.tx-solr-autosuggest .autocomplete-group {
    padding: 0.5rem 0.25rem 0;
    font-family: var(--diener-headFont);
    font-size: 1.375rem;
    font-weight: 600;
}

.tx-solr-autosuggest .autocomplete-group strong {
    display: block;
    border-bottom: 1px solid #999;
}
@media (min-width: 992px) {
    header.pageHeader .tx_solr {
        display: block;
    }
    header.pageHeader .tx_solr {
        position: unset;
        left: unset;
        right: unset;
        top: unset;
        background: transparent;
        padding: unset;
    }
    header.pageHeader input.tx-solr-q {
        width: 24px;
        transition: all 0.5s ease;
        padding: 0.3125rem;
        padding-right: 24px;
        background: transparent;
        border: none;
        outline: none;
        border-radius: 0 15px 15px 0;
        font-size: .875rem;
        line-height: 1em;
        height: 24px;
        display: block;
    }
    header.pageHeader tx_solr .input-group:before {
        content: 'P';
        color: #fff;
        font-size: 14px;
        display: block;
        position: absolute;
        right: 0;
        width: 24px;
        top: 0;
        bottom: 0;
    }
    header.pageHeader input.tx-solr-q:hover, header.pageHeader input.tx-solr-q:focus,header.pageHeader .tx_solr .input-group:hover input.tx-solr-q {
        width: 300px;
        background: #fff;
    }
    header.pageHeader .tx_solr .input-group {
        position: relative;
    }
    header.pageHeader button.tx-solr-submit {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 24px;
        background: transparent;
        border: none;
        outline: none;
    }
    header.pageHeader .tx_solr .input-group .tx-solr-submit::before{
        content: '';
        background-image: url("../Images/search_white.svg");
        top: 0;
        position: absolute;
        right: 0;
        bottom: 0;
        width: 24px;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 1rem;
        transition: all .5s ease;
    }
    header.pageHeader .tx_solr input.tx-solr-q:hover + .tx-solr-submit::before,header.pageHeader .tx_solr input.tx-solr-q:focus + .tx-solr-submit::before,header.pageHeader .tx_solr .input-group:hover input.tx-solr-q + .tx-solr-submit::before{
        background-image: url("../Images/search_black.svg");
    }
    .tx-solr-autosuggest {
        border: 1px solid #CCC;
        background: #FFF;
        overflow: auto;
        width:300px !important;
        font-size: .875rem;
        margin-left: unset;
    }
}
/*
------
SEARCH
------
*/


.contactFlyOut {
    --width:calc(100vw - 2rem);
    --height:calc(100svh - 2rem);
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 999999;
    background: var(--diener-red1);
    overflow: hidden;
    transition: all .5s ease;
    width: 4rem;
    height: 4rem;
    border-radius: 100% 100% 0 100%;
    padding: 2rem 2rem 0 2rem;
}
.contactFlyOut.active {
    background: var(--diener-lightGrau2);
    width: var(--width);
    height: var(--height);
    border-radius: 25px 25px 0 25px;
}
.contactFlyOut .contactFlyOutIcon{
    content:'';
    position: absolute;
    width: 4rem;
    height: 4rem;
    border-radius: 30px 30px 0 30px;
    background: no-repeat center/2rem url("../Images/contact.svg"), var(--diener-rotVerlauf);
    bottom: 0;
    right: 0;
    cursor: pointer;
    z-index: 2;
}
.contactInfoContainerRow{
    height: 100%;
}
.contactFlyOutContent {
    display: flex;
    flex-direction: column;
    position: absolute;
    right: 2rem;
    bottom: 0;
    width: calc(var(--width) - 4rem);
    height: calc(var(--height) - 2rem); 
    border-radius: 25px 25px 0 25px;
    white-space: nowrap;
}
.contactFlyOut .contactImageContainer {
    position: relative;
    height: 100%;
}
.contactFlyOut .contactImageContainer img{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom center;
}

.contactFlyOutContent p, .contactFlyOutContent p a {
    font-size: .875rem;
    line-height: 1.5em;
    color: #000;
    text-decoration: none;
    font-weight: 300;
}
.contactFlyOutClose{
    position: absolute;
    top: -1.5rem;
    right: -1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    cursor: pointer;
}
.contactFlyOutClose::before{
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #000;
    left: 0;
    top: 50%;
    transform: rotate(-45deg);
}
.contactFlyOutClose::after{
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: #000;
    left: 0;
    top: 50%;
    transform: rotate(45deg);
}

@media (min-width: 992px) {
    .contactFlyOut {
        --width:auto;
        --height:auto;
        bottom: 2rem;
        right: 2rem;
    }
    .contactFlyOut.active {
        width: calc(var(--width) * 2);
        box-sizing: content-box;
    }
    .contactFlyOutContent {
        position: absolute;
        right: 2rem;
        bottom: 0;
        width: calc(var(--width) * 2);
        height: var(--height); 
    }
    .contactFlyOut .contactImageContainer img{
        object-position: bottom right;
    }
    .contactFlyOut .contactInfoContainer{
        padding-bottom: 1rem;
    }
    .contactFlyOutContent p, .contactFlyOutContent p a {
        font-size: 1rem;
        line-height: 1.75em;
    }
}




@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%,0,0);
        transform: translate3d(100%,0,0)
    }

    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0)
    }
}