/*
 * Styles for the offer popup and the appointment-type tooltips.
 * Rendered by partials/popup.php and partials/form/appointment.php.
 *
 * Uses --main-color / --header-highlight from main.css, so this must load
 * after it.
 */
.popup{
    position: fixed;
    width:600px;
    max-width: 90%;
    max-height:70vh;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index: 100;

}
@media only screen and (min-width: 1366px) {
    .popup.large{
        width:900px;
    }
}
.popup.active{
    display: block;
}
.popup.hide .popup-outer{
    animation: fadeOutDown 0.82s ease-in both;
}
.popup.active.shake .popup-inner{
    animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
}
.popup-outer{

    background: var(--main-color);
    background: white linear-gradient(45deg, rgba(232,194,4,0.9) 0%, rgba(232,194,4,0.8) 100%);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
    position: relative;
    height: 100%;
    border-radius: 20px;
}
.popup-inner{
    padding:0px 0px 0px 20px;
}

@media only screen and (max-width: 768px) {
    .tooltip .popup-inner:after {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 0px;
        width: 100%;
        height: 100px;
        background: rgb(209, 213, 215);
        background: linear-gradient(180deg, rgba(232, 194, 4, 0) 0%, rgba(232, 194, 4, 1) 100%);
    }
}

.popup-inner.center{
    text-align: center;
}
.popup-inner li,
.popup-inner p{
    color:#fff;
    line-height: 120%;
    font-size:14px;
}
@media only screen and (min-width: 768px) {
    .popup-inner li,
    .popup-inner p{
        color:#fff;
        font-size:16px;
    }
}
.popup-inner p.title{
    font-weight: bold;
    font-size:20px;
    margin-bottom: 20px;
    margin-top:30px;
}
.popup-inner p.title:first-of-type{
    margin-top:0px;
}
@media only screen and (min-width: 768px) {
    .popup-inner p.title{
        font-size:30px;
        margin-bottom: 30px;
        margin-top:30px;
    }
}
.popup-inner p.title span{
    font-size:120%;
}
.popup .close-popup{
    font-size:20px;
    display: flex;
    width:40px;
    height:40px;
    justify-content: center;
    align-items: center;
    position: absolute;
    top:-20px;
    right:-20px;
    background: var(--main-color);
    border:3px solid var(--header-highlight);
    z-index:101;
    border-radius:50%;
    cursor: pointer;
    font-weight: bold;
    color:#fff;

}
.popup ul{
    padding-left:10px;
    margin-bottom:10px;
    list-style-type: disc;
}
@media only screen and (min-width: 768px) {
    .popup ul{
        padding-left:20px;
    }
}
.popup ul li{
    color:#fff;
    margin-bottom: 3px;
}
.popup.tooltip .popup-inner{

    max-height:70vh;
    overflow-y:auto;
}
.popup.tooltip .popup-inner .the-content {
    padding-bottom:10px;
    padding-top:30px;
}
@media only screen and (max-width: 768px) {
    .popup.tooltip .popup-inner .the-content {

        padding-top:30px;
        padding-bottom:60px;

    }
}
@media only screen and (max-width: 1366px) {
    .popup.tooltip .popup-inner .the-content {

        padding-top:40px;
        padding-bottom:80px;
    }
}

@keyframes fadeOutDown {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(20px);
    }
}

@keyframes shake {
    10%, 90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%, 80% {
        transform: translate3d(2px, 0, 0);
    }

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

    40%, 60% {
        transform: translate3d(4px, 0, 0);
    }
}
