@charset "UTF-8";

body {
  position: relative;
  overflow-x: hidden;
  touch-action: pan-y; 
}

.stars {
    position: relative;
    display: inline-block;
    font-size: 28px;   
    line-height: 1;
    letter-spacing: 0.25em; 
    font-family: Arial, sans-serif;
  }

  .stars::before {
    content: "★★★★★";
    color: #d9d9d9; 
  }

  .stars::after {
    content: "★★★★★";
    color: #f5b301; 
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    overflow: hidden;
  }

  
  .r0  .stars::after { width: 0%; }
  .r05 .stars::after { width: 10%; }
  .r10 .stars::after { width: 20%; }
  .r15 .stars::after { width: 30%; }
  .r20 .stars::after { width: 40%; }
  .r25 .stars::after { width: 50%; }
  .r30 .stars::after { width: 60%; }
  .r35 .stars::after { width: 70%; }
  .r40 .stars::after { width: 80%; }
  .r45 .stars::after { width: 90%; }
  .r50 .stars::after { width: 100%; }

  .phone_black {
    color:#000 !important;
  }

  .owl-prev span {
    padding-left: 8px;
    padding-right: 8px;
    padding-top:15px;
    padding-bottom:15px;
    background-color: #f00;
  }

  .owl-next span {
    padding-left: 8px;
    padding-right: 8px;
    padding-top:15px;
    padding-bottom:15px;
    background-color: #f00;
  }

/* CALLUUT */

div.alert.alert-primary,
div.alert.alert-primary a {
	color:#fff;
}
div.alert.alert-bordered-dashed {
	padding:30px 20px;
	border:#ccc 2px dashed;
}
div.alert.alert-bordered-dotted {
	padding:30px 20px;
	border:#ccc 2px dotted;
}
div.alert.alert-bordered {
	padding:30px 20px;
	border:#ccc 2px solid;
}
div.alert.alert-theme-color,
div.alert.alert-dark {
	color:#fff;
	background-color:#333;
	border:0;
	padding:30px 20px;
}	
	div.alert.alert-theme-color h1,
	div.alert.alert-theme-color h2,
	div.alert.alert-theme-color h3,
	div.alert.alert-theme-color h4,
	div.alert.alert-theme-color h5,
	div.alert.alert-theme-color h6,
	div.alert.alert-dark h1,
	div.alert.alert-dark h2,
	div.alert.alert-dark h3,
	div.alert.alert-dark h4,
	div.alert.alert-dark h5,
	div.alert.alert-dark h6 {
		color:#fff;
	}

	section.dark div.alert,
	section.dark div.alert h1,
	section.dark div.alert h2,
	section.dark div.alert h3,
	section.dark div.alert h4,
	section.dark div.alert h5,
	section.dark div.alert h6,
	section.dark div.alert p {
		color:#333;
	}


	section.dark div.callout.alert.alert-border,
	section.dark div.callout.alert.alert-border h1,
	section.dark div.callout.alert.alert-border h2,
	section.dark div.callout.alert.alert-border h3,
	section.dark div.callout.alert.alert-border h4,
	section.dark div.callout.alert.alert-border h5,
	section.dark div.callout.alert.alert-border h6,
	section.dark div.callout.alert.alert-border p {
		color:#fff;
	}


/* bordered top|botom */
div.alert>.container {
	margin-top:35px;
	margin-bottom:35px;
}
div.alert.bordered-bottom {
	border-bottom:rgba(0,0,0,0.1) 1px solid;
	border-left-width:0;
}
div.alert.bordered-top {
	border-top:rgba(0,0,0,0.1) 1px solid;
	border-left-width:0;
}
div.alert.bordered-bottom h4,
div.alert.bordered-top h4,
div.alert.bordered-bottom h3,
div.alert.bordered-top h3 {
	font-weight:400;
	margin:0;
}
div.alert.bordered-bottom p,
div.alert.bordered-top p,
div.alert.bordered-bottom p,
div.alert.bordered-top p {
	margin-top:0;
}

	section.dark div.alert.bordered-bottom {
		border-bottom:#666 1px solid;
	}
	section.dark div.alert.bordered-top {
		border-bottom:#666 1px solid;
	}

@media only screen and (max-width: 760px) {
	div.alert.bordered-bottom {
		text-align:center;
	}
	div.alert.bordered-bottom .btn {
		text-align:center;
		display:block;
		margin-top:35px;
	}
}
	
/* Chat */

    .chat-window {
      width: 100%;
      max-width: 100%;
      height: 100%;
      border-radius: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      background: #f8f9fa;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    }
    .chat-header {
      background: #075E54;
      color: #fff;
      padding: 10px 12px;
      display: flex;
      align-items: center;
    }
    .chat-header .avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: #25D366;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 10px;
      font-weight: 700;
    }
    .chat-header .title { font-weight: 600; }
    .chat-header .subtitle { font-size: 12px; opacity: 0.9; }
    .chat-body {
      flex: 1 1 auto;
      padding: 16px;
      background: linear-gradient(180deg,#e6f7ef 0,#ffffff 100%);
      overflow-y: auto;
    }
    .msg-wrap { display: flex; align-items: flex-end; margin-bottom: 10px; }
    .msg-avatar {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: #ddd;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      margin: 0 6px;
      flex-shrink: 0;
    }
    .msg {
      max-width: 70%;
      padding: 8px 12px;
      border-radius: 18px;
      position: relative;
      line-height: 1.3;
      font-size: 14px;
    }
    .msg .time { display:block; font-size: 10px; opacity: 0.75; margin-top:6px; }
    .msg.received { background: #fff; margin-right: auto; border-top-left-radius: 4px; box-shadow: 0 1px 0 rgba(0,0,0,0.06); }
    .msg.received:before {
      content: "";
      position: absolute;
      left: -6px;
      bottom: 0;
      width: 0; height: 0;
      border: 6px solid transparent;
      border-right-color: #fff;
      border-bottom: 0;
      margin-bottom: -2px;
    }
    .msg.sent { background: #dcf8c6; margin-left: auto; border-top-right-radius: 4px; }
    .msg.sent:before {
      content: "";
      position: absolute;
      right: -6px;
      bottom: 0;
      width: 0; height: 0;
      border: 6px solid transparent;
      border-left-color: #dcf8c6;
      border-bottom: 0;
      margin-bottom: -2px;
    }
    .chat-input {
      border-top: 1px solid rgba(0,0,0,0.08);
      padding: 10px;
      background: #fafafa;
    }
    .input-row { display:flex; align-items: center; }
    .input-row textarea {
      resize: none;
      border-radius: 18px;
      padding: 8px 12px;
      border: 1px solid rgba(0,0,0,0.08);
      flex: 1 1 auto;
      min-height: 40px;
      font-size: 14px;
    }
    .send-btn {
      margin-left: 8px;
      background: #25D366;
      color: #fff;
      border-radius: 50%;
      width: 42px; height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: none;
    }
/* Timeline */

.timeline {
      position: relative;
      padding: 20px 0;
      list-style: none;
    }
    .timeline:before {
      content: '';
      position: absolute;
      top: 40px; 
      bottom: 0;
      width: 4px;
      background: #ddd;
      left: 50%;
      margin-left: -2px;
    }
    .timeline > li {
      position: relative;
      margin-bottom: 50px;
      clear: both;
    }
    .timeline > li .timeline-step {
      position: absolute;
      top: 0;
      left: 50%;
      background: #5cb85c;
      color: #fff;
      width: 40px;
      height: 40px;
      text-align: center;
      line-height: 40px;
      font-weight: bold;
      font-size: 16px;
      z-index: 1;
      border-radius: 6px;
      transform: translateX(-50%); 
    }
    .timeline > li .timeline-panel {
      width: 45%;
      background: #fff;
      border: 1px solid #ddd;
      padding: 15px;
      border-radius: 6px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.05);
      position: relative;
    }
    .timeline > li .timeline-panel img {
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: cover;
      border-radius: 4px;
      margin-bottom: 10px;
    }
    .timeline > li:nth-child(odd) .timeline-panel {
      float: left;
      text-align: right;
    }
    .timeline > li:nth-child(even) .timeline-panel {
      float: right;
      text-align: left;
    }

    .square {
      position: relative;
      width: 100%;
      padding-bottom: 100%;
      overflow: hidden;
      border-radius: 4px;
      margin-bottom: 10px;
    }
    .square img {
      position: absolute;
      top: 0; left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    
@media (max-width: 900px) {
  .timeline {
    position: relative;
    padding-right: 100px; 
    padding-left:15px;]
  }

  .timeline:before {
    left: auto;
    right: 60px;
    z-index: 2;
  }

  .timeline > li .timeline-step {
    left: auto;
    right: -55px;
    transform: none;
    z-index: 3;
  }

  .timeline > li .timeline-panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 15px;
    float: none !important;
    text-align: left !important;
  }
}

/* Footer */
.phone-block {
  display: flex;
  align-items: flex-start;
  color: #fff;
}

.phone-icon {
  font-size: 24px;
  margin-right: 8px;
}

.phone-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  text-align: left !important;
}

.phone-text .label {
  font-weight: bold;
  font-size: 14px;
  color: #fff;
}

.phone-text .number {
  font-weight: normal;
  font-size: 10px;
  color: #fff;
}