:root {
    --phone_width:      320px;
    --phone_gutter:     20px;
    --phone_inner_w:    calc(var(--phone_width) - 2 * var(--phone_gutter));

    --phone_blue:       #2081E2;
    --phone_text:       #567191;
    --phone_green:      #5CD4D5;
    --phone_red:        #F37172;
    --phone_orange:     #FFB12A;
    --phone_gray:       #C4C4C4;
    --phone_placeholder:#777777;
    --phone_tooltip:    #868486;
    --phone_background: #FFFFFF;
    --phone_background2:#F7F7F7;
    --phone_dialerbtn:  #394759;
    --phone_dialerbtnw: #394759;
}


/* DARKMODE  */
body.night {
    --phone_background: #242627;
    --phone_background2:#737477;
    --phone_text:       #D4D6DB;
    --phone_dialerbtn:  #000000;
    --phone_dialerbtnw: #FFFFFF;
    --phone_placeholder:#D4D6DB;
}
   

body.night #phone-container .content,
body.night #phone-container #phone-content .incall .bottom-view.open {
    border: 1px solid;
}
body.night #phone-container #phone-content .incall .call-button-action {
    fill: #737477;
}



#phone-container {
    transition: bottom ease 0.15s;
    min-height: 100px;
}

#phone-container.off:not([data-call="on"]) #phone-content {
    pointer-events: none;
}

#phone-container *:not(.badge) {
    color: inherit;
}

#player.on ~ #phone-container {
    bottom: 110px;
}

/* #phone-container .opacity {
    background: linear-gradient(122.49deg, rgba(165, 189, 255, 0.1) -14.71%, rgba(126, 162, 255, 0.1) 107.82%);
    /* opacity: 0.6; */
    /* backdrop-filter: blur(10px); */
    /* transition: opacity .2s linear;
} */
#phone-container > div {
    position: relative;
    transition: all ease-in .2s;
    transition-delay: 0s;
    opacity: 0;
    visibility: hidden;
}



#phone-container .content {
    width: var(--phone_width);
    text-align: left;
}


#phone-container .phone .content {
    overflow: hidden;
    width: var(--phone_width);
    background-color: var(--phone_background);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1497);
    border-radius: 20px;
    display: flex;
}

#phone-container #toggle-phone {
    width: var(--phone_width);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    margin: 0;

}

#phone-container #toggle-phone > div {
    width: 50px;
    height: 5px;
    background-color: var(--phone_gray);
}

#phone-container.on #toggle-phone, #phone-container.autoplay #toggle-phone, #phone-container.nomic #toggle-phone {
    display: flex;
    opacity: 1;
    height: 15px;
    visibility: visible;
    transition-delay: .15s;
}
#phone-container #minimize-phone {
    position: absolute;
    transition-delay: 0s;
    right: 0;
    bottom: -100px;
}
#phone-container.off #minimize-phone {
    visibility: visible;
    opacity: 1;
    height: 90px;
    transition-delay: .2s;
    right: 0;
    bottom: 0;
}

#phone-container:where(.autoplay, .nomic)  #phone-content .content {
    padding: 20px;
    width: var(--phone_inner_w);
    text-align: center;
}

#phone-container.autoplay   #phone-content,
#phone-container.nomic      #phone-content,
#phone-container.on         #phone-content {
    visibility: visible;
    transition-delay: .15s;
    opacity: 1;
}

#phone-container #autoplay-phone,
#phone-container #nomic-phone,
#phone-container #enable-phone {
    transition: all ease 0.15s;
    display: none;
    opacity: 0;
}

#phone-container.autoplay #autoplay-phone,
#phone-container.nomic #nomic-phone,
#phone-container.on #enable-phone {
    visibility: visible;
    opacity: 1;
    display: flex;
}
#phone-container.autoplay #enable-phone, 
#phone-container.nomic #enable-phone {
    display: none;
}
#phone-container.off[data-call="off"] #enable-phone {
    visibility: hidden;
    margin-bottom: calc(-100% + 65px * 2);
    display: flex;
}
#phone-container.off[data-call="on"] #enable-phone {
    visibility: visible;
    opacity: 1;
    display: flex;
}

#phone-container #nomic-phone,
#phone-container #autoplay-phone {
    flex-direction: column;
}

#phone-container #nomic-phone span {
    display: none;
    margin-top: 50px;
}

#phone-container #autoplay-phone span {
    margin-top: 20px;
}

#phone-container #nomic-phone svg,
#phone-container #autoplay-phone svg {
    height: 60px;
    width: 60px;
    fill: var(--phone_text);
}

#phone-container #nomic-phone #no-mic-error.err_mic_ask_perms   ~ span.err_mic_ask_perms, 
#phone-container #nomic-phone #no-mic-error.err_mic_not_allowed ~ span.err_mic_not_allowed, 
#phone-container #nomic-phone #no-mic-error.err_mic_perms       ~ span.err_mic_perms, 
#phone-container #nomic-phone #no-mic-error.err_no_mic_found    ~ span.err_no_mic_found {
    display: block;
}




#phone-container #minimize-phone > div {
    border-radius: 100%;
    height: 90px;
    width: 90px;
    margin-left: calc(100% - 90px);
}

#phone-container #minimize-phone .content {
    cursor: pointer;
    transition: all .2s linear;
}
#phone-container #minimize-phone:hover .content {
    opacity: .8;
}

#phone-container #minimize-phone:active .content {
    transform: scale(.9);
}

#phone-container #minimize-phone > .content > div {
    border-radius: 100%;
    height: calc(100% - 10px);
    margin: 5px;
    width: calc(100% - 10px);
    background: var(--phone_background);
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1497);
    display: inline-block;
    position: relative;
}



#phone-container #minimize-phone > .content > div > div {
    background-color: var(--phone_blue);
    box-shadow: 0px 1px 5px rgba(51, 107, 255, 0.302311);
    height: calc(100% - 20px);
    margin: 10px;
    width: calc(100% - 20px);
    border-radius: 100%;
    justify-content: center;
    align-items: center;
    display: none;
}

#phone-container #minimize-phone > .content > div > #minimize-tooltip {
    width: max-content;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s linear, opacity 0.2s linear;
    padding: 20px 15px;
    line-height: 0;
    height: auto;
    background-color: var(--phone_placeholder);
    box-shadow: 5px 10px 50px rgba(41, 43, 88, 0.2);
    border-radius: 5px;
    margin: 0;
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translate(-25px, -50%);
    display: block;
}
#phone-container #minimize-phone > .content > div > #minimize-tooltip::before {
    content: " ";
    height: 12px;
    width: 12px;
    display: block;
    background-color: var(--phone_placeholder);
    transform: rotate(45deg) translate(-25%, -25%);
    position: absolute;
    right: -5px;
    top: 50%;
    border-radius: 2px;
}
#phone-container #minimize-phone > .content > div > #minimize-tooltip span {
    color: white;
    display: none;
}


#phone-container #minimize-phone > .content > div > div .symbol-split {
    width: 3px;
    height: 35px;
    transform: rotate(35deg);
    border-left: white 3px solid;
    position: absolute;
    top: 30%;
    left: 46%;
}

#phone-container[data-sipstatus="off"] #minimize-phone .content > div > #minimize-off,
#phone-container[data-sipstatus="on"] #minimize-phone .content > div > #minimize-on,
#phone-container[data-sipstatus="error"] #minimize-phone .content > div > #minimize-error {
    display: flex;
}
#phone-container[data-sipstatus="off"] #minimize-phone:hover .content > div >  #minimize-tooltip,
#phone-container[data-sipstatus="error"] #minimize-phone:hover .content > div >  #minimize-tooltip {
    visibility: visible;
    opacity: 1;
}
#phone-container[data-sipstatus="off"] #minimize-phone .content > div >  #minimize-tooltip #minimize-tooltip-off,
#phone-container[data-sipstatus="error"] #minimize-phone .content > div >  #minimize-tooltip #minimize-tooltip-error {
    display: block;
}

#phone-container #minimize-phone > .content > div > #minimize-off {
/* #phone-container #minimize-phone > .content > div > #minimize-off .symbol-split { */
    background-color: var(--phone_orange);
}

#phone-container #minimize-phone > .content > div > #minimize-error,
#phone-container #minimize-phone > .content > div > #minimize-error .symbol-split {
    /* background-color: var(--phone_placeholder); */
    background-color: var(--phone_orange);
}

#phone-container #minimize-phone > .content > div > #minimize-on svg,
#phone-container #minimize-phone > .content > div > #minimize-error svg {
    height: 40%;
}

/* #phone-container #minimize-phone > .content > div > #minimize-off svg {
    height: 55%;
} */
#phone-container #minimize-phone > .content > div > #minimize-off .wifi-symbol {
    transform: rotate(-45deg) translate(22.5%, -22.5%);
}



#phone-container #autoplay-phone:hover, #phone-container #nomic-phone:hover {
    opacity: .9;
}

#phone-container #autoplay-phone, #phone-container #nomic-phone {
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: opacity .2s linear;
}

#phone-container #phone-content.in .incall {
    display: flex;
    padding: 0;
    background-color: var(--phone_background);
} 
#phone-container #phone-content.off .offcall {
    display: flex;
    padding: var(--phone_gutter);
}

#phone-container.off #phone-content.in {
    display: block;
    opacity: 1;
    visibility: visible;
}

#phone-container.off #phone-content.in #enable-phone {
    width: calc(var(--phone_width) - 70px);
    display: flex;
    padding: 0;
    background: transparent;
}

#phone-container.off #phone-content.in #call-link,
#phone-container.off #phone-content.in #call-data,
#phone-container.off #phone-content.in #call-button-action,
#phone-container.off #phone-content.in .bottom-view {
    display: none !important;
}
#phone-container.off #phone-content.in #call-ivr,
#phone-container.off #phone-content.in #call-sumary #call-status {
    justify-content: center;
}

#phone-container.off #call-ivr.has-many-ivrs .ivr.has_menu_label .ivr_label:not(:hover) {
    width: 40px;
}

#phone-container.off #phone-content.in ~ #minimize-phone {
    display: none
}

#phone-container.off #phone-content.in ~ #toggle-phone {
    display: flex;
    opacity: 1;
    visibility: visible;
    height: 15px;
    margin-top: -20px;
    transition-delay: 0s;
}

#phone-container #phone-content .incall, #phone-container #phone-content .offcall {
    display: none;
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px;
    position: relative;
}

#phone-container #phone-content .offcall {
    padding: 10px;
}   

#phone-container #phone-content .offcall #dialer-main {
    margin: 10px auto;
    width: 100%;
    text-align: center;
}
#phone-container #phone-content .offcall #dialer-number #makecall {
    text-align: left;
    font-weight: bold;
}
#phone-container #phone-content .offcall #dialer-number #makecall ~ .select {
   margin-top: 10px;
}

#phone-container #phone-content .offcall #dialer-number  #makecall ~ .select .underselect {
    transform: translate(-50%, -5px);
}
#phone-container #phone-content .offcall #dialer-number .select[data-count="1"] {
    user-select: none;
    pointer-events: none;
    border: none;
    box-shadow: none;
}
#phone-container #phone-content .offcall #dialer-number .select[data-count="1"]:before {
    display: none;
}
#phone-container #phone-content .offcall #dialer-number .select[data-count="1"] .trigger_select {
    padding-right: 0;
}
#phone-container #phone-content .offcall #dialer-number {
    width: 100%;
}
#phone-container #phone-content .offcall #dialer-number .select {
    width: calc(var(--phone_inner_w) - 16px);
    text-align: left;
    padding-inline: 8px;
    height: 40px;
    line-height: 40px;
    box-shadow: none;
    font-size: 14px;
}
#phone-container #phone-content .offcall #dialer-number .select:before {
    height: 40px;
    z-index: 1;
}
#phone-container #phone-content .offcall #dialer-number .select .underselect {
    max-width: 200px !important;
    min-width: 100% !important;
    left: 50%  !important;
    transform: translate(-50%, 10px);
    position: absolute !important;
    top: 42px !important;
    bottom: auto !important;
    right: auto !important;
    border: 1px solid var(--grey_border_dark) !important;
    padding: 10px 0 !important;
    border-radius: 10px !important;
}
#phone-container #phone-content .offcall #dialer-number .select .underselect:before {
    left: 25%;
}
#phone-container #phone-content .offcall #dialer-number .select .underselect ul {
    max-height: 125px;
}
#phone-container #phone-content .offcall #dialer-number .select .trigger_select {
    font-size: 14px;
    padding-right: 25px;
    width: calc(100% - 25px);
}
#phone-container #phone-content .offcall #dialer-number .select .select_number {
    height: 38px !important;
    padding: 0 8px !important;
}
#phone-container #phone-content .offcall #dialer-number .select .trigger_select,
#phone-container #phone-content .offcall #dialer-number .select .select_number {
    user-select: none;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px !important;
}

#dialer-number .select img {
    margin: 0 0 0 10px;
    width: auto;
    height: 12px;
    border-radius: 2px;
}

#dialer-number .select[data-count="1"] img {
    margin-inline: 0 10px;
} 

#dialer-number .select ul li {
    font-size: 15px;
}


/* #dialer-number .select:not(:hover) {
    border-color: transparent;
}  */

#dialer-number .select .underselect {
    min-width: 100%;
    max-width: 100vw;
    width: max-content;
}

#dialer-number .select .value {
    padding-top: 0;
}

#dialer-number .select .ivr_name {
    min-width: 0;
    width: 16ch;
    background-color: var(--bg-color);
    color: white;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: static;
}

#dialer-number .select .ivr_number {
    margin-left: 1ch;
    opacity: 1;
}

#phone-container #phone-content .offcall #dialer-input {
    text-align: center;
    width: 100%;
    border: none;
    height: 50px;
    box-shadow: none;
    font-weight: 900;
    font-size: 18px;
    line-height: 19px;
    padding: 0;
    color: var(--phone_text);
    background: var(--phone_background2);
}
#phone-container #phone-content .offcall #dialer-input::placeholder {
    font-weight: 400;
    font-size: 14px;
    color: var(--phone_placeholder);
}

#phone-container #phone-content .offcall #dialer-price {
    height: 25px;
    padding-top: 2px;
}
#phone-container #phone-content .offcall #dialer-price * {
    font-size: 11px;
    color: var(--phone_placeholder);
}

#phone-container #phone-content .offcall .dialer-btn:hover {
    opacity: .8;
}

#phone-container #phone-content .offcall .dialer-btn:active {
    transform: scale(.9);
} 

#phone-container #phone-content .offcall .dialer-btn {
    transition: all .2s linear;
    cursor: pointer;
    height: 50px;
    border-radius: 10px;
    text-align: center;
    width: 100%;
    display: none;
    position: relative;
}

#phone-container #phone-content .offcall .dialer-btn svg {
    width: 25px;
    height: 25px;
}

#phone-container #phone-content .offcall #dialer-dial-btn {
    background-color: var(--phone_blue);
    justify-content: center;
    align-items: center;
    transition: none;
}
#phone-container #phone-content .offcall #dialer-restart-btn {
    background-color: var(--phone_orange);
}

#phone-container[data-sipstatus="on"] #phone-content .offcall #dialer-dial-btn {
    display: flex;
}
#phone-container[data-sipstatus="off"] #phone-content .offcall #dialer-restart-btn {
    display: block;
}


#phone-container #phone-content .offcall #dialer-restart-btn .symbol-split {
    width: 3px;
    height: 35px;
    transform: rotate(35deg);
    border-left: white 3px solid;
    position: absolute;
    top: 17%;
    left: 46%;
    background-color: var(--phone_orange);
}

#phone-container #phone-content .offcall #dialer-digits,
#phone-container #phone-content .incall #dtmf-incall
 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 30px;
    justify-content: space-between;
}

#phone-container #phone-content .offcall #dialer-digits .dialer-digit,
#phone-container #phone-content .incall #dtmf-incall .dtmf-digit {
    transition: opacity .2s linear;
    cursor: pointer;
    padding: 15px 5px;
    width: 50px;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    user-select: none;
}
#phone-container #phone-content .incall #dtmf-incall .dtmf-digit {
    padding: 10px 5px;
}

#phone-container #phone-content .offcall #dialer-digits .dialer-digit:hover,
#phone-container #phone-content .incall #dtmf-incall .dtmf-digit:hover
 {
    transform: scale(1.1);
    opacity: .8;
}
#phone-container #phone-content .offcall #dialer-digits .dialer-digit:active,
#phone-container #phone-content .incall #dtmf-incall .dtmf-digit:active {
    transform: scale(0.9);
}

#phone-container #phone-content .offcall #dialer-digits .dialer-digit .dialer-number,
#phone-container #phone-content .incall #dtmf-incall .dtmf-digit .dtmf-number {
    color: var(--phone_text);
    font-weight: 900;
    font-size: 18px;
    line-height: 19px;
    margin-bottom: 5px;
}

#phone-container #phone-content .offcall #dialer-digits .dialer-digit .dialer-alpha {
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: var(--phone_placeholder);
}

#phone-container #phone-content .incall #dtmf-incall .dtmf-digit .dtmf-alpha {
    display: none;
}

#phone-container #phone-content .incall .bottom-view {
    position: absolute;
    top: 0;
    height: 0;
    background: var(--phone_background);
    width: 100%;
    transition: height ease-in .4s, margin ease-in .4s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border-radius: 10px;
}

#phone-container.on #phone-content.in .incall .bottom-view.open {
    height: 100%;
}

#phone-container #phone-content .incall #dtmf-view {
    box-sizing: border-box;
}

#phone-container #phone-content .incall #dtmf-view > * {
    margin-inline: var(--phone_gutter);
}

#phone-container #phone-content .incall #dtmf-view #dtmf-list {
    height: 30px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .4em;
    margin-top: 20px;
}

#phone-container #phone-content .incall #dtmf-view .call-button-action {
    margin-bottom: var(--phone_gutter);
}

#phone-container #phone-content .incall #transfer-view #transfer-header {
    display: flex;
    justify-content: space-between;
    color: var(--phone_text);
    align-items: center;
    font-weight: 600;
    font-size: 15px;
    line-height: 14px;
    width: 90%;
    padding: 20px;
    z-index: 1;
}

#phone-container #phone-content .incall #transfer-view #transfer-header #back-button-transfer svg {
    fill: var(--phone_dialerbtnw);
}
#phone-container #phone-content .incall #transfer-view #transfer-header #back-button-transfer {
    cursor: pointer;
}
#phone-container #phone-content .incall #transfer-view #transfer-header #back-button-transfer:hover {
    opacity: .8;
}
#phone-container #phone-content .incall #transfer-view #transfer-header #back-button-transfer:active {
    transform: scale(0.9);
}

#phone-container #phone-content .incall #transfer-view  #transfer-list {
    overflow-y: auto;
    width: 100%;
    flex-grow: 1;
    scrollbar-color: var(--phone_blue);
    scrollbar-width: thin;
}

#phone-container #phone-content .incall #transfer-view  #transfer-list::-webkit-scrollbar {
    width: 10px;
}
  
#phone-container #phone-content .incall #transfer-view  #transfer-list::-webkit-scrollbar-track {
    background-color: var(--phone_background2);
    border-radius: 100px;
}
#phone-container #phone-content .incall #transfer-view  #transfer-list::-webkit-scrollbar-thumb {
    border-radius: 100px;    
    width: 10px;
    background-color:  var(--phone_blue);
}
#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user {
    display: flex;
    cursor: pointer;
    align-items: center;
    padding: 10px;
    margin: 10px;
    width: calc(100% - 40px);
    border-radius: 15px;
    user-select: none;
    overflow: hidden;
}
#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user:hover {
    background-color: var(--phone_background2);
}
#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user .transfer-user-img {
    width: 35px;
    height: 35px;
    margin-right: 15px;
    min-width: 35px;
    position: relative;
}
#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user .transfer-user-img .transfer-user-presence {
    position: absolute;
    width: 12px;
    height: 12px;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    display: none;
}

#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user[data-presence="off"] .transfer-user-img .transfer-user-presence {
    background-color: var(--phone_red);
}

#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user[data-presence="on"] .transfer-user-img .transfer-user-presence {
    background-color: var(--phone_blue);
}



#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user .transfer-user-img img {
    height: 100%; 
    width: 100%; 
    border-radius: 50%;
}
#phone-container #phone-content .incall #transfer-view  #transfer-list .transfer-user span {
    text-align: left;
    font-weight: 400;
    color:  var(--phone_text);
    font-size: 15px;
}

#phone-container #phone-content .incall #call-sumary {
    padding: var(--phone_gutter);
    margin: calc(var(--phone_gutter) / 2);
    border-radius: 10px;
    background-color: var(--blue_light);
    color: var(--blue);
}

#phone-container #phone-content .incall.incoming-call #call-sumary {
    background-color: var(--phone_blue);
}

#phone-container #phone-content .incall.incoming-call #call-sumary {
    color: var(--white);
}

#phone-container #call-ivr {
    display: flex;
}

#phone-container #call-ivr .ivr {
    display: inline-flex;
    min-width: 0;
}


#phone-container #call-ivr .menu_label {
    background-color: var(--white);
}

#phone-container #call-ivr .menu_label:empty {
    display: none;
}

#phone-container #phone-content .incall.incoming-call #call-sumary #call-status #call-status-ringing-in {
    display: block;
}

#phone-container #phone-content .incall.outgoing-call #call-sumary #call-status #call-status-ringing-out {
    display: block;
}

#phone-container #phone-content #call-sumary #call-status {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
}

#call-status-wait {
    display: flex;
    align-items: center;
}

#phone-container .incall:not(.incoming-call, .outgoing-call) #call-status-wait {
    display: none;
}

#call-status-wait svg {
    width: 14px;
    height: auto;
}

#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall {
    display: none;
}
#phone-container #phone-content .incall #call-sumary #call-status #call-status-incall svg {
    display: none;
    height: 14px;
    width: 14px;
}
#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall.out {
    display: flex;
}

#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall.in {
    display: flex;
}
#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall.out svg.out,
#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall.in svg.in {
    display: inline;
}
#call-status-time {
    font-variant-numeric: tabular-nums;
    font-size: 12px;
}

#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall.out #call-status-time {
    color: var(--phone_blue);
}
#phone-container #phone-content .incall.in-call #call-sumary #call-status #call-status-incall.in #call-status-time {
    color: var(--phone_green);
}

#phone-container #phone-content .incall #call-sumary #call-number {
    display: flex;
    margin: auto;
    align-items: center;
    font-size: 13px;
    margin-inline: auto;
}

#phone-container #phone-content .incall #call-sumary #call-number img {
    margin-right: 10px;
    border-radius: 3px;
    width: 20px;
    border: 1px solid currentColor;
}

.call-contact-scroller {
    overflow: hidden;
}

.call-contact-scroller > * {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}


.call-contact-scroller > *:hover {
    animation: marquee calc(0.25s * var(--contact-length, 15)) linear infinite;
    max-width: none;
}

.nocontact .call-contact-scroller {
    display: none;
}

#phone-container #phone-content .incall #call-sumary #call-contact-name {
    display: inline-block;
    font-size: 15px;
    line-height: 25px;
    font-weight: 600;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    5% { transform: translateX(0); }
    90% { transform: translateX(min(0px, calc(-100% + var(--phone_inner_w)))); }
    100% { transform: translateX(min(0px, calc(-100% + var(--phone_inner_w)))); }
}

#phone-container #phone-content .incall #call-sumary .nocontact #call-number {
    font-size: 15px;
    line-height: 25px;
    font-weight: 600;
}

#phone-container #phone-content .incall #call-sumary .nocontact #call-number img {
    width: auto;
}

#phone-container #phone-content #call-link {
    font-size: 13px;
    cursor: pointer;
}

#call-contact {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 5px auto 0;
}

#call-contact-pp {
    width: 1rem;
    aspect-ratio: 1;
    border-radius: 8px;
    border: 1px solid currentColor;
    padding: 0.25rem;
    flex-shrink: 0;
}

#call-contact-pp:not([src]) {
    display: none;
} 

#call-contact-link:after {
    content: '';
    position: absolute;
    inset: 0;
}

#call-contact-link:not([href]) {
    display: none;
} 

#call-link:has(#call-contact-link[href]):hover #call-contact-name {
    text-decoration: underline;
}

#phone-container #phone-content #call-link {
    display: block;
    margin-top: 20px;
    min-height: 65px;
}

#phone-container #phone-content .incall #call-data {
    display: none;
    max-width: 95%;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: rgba(51, 107, 255, 0.15);
    border-radius: 10px;
    margin-top: 10px;
    width: 100%;
    max-height: 200px;
}

#phone-container #phone-content .incall #call-data .call-data-content {
    display: flex;
    justify-content: space-between;
    padding: 10px 15px 0;
    flex-wrap: wrap;
}

#phone-container #phone-content .incall #call-data .call-data-content span {
    padding-left: 15px;
    flex-grow: 1;
    text-align: right;
    max-width: 100%;
}

#phone-container #phone-content .incall #call-data .call-data-content:last-child {
    padding-bottom: 10px;
}

#phone-container #phone-content .incall #call-blank {
    flex-grow: 1;
}

#phone-container #phone-content .btn-size-dialer { 
    background: url(/img/expand.svg) no-repeat center center transparent;
    width: 28px;
    aspect-ratio: 1;
    cursor: pointer;
    position: absolute;
    top: calc(var(--phone_gutter) / 2); 
    right: calc(var(--phone_gutter) / 2);
    border-radius: 0 10px 0 10px;
    transition: 0.25s ease-in opacity;
}
#phone-container #phone-content.in .incall.incoming-call .btn-size-dialer { 
    background: url(/img/expand_real_white.svg) no-repeat center center var(--phone_blue); 
} 
#phone-container.off #phone-content .incall .btn-size-dialer {
    transform: rotate(180deg);
    background-color: var(--blue_light);
}
#phone-container.off #phone-content .offcall .btn-size-dialer {
    transform: rotate(180deg);
}

#phone-container #phone-content .btn-size-dialer:hover {
    opacity: .6;
}


#phone-container #phone-content .incall #call-button-dial {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 80px;
    padding: calc(var(--phone_gutter) / 2) var(--phone_gutter) calc(var(--phone_gutter) / 2);
    background-color: var(--phone_background);
} 

#phone-container.off #phone-content .incall #call-button-dial {
    height: 60px;
    padding-bottom: var(--phone_gutter);
}

#phone-container.off #phone-content .incall.incoming-call #call-button-dial{
    padding-right: 10px;
}

#phone-container #phone-content .incall #call-button-dial .call-button {
    height: 25px;
    width: 25px;
    border-radius: 100%;
    transition: all .2s linear;
    cursor: pointer;
    padding: 15px;
    position: relative;
}

#phone-container #phone-content .incall #call-button-dial .call-button:hover {
    opacity: .8;
}
#phone-container #phone-content .incall #call-button-dial .call-button:active {
    transform: scale(0.9);
}

#phone-container #phone-content .incall #call-button-dial #call-button-anwser {
    background-color: var(--phone_blue);
    position: relative;
}
#phone-container #phone-content .incall #call-button-dial #call-button-hangup,
#phone-container #phone-content .incall #call-button-dial #call-button-cancel,
#phone-container #phone-content .incall #call-button-dial #call-button-reject {
    background-color: var(--phone_red);
    transform: rotate(132deg);
}

#phone-container #phone-content .incall #call-button-dial #call-button-hangup:active,
#phone-container #phone-content .incall #call-button-dial #call-button-reject:active {
    transform:  scale(0.9) rotate(132deg);
}

#phone-container #phone-content .incall #call-button-dial #call-button-hangup {
    display: none;
}

#phone-container #phone-content .incall.in-call #call-button-dial #call-button-hangup {
    display: flex;
}

#phone-container #phone-content .incall #call-button-dial .call-button-incoming {
    width: 25px;
    display: none;
}
#phone-container #phone-content .incall.incoming-call #call-button-dial .call-button-incoming {
    display: flex;
}

#phone-container #phone-content .incall.incoming-call #call-button-dial .call-button-hidden {
    visibility: hidden;
}

#phone-container.off #phone-content .incall.incoming-call #call-button-dial .call-button-hidden {
    display: none;
}

#phone-container #phone-content .incall.outgoing-call #call-button-dial .call-button-cancel {
    display: flex;
}

#phone-container #phone-content .incall #call-button-dial .call-button-wave-container {
    height: 100px;
    width: 100px;
    overflow: hidden;
    z-index: 0;
    position: relative;
    justify-content: center;
    align-items: center;
    display: none;
}

#phone-container #phone-content .incall #call-button-dial .call-button-wave-container > div:hover .call-button-wave {
    display: none;
}
#phone-container #phone-content .incall #call-button-dial .call-button-wave-container .call-button-cancel-wave {
    background-color: var(--phone_red);
}
#phone-container #phone-content .incall #call-button-dial .call-button-wave-container .call-button-anwser-wave {
    background-color: var(--phone_blue);
}
#phone-container #phone-content .incall #call-button-dial .call-button-wave-container .call-button-wave {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    opacity: 0;
    z-index: -1;
    pointer-events: none;
    border-radius: 50%;

}

#phone-container #phone-content .incall #call-button-dial .call-button-wave-container .call-button-wave:first-of-type {
    animation: wave1 1s ease-in infinite;
}
#phone-container #phone-content .incall #call-button-dial .call-button-wave-container .call-button-wave:last-child {
    animation: wave2 1s ease-in infinite;
}
  
@keyframes wave1 {
    from {
        opacity: 0.6;
    }
    to {
        transform: scale(1.6);
         opacity: 0;
    }
}

@keyframes wave2 {
    from {
        opacity: 0.8;
    }
    to {
        transform: scale(1.2);
        opacity: 0;
    }
}



#phone-container #phone-content .incall #call-button-action {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px 20px 20px;
}

#phone-container #phone-content .incall .call-button-action {
    display: flex;
    width: 45px;
    height: 45px;
    background-color: var(--phone_blue);
    justify-content: center;
    align-items: center;
    box-shadow: 0px 8px 20px rgba(51, 107, 255, 0.2);
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s linear;
}

#phone-container #phone-content .incall .call-button-action svg {
    max-width: 15px;
    max-height: 15px;
    fill: white;
}

#phone-container #phone-content .incall .call-button-action.active {
    background-color: var(--phone_red);
}
#phone-container #phone-content .incall .call-button-action.disabled {
    pointer-events: none;
    cursor: not-allowed;
}

#phone-container #phone-content .incall .call-button-action.disabled svg {
    opacity: .5;
}

#phone-container #phone-content .incall .call-button-action:hover {
    opacity: .8;
}

#phone-container #phone-content .incall .call-button-action:active {
    transform: scale(.9);
}




.wifi-symbol {
    display: inline-block;
    transform: rotate(-45deg) translate(10px, -5px);
    height: 40px;
    width: 40px;
}
.wifi-symbol .wifi-circle {
    box-sizing: border-box;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    border-color: white;
    border-style: solid;
    border-width: 4px 4px 0 0;
    border-radius: 0 100% 0 0;
    opacity: 0;
    animation: wifianimation 2s infinite;
}
.wifi-symbol .wifi-circle.first {
    animation-delay: 600ms;
    width: 65%;
    height: 65%;
}
.wifi-symbol .wifi-circle.second {
    width: 45%;
    height: 45%;
    animation-delay: 300ms;
}
.wifi-symbol .wifi-circle.third {
    width: 30%;
    height: 30%;
}
.wifi-symbol .wifi-circle.fourth {
    width: 0px;
    height: 0px;
    opacity: 1;
    background-color: white;
    animation: none;
}
  
@keyframes wifianimation {
    0% {
        opacity: 0.6;
    }
}

.call-button-pulse {
    justify-content: center;
    align-items: center;
    position: relative
}

.call-button-pulse::before {
    content: "";
    position: absolute;
    border: 1px solid var(--phone_red);
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    border-radius: 50%;
    animation: pulse 3s linear infinite;
    opacity: 0;
}
.call-button-pulse:hover::before,
.call-button-pulse:hover::after {
    display: none;
}

.call-button-pulse::after {
    content: "";
    position: absolute;
    border: 1px solid var(--phone_red);
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    border-radius: 50%;
    animation: pulse 3s linear infinite;
    animation-delay: 0.75s;
    opacity: 0;
}

@keyframes pulse {
    0% {
        transform: scale(0.5);
        opacity: 0
    }

    50% {
        transform: scale(1);
        opacity: .8
    }

    100% {
        transform: scale(1.3);
        opacity: 0
    }
}
