* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
}

*:focus {
    outline: none;
}

body {
    height: 100vh;
    background: #fff;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background-image: url("../img/bg-portal3.jpg");*/
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: repeat-x;
}

.title {
    text-align: right;
    font-size: 1.8rem;
    color: #282828;
    margin-bottom: .75rem;
    padding-right: 2rem
}

.title .title-wrapper {
    float: right;
}

.title .title-block {
    text-align: center
}

.title .img1 {
    height: 1.5rem;
}

.title .img2 {
    height: 2rem;
}

.container {
    width: 100%;
    height: 100vh;
    padding-top: .75rem;
}

.chat_box {
    background: #fff;
    width: 100%;
    height: calc(100% - 5.8rem);
    margin: 0;
    overflow: hidden;
    position: relative;
}

.d-man {
    position: fixed;
    bottom: 0;
    margin: 0;
    display: none;
}

.d-man img {
    width: 100%;
    height: 100%;
}

.d-man-mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 180px;
    height: 200px;
}

.d-man-mobile img {
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 767.98px) {
    .title {
        font-size: 1.5rem;
        padding-right: 0;
        text-align: center;
    }

    .title .title-wrapper {
        float: none;
        display: flex;
        justify-content: center;
    }

    .title .img1 {
        height: 3.3rem;
    }

    .title .img2 {
        margin-top: 0.9rem;
        margin-left: 1rem;
        height: 3rem;
    }

    .container {
        padding: 6rem;
        width: calc(100% - 335px);
        height: 100vh;
        float: right;
    }

    .chat_box {
        margin: 0 auto;
        border-radius: 30px;
        box-shadow: 0 0 55px -12px #616161;
        height: calc(100% - 7rem);
    }

    .chat_box iframe {
        border-radius: 5px;
    }

    .d-man {
        left: -30px;
        bottom: 50px;
        width: 400px;
        height: 470px;
        display: block;
    }

    .d-man-mobile {
        display: none;
    }
}


@media only screen and (min-width: 900px) {
    .container {
        width: 50%;
    }

    .chat_box {
        height: calc(100% - 7rem);
    }

    .d-man {
        left: 20px;
        bottom: 50px;
        width: 400px;
        height: 470px;
        display: block;
    }
}

@media only screen and (min-width: 1199.98px) {
    .title {
        font-size: 2.2rem;
    }

    .chat_box {
        width: 40vw;
        height: calc(100vh - 10rem);
    }

    .d-man {
        bottom: 0px;
        left: 10px;
        width: 600px;
        height: 670px;
    }
}