/*------------- Connect Japan -----------
# Fonts
# Preloader
# Global Settings
# Header Navigation Styles
# Homes Banner
# General Features Design
# Inner Page Design
# Theme Footer Design
# Responsiveness Start
------------- Connect Japan ----------*/

@import url(../css/bootstrap.min.css);
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

/*------------------------------------
	Fonts
------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap');

/*----------------------------------------
 Design Tokens
------------------------------------------*/
:root, [data-bs-theme=light] {
  /* Brand colours */
  --maincolor:       #1A2A5E;   /* Deep navy — primary */
  --secondcolor:     #2F4F9F;   /* Mid blue — secondary */
  --cherrycolor:     #D2042D;   /* Cherry / alert red */
  --greencolor:      #4caf50;   /* Success green */
  --darkcolor:       #262d2f;   /* Near-black */
  --lightbluecolor:  #4A90D9;   /* Accent blue */
  --lightblue-rgb:   74,144,217;/* RGB for rgba() usage */

  /* UI surfaces */
  --bodybg:          #f5f5f5;
  --bg-warm:         #F5F7FB;   /* Alternate section bg */
  --bg-panel:        #1A2A5E;   /* Dark navy section bg */
  --bg-divider:      #E2EAF6;
  --bghijack:        #fff5ee;
  --tagbg:           #f3f6fb;
  --offwhitecolor:   #f8f9fc;
  --lightcolor:      #f8f8f8;
  --graycolor:       #f1f1f1;
  --whitecolor:      #FFF;

  /* Text */
  --bodycolor:       #333333;
  --linkcolor:       #333333;
  --paragraphcolor:  #0f161e;
  --headingcolor:    #1A2A5E;
  --tagcolor:        #6e8497;
  --darkfootercolor: #8e97a4;
  --overlaycolor:    #121615;

  /* Borders */
  --bordercolor:     #dee2e6;
  --border-light:    #D4DEEE;

  /* Footer / nav */
  --footercolor:     rgba(255,255,255,0.55);
  --footerbg:        #30363f;
  --navcolor:        #30363f;
  --darkheadercolor: #8e97a4;
  --headerdark:      #30363f;

  /* Interactive */
  --blue-dark:       #111e47;
  --accent-hover:    #2F78C5;

  /* Layout */
  --nav-h:           68px;
  --radius:          10px;
  --radius-sm:       6px;
  --shadow:          0 2px 20px rgba(26,42,94,.07);
  --shadow-lg:       0 8px 40px rgba(26,42,94,.12);
  --ease:            .22s ease;
}

.form-group {
    margin-bottom: 15px;
}
i.req {
    color: #e41515;
}
.bi{
	margin-bottom:0;
}
/*------------------------------------------------------------
	Global Settings
-------------------------------------------------------------*/
* {
  outline: none; }

/* ── Language flash prevention (applied before JS runs) ───── */
html.lang-ja [data-lang="en"] { display: none !important; }
html.lang-en [data-lang="ja"] { display: none !important; }
/* non-<a> elements: revert to browser default (inline for span, block for div, etc.) */
html.lang-ja [data-lang="ja"]:not(a) { display: revert !important; }
html.lang-en [data-lang="en"]:not(a) { display: revert !important; }
/* <a> elements (nav links): must stay inline-block so width:100% works in mobile sidebar */
html.lang-ja a[data-lang="ja"] { display: inline-block !important; }
html.lang-en a[data-lang="en"] { display: inline-block !important; }

body {
	background:var(--bodybg);
	color:var(--bodycolor);
	margin: 0;
	overflow-x: clip;
	font-weight: 400;
}
.modal-open {
    overflow: hidden !important;
	padding-right:0 !important;
}

a {
    color:var(--linkcolor);
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

a:hover,
a:focus {
  text-decoration: underline; }
.nav-link{
	color:var(--maincolor);
}
a.link {
  color:var(--maincolor);
}
a.link:hover, a.link:focus, a:hover, a:focus {
    color:var(--maincolor);
}
a.text-success:focus, a.text-success:hover {
    color:#0fca98 !important;
}
a.text-primary:focus, a.text-primary:hover {
    color:var(--maincolor) !important;
}
a.text-warning:focus, a.text-warning:hover {
    color:#ffac45 !important;
}
a.text-danger:focus, a.text-danger:hover {
    color:#e55151 !important;
}
a.white-link {
  color: #ffffff; }
 a.white-link:hover, a.white-link:focus {
    color: #263238;
}
.img-responsive {
  width: 100%;
  height: auto;
  display: inline-block; }

.img-rounded {
  border-radius: 4px; }

html body .mdi:before,
html body .mdi-set {
  line-height: initial;
}
section{
	padding:80px 0 80px;
}
section.min{
	padding:50px 0 50px;
}
section.mid{
	padding:80px 0 50px;
}
p {
    line-height:1.8;
}

.gray{
	background:#f7f9fc !important;
}
.gray-simple{
	background:#f1f5f8 !important;
}
.bg-title{
	background:#2540a2;
}
.bg-1{
	background:#f7d0cb;
}
.bg-2{
	background:#dde9ed;
}
.tbl {
    display: table;
} 
.full-height {
    height: 100%;
}
.rtl{
	position:relative;
}
.mr-2 {
    margin-right: 8px;
}
.mr-1{
    margin-right: 4.5px;
}
.alert p {
    margin: 0;
}
.table-cell {
    display: table-cell;
    vertical-align: middle;
}
.no-ul-list{
	padding:0;
}
.no-ul-list li{
	list-style:none;
}
.progress {
    margin-bottom: 1.5em;
}
.full-width{
	width:100%;
}
p, ul, ol, dl, dt, dd, blockquote, address {
    margin: 0 0 10px;
}
.owl-carousel .item {
    padding: 0 15px;
}
.shadow-0{
	box-shadow:none !important;
}
.ovr-top {
    margin-top: -60px;
    position: relative;
    z-index: 1;
}
/*------------ Global Settings: Heading-------------*/ 
h1,
h2,
h3,
h4,
h5,
h6 {
	color:var(--headingcolor);
	font-weight:700;
}

.no-wrap td,
.no-wrap th {
  white-space: nowrap;
}

.circle {
  border-radius: 100%;
}
.offcanvas-body {
    display: block !important;
}
/*------------ Global Settings: Cutom Height ----------------*/
.ht-10{
	height:10px;
}
.ht-20{
	height:20px;
}
.ht-30{
	height:30px;
}
.ht-40{
	height:40px;
}
.ht-50{
	height:50px;
}
.ht-60{
	height:60px;
}
.ht-70{
	height:70px;
}
.ht-80{
	height:80px;
}
.ht-80{
	height:80px;
}
.ht-100{
	height:100px;
}
.ht-110{
	height:110px;
}
.ht-120{
	height:120px;
}
.ht-130{
	height:130px;
}
.ht-140{
	height:140px;
}
.ht-150{
	height:150px;
}
.ht-160{
	height:160px;
}
.ht-170{
	height:170px;
}
.ht-180{
	height:180px;
}
.ht-190{
	height:190px;
}
.ht-200{
	height:200px;
}
.ht-400{
	height:400px;
}
.ht-500{
	height:500px;
}
.ht-100{
	height:100%;
	min-height:580px;
}
.h-100{
	height:100vh;
}
.h-05{
	height:0.10rem !important;		
}
.h-1{
	height:0.25rem !important;		
}
.h-2{
	height:0.5rem !important;		
}
.h-3{
	height:0.75rem !important;		
}
.h-4{
	height:1rem !important;		
}
.h-5{
	height:1.25rem !important;		
}
.h-6{
	height:1.5rem !important;		
}
.h-7{
	height:1.75rem !important;		
}
.h-8{
	height:2rem !important;		
}
.h-9{
	height:2.25rem !important;		
}
.h-10{
	height:2.5rem !important;		
}
.h-11{
	height:2.75rem !important;		
}
.h-12{
	height:3rem !important;		
}
.h-13{
	height:3.25rem !important;		
}
.h-14{
	height:3.75rem !important;		
}
.h-15{
	height:4rem !important;		
}
.h-16{
	height:4.25rem !important;		
}
.h-17{
	height:4.5rem !important;		
}
.h-18{
	height:4.75rem !important;		
}
.h-19{
	height:5rem !important;		
}
.h-20{
	height:5.25rem !important;		
}
/*------------ Global Settings: Custom Width ----------------*/
.w-1{
	width:0.25rem !important;		
}
.w-2{
	width:0.5rem !important;		
}
.w-3{
	width:0.75rem !important;		
}
.w-4{
	width:1rem !important;		
}
.w-5{
	width:1.25rem !important;		
}
.w-6{
	width:1.5rem !important;		
}
.w-7{
	width:1.75rem !important;		
}
.w-8{
	width:2rem !important;		
}
.w-9{
	width:2.25rem !important;		
}
.w-10{
	width:2.5rem !important;		
}
.w-11{
	width:2.75rem !important;		
}
.w-12{
	width:3rem !important;		
}
.w-13{
	width:3.25rem !important;		
}
.w-14{
	width:3.75rem !important;		
}
.w-15{
	width:4rem !important;		
}
.w-16{
	width:4.25rem !important;		
}
.w-17{
	width:4.5rem !important;		
}
.w-18{
	width:4.75rem !important;		
}
.w-19{
	width:5rem !important;		
}
.w-20{
	width:5.25rem !important;		
}

/*------------ Global Settings: Dot BG ----------------*/
.bg-dot {
    background-size: 0.75rem 0.75rem;
}
.bg-dot.primary {
    background-image: radial-gradient(var(--maincolor) 2px,transparent 2.5px);
}
.bg-dot.blue {
    background-image: radial-gradient(var(--maincolor) 2px,transparent 2.5px);
}
.bg-dot.success {
    background-image: radial-gradient(var(--maincolor) 2px,transparent 2.5px);
}
.bg-dot.yellow {
    background-image: radial-gradient(#fab758 2px,transparent 2.5px);
}
.bg-dot.danger {
    background-image: radial-gradient(#a70a29 2px,transparent 2.5px);
}
.bg-dot.info {
    background-image: radial-gradient(#008aff 2px,transparent 2.5px);
}
.bg-dot.purple {
    background-image: radial-gradient(#6363f5 2px,transparent 2.5px);
}
.bg-dot.light {
    background-image: radial-gradient(#f1f5f8 2px,transparent 2.5px);
}

.bg-line.blue {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,var(--maincolor) 1.6px,var(--maincolor) 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}
.bg-line.primary {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,var(--maincolor) 1.6px,var(--maincolor) 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}
.bg-line.yellow {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,#fab758 1.6px,#fab758 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}
.bg-line.success {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,var(--maincolor) 1.6px,var(--maincolor) 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}
.bg-line.danger {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,#a70a29 1.6px,#a70a29 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}
.bg-line.purple {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,#6363f5 1.6px,#6363f5 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}
.bg-line.light {
    background: repeating-linear-gradient(-55deg,rgba(255,255,255,0) 0.8px,#f1f5f8 1.6px,#f1f5f8 3px,rgba(255,255,255,0) 3.8px,rgba(255,255,255,0) 10px);
}

/*------------ Global Settings: Typography ----------------*/
.animate-bounce {
    animation: bounce 2s infinite;
}
.animate-leftright {
    animation: leftright 2s infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

@keyframes leftright {
  0%, 100% {
    transform: translatex(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translatex(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

/*------------ Global Settings: Typography ----------------*/
.type--fade {
  opacity: .5;
}
.font--uppercase {
  text-transform: uppercase;
}
.fw-medium {
  font-weight:500;
}
.font--bold {
  font-weight:600;
}
.font--extrabold {
  font-weight:700;
}
.font--italic {
  font-style: italic;
}
.card {
    border: none;
    overflow: hidden;
    background: #ffffff;
}
.card-header {
    background: #ffffff;
    padding: 0.8rem 1rem;
    border-color: #e2e8ec;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*------------ Global Settings: Cutom Avatar ----------------*/
.avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: -.01rem;
    border-radius: 100%;
    height: auto;
}

/*------------ Global Settings: Social Links Colors ----------------*/
.btn--linkedin {
  background:#1685b9 !important;
  border:1px solid #1685b9 !important;
  color: #fff !important;
}
.btn--linkedin:hover, .btn--linkedin:focus, .btn--linkedin:active {
  background:#004182 !important;
  border:1px solid #004182 !important;
  color: #ffffff !important;
  text-decoration: none;
}
.btn--google{
	background:#EEEEEE;
	border-color:#EEEEEE;
	color:var(--darkcolor);
}
.btn--google:hover, .btn--google:focus, .btn--google:active, .btn--google:focus-visible{
	background: #d7d7d7 !important;
	border-color: #d7d7d7 !important;
	color: var(--darkcolor) !important;
    text-decoration: none;
}
.height-100, .height-90, .height-80, .height-70, .height-60, .height-50, .height-40, .height-30, .height-20, .height-10 {
    height: auto;
    padding: 5em 0;
}

/*------------ Global Settings: Background & Image ----------------*/
.bg-img-holder {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  background-size: cover !important;
  background-position: 50% 50% !important;
  z-index: 0;
  transition: opacity .3s linear;
  -webkit-transition: opacity .3s linear;
  opacity: 0;
  background: #252525;
}
.bg-img-holder:not([class*='col-']) {
  width: 100%;
}
.bg-img-holder.background--bottom {
  background-position: 50% 100% !important;
}
.bg-img-holder.background--top {
  background-position: 50% 0% !important;
}
.image--light .bg-img-holder {
  background: none;
}
.bg-img-holder img {
  display: none;
}
.imagebg.border--round {
    overflow: hidden;
}
/*------------ Global Settings: Spinner ----------------*/

@keyframes spinner-border {
  to { transform: rotate(360deg); }
}

.spinner-border {
    display: inline-block;
    width: 30px;
    height: 30px;
    vertical-align: text-bottom;
    border: 3px solid;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border .75s linear infinite;
}

.spinner-border-sm {
  width: $spinner-width-sm;
  height: $spinner-height-sm;
  border-width: $spinner-border-width-sm;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
}

.spinner-grow {
  display: inline-block;
  width:30px;
  height:30px;
  vertical-align: text-bottom;
  background-color:#ffffff;
  border-radius: 50%;
  opacity: 0;
  animation: spinner-grow .75s linear infinite;
}

.spinner-grow-sm {
  width:30px;
  height:30px;
}

/*------------ Global Settings: BG Cover -------------*/
.object-fit{
    object-fit: cover;
}
.bg-cover{
    background-size: cover !important;
    background-position: center !important;
}	
.image-bg{
    background-size: cover !important;
    background-position: center !important;
}
.default-bg{
	background-size:initial !important;
    background-position:initial !important;
}
.image-bg-wrap {
    background-size: cover !important;
    background-position: center !important;
    position: relative;
}
.image-bg-wrap:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #182538;
    display: block;
    content: "";
    opacity: 0.8;
}

/*-------------- Global Settings: Thumb size ----------------*/
.thumb-sm {
  height: 32px;
  width: 32px;
}

.thumb-md {
  height: 48px;
  width: 48px;
}

.thumb-lg {
  height: 88px;
  width: 88px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.square--20{
	width:20px;
	height:20px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--30{
	width:30px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--40{
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--50{
	width:50px;
	height:50px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--60{
	width:60px;
	height:60px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--70{
	width:70px;
	height:70px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--80{
	width:80px;
	height:80px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--90{
	width:90px;
	height:90px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.square--100{
	width:100px;
	height:100px;
	display:flex;
	align-items:center;
	justify-content:center;
}
.hide {
  display: none;
}

/*-------------- Global Settings: Text Colors ----------------*/
.fill-white {
  fill:#ffffff !important;
}
.fill-main {
  fill:var(--maincolor) !important;
}
.text-main {
  color:var(--maincolor) !important;
}
.text-white {
  color:#ffffff !important;
}
.text-red {
  color:var(--cherrycolor) !important;
}
.text-green {
  color:var(--greencolor) !important;
}
.text-secondcolor {
  color:var(--secondcolor) !important;
}
.text-dark {
  color:var(--darkcolor) !important; 
}
.text-muted {
  color:color-mix(in srgb, var(--paragraphcolor), transparent 35%) !important;
}
.text-sm-muted{
	color:color-mix(in srgb, var(--paragraphcolor), transparent 35%);
}
/*-------------- Global Settings: Alerts & Notification --------------*/
.alert-main {
    color:var(--maincolor);
    background-color:color-mix(in srgb, var(--maincolor), transparent 90%);
    border-color:color-mix(in srgb, var(--maincolor), transparent 80%);
}
.alert-red {
    color:var(--cherrycolor);
    background-color:color-mix(in srgb, var(--cherrycolor), transparent 90%);
    border-color:color-mix(in srgb, var(--cherrycolor), transparent 80%);
}
.alert-green {
    color:var(--greencolor);
    background-color:color-mix(in srgb, var(--greencolor), transparent 90%);
    border-color:color-mix(in srgb, var(--greencolor), transparent 80%);
}
.alert-light {
    color:color-mix(in srgb, var(--darkcolor), transparent 50%);
    background-color:color-mix(in srgb, var(--lightcolor), transparent 10%);
    border-color:var(--lightcolor);
}
.alert-secondcolor {
	color:var(--secondcolor);
    background-color:color-mix(in srgb, var(--secondcolor), transparent 90%);
    border-color:color-mix(in srgb, var(--secondcolor), transparent 80%);
}
.alert-dark {
    color:#ffffff;
    background-color:var(--darkcolor);
    border-color:var(--darkcolor);
}
/*-------------- Global Settings: Background Colors ----------------*/
.bg-main {
  background-color:var(--maincolor) !important;
}
.bg-green {
  background-color:var(--greencolor) !important;
}
.bg-red {
  background-color:var(--cherrycolor) !important;
}
.bg-light {
  background-color:var(--lightcolor) !important;
}
.bg-dark {
  background-color:var(--darkcolor) !important;
}
.bg-red {
  background-color:var(--cherrycolor) !important;
}
.bg-second {
  background-color:var(--secondcolor) !important;
}
.bg-bghijack {
  background-color:var(--bghijack) !important;
}
.bg-white{
	background-color:#ffffff !important;
}
.bg-body{
	background-color:var(--bodybg) !important;
}
.bg-light-main {
  background-color:color-mix(in srgb, var(--maincolor), transparent 90%) !important;
}
.bg-light-green {
  background-color:color-mix(in srgb, var(--greencolor), transparent 90%) !important;
}
.bg-light-red {
  background-color:color-mix(in srgb, var(--cherrycolor), transparent 90%) !important;
}
.bg-light-dark {
  background-color:rgba(0, 0, 0, 0.06) !important;
}
.bg-transparent {
  background-color:rgba(255,255,255,0.04) !important;
}
.bg-opacity-05 {
    --bs-bg-opacity: 0.1;
}
/*----------- Global Settings: Simple List -----------*/
ul.simple-list li, ul.colored-list li {
    list-style: disc;
	position: relative;
    padding: 0.25rem 0rem;
}
ul.simple-list li::marker {
    color: var(--maincolor);
}
/*-------------- Global Settings: Labels ----------------*/
.label {
  padding:4px 15px;
  color: #ffffff;
  font-weight:500;
  border-radius: 4px;
}
.label-primary {
  background-color:var(--maincolor);
}
.label-success {
  background-color:#009868;
}
.label-info {
  background-color:#008aff;
}
.label-warning {
  background-color:#ffa410;
}
.label-danger {
  background-color:#a70a29;
}
.label-royal {
  background-color:#073aa8;
}
.label-purple {
  background-color:#6363f5;
}
.label-orange {
  background-color:#e95f33;
}
.label-seegreen {
  background-color:#0a5f59;
}
.label-dark {
  background-color:#041b2d;
}
.label-inverse {
  background-color:#3e4555;
}
.label-white {
  background-color:#ffffff;
}
.label-light-primary {
  background-color:rgba(2, 100, 214, 0.12);
  color:var(--maincolor);
}
.label-light-success {
  background-color:rgba(0, 152, 104,0.12);
  color:#009868;
}
.label-light-info {
  background-color:rgba(0, 138, 255, 0.12);
  color:#008aff;.
}
.label-light-warning {
  background-color:rgba(255, 164, 16, 0.12);
  color:#ffa410;
}
.label-light-danger {
  background-color:rgba(167, 10, 41,0.12);
  color:#a70a29;
}
.label-light-royal {
  background-color:rgba(7, 58, 168, 0.12);
  color:#073aa8;
}
.label-light-purple {
  background-color:rgba(99, 99, 245, 0.12);
  color:#6363f5;
}
.label-light-orange {
  background-color:rgba(233, 95, 51, 0.12);
  color:#e95f33;
}
.label-light-seegreen {
  background-color:rgba(10, 95, 89, 0.12);
  color:#0a5f59;
}
.label-light-dark {
  background-color:rgba(4, 27, 45, 0.12);
  color:#041b2d;
}
.label-light-inverse {
  background-color:rgba(62,69,85,0.1);
  color:#3e4555;
}

/*------------ Global Settings: Table ------------*/
.table thead th {
    vertical-align: bottom;
    border-bottom: 1px solid transparent;
    border-top: 0px !important;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color:#f7f9fb;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
    border-top: 1px solid var(--bordercolor);
    border-bottom: none;
}
.table tr th, .table tr td {
    border-color: var(--bordercolor);
    padding: 12px 15px;
    vertical-align: middle;
}
.table.tbl-big tr th, .table.tbl-big tr td {
    padding:20px 15px;
}
.table.tbl-big.center tr th, .table.tbl-big.center tr td {
    padding:20px 15px;
	text-align:center;
}
table.table tr th {
    font-weight: 600;
}
.table-dark {
    color: #fff;
    background-color: var(--darkcolor);
}
.table-dark td, .table-dark th, .table-dark thead th {
    border-color:var(--darkcolor) !important;
}
.table .thead-dark th {
    color: #fff;
    background-color:var(--darkcolor);
    border-color:var(--darkcolor);
}
/*------------- Global Settings: Badge ----------------*/
.badge {
    padding: 8px 12px;
	font-weight: 400;
}

.badge.badge-md {
	font-weight: 400;
}

.badge.badge-lg {
  font-weight: 400;
}

.badge-xs,
.badge-sm {
  -webkit-transform: translate(0, -2px);
  -ms-transform: translate(0, -2px);
  -o-transform: translate(0, -2px);
  transform: translate(0, -2px); }

.badge-success {
  background-color:#009868;
}
.badge-info {
  background-color:#008aff;
}
.badge-main {
  background-color:var(--maincolor);
}
.badge-green {
  background-color:var(--greencolor);
}
.badge-danger {
  background-color:#a70a29;
}
.badge-red {
  background-color:var(--cherrycolor);
}
.badge-dark {
  background-color:var(--darkcolor);
}
.badge-tag{
	background:var(--tagbg);
	color:var(--tagcolor);
}
.badge-tag:hover, .badge-tag:focus, .badge-tag:focus-visible,.badge-tag.active{
	background:color-mix(in srgb, var(--maincolor), transparent 90%);
	color:var(--maincolor);
	cursor:pointer;
}
.badge-maintag{
	background:color-mix(in srgb, var(--maincolor), transparent 90%);
	color:var(--maincolor);
}
.badge-maintag:hover, .badge-maintag:focus, .badge-tag:focus-visible,.badge-maintag.active{
	background:var(--maincolor);
	color:#ffffff;
	cursor:pointer;
}

/*------------- Global Settings: dropdown ----------------*/
.dropdown-item {
  padding: 8px 1rem;
  color:#607394;
}

/*------------- Global Settings: Buttons ----------------*/
.btn {
	padding: 10px 22px;
	font-size: 0.9375rem;
	line-height: 1.5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	-webkit-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	transition: all ease 0.4s;
	border-radius: 0rem;
}

.btn:focus, .btn:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
}
.btn-lg {
	font-size: 1.0625rem;
	padding: 12px 28px;
}
.btn-md {
	font-size: 0.875rem;
	padding: 8px 18px;
}
.btn-sm {
	font-size: 0.8125rem;
	padding: 5px 12px;
}

.btn-xs {
	font-size: 0.75rem;
	padding: 3px 10px;
}

.btn-rounded {
  border-radius:50px !important;
  -webkit-border-radius:50px !important;
}

.btn-arrow {
  position: relative;
}

.btn-main{
	background:var(--maincolor);
	border-color:var(--maincolor);
	color:#ffffff;
}
.btn-main:hover, .btn-main:focus, .btn-main:active, .btn-main:focus-visible{
	background:color-mix(in srgb, var(--maincolor), transparent 15%) !important;
	border-color:color-mix(in srgb, var(--maincolor), transparent 15%) !important;
	color:#ffffff !important;
}
.btn-main:disabled, .btn-main.disabled{
	background:var(--maincolor) !important;
	border-color:var(--maincolor) !important;
	color:#ffffff !important;
	opacity:0.55;
	cursor:not-allowed;
}
.btn-outline-main{
	background:transparent;
	border-color:var(--maincolor);
	color:var(--maincolor);
}
.btn-outline-main:hover, .btn-outline-main:focus, .btn-outline-main:active, .btn-outline-main:focus-visible{
	background:var(--maincolor) !important;
	border-color:var(--maincolor) !important;
	color:#ffffff !important;
}
.btn-light-main{
	background:color-mix(in srgb, var(--maincolor), transparent 90%);
	border-color:color-mix(in srgb, var(--maincolor), transparent 85%);
	color:var(--maincolor);
}
.btn-light-main:hover, .btn-light-main:focus, .btn-light-main:active .btn-light-main:focus-visible{
	background:var(--maincolor) !important;
	border-color:var(--maincolor) !important;
	color:#ffffff !important;
}

.btn-green{
	background:var(--greencolor);
	border-color:var(--greencolor);
	color:#ffffff;
}
.btn-green:hover, .btn-green:focus, .btn-green:active, .btn-green:focus-visible{
	background:color-mix(in srgb, var(--greencolor), transparent 15%) !important;
	border-color:color-mix(in srgb, var(--greencolor), transparent 15%) !important;
	color:#ffffff !important;
}
.btn-outline-green{
	background:transparent;
	border-color:var(--greencolor);
	color:var(--greencolor);
}
.btn-outline-green:hover, .btn-outline-green:focus, .btn-outline-green:active, .btn-outline-green:focus-visible{
	background:var(--greencolor) !important;
	border-color:var(--greencolor) !important;
	color:#ffffff !important;
}
.btn-light-green{
	background:color-mix(in srgb, var(--greencolor), transparent 90%);
	border-color:color-mix(in srgb, var(--greencolor), transparent 85%);
	color:var(--greencolor);
}
.btn-light-green:hover, .btn-light-green:focus, .btn-light-green:active .btn-light-green:focus-visible{
	background:var(--greencolor) !important;
	border-color:var(--greencolor) !important;
	color:#ffffff !important;
}

.btn-cherry{
	background:var(--cherrycolor);
	border-color:var(--cherrycolor);
	color:#ffffff;
}
.btn-cherry:hover, .btn-cherry:focus, .btn-cherry:active, .btn-cherry:focus-visible{
	background:color-mix(in srgb, var(--cherrycolor), transparent 15%) !important;
	border-color:color-mix(in srgb, var(--cherrycolor), transparent 15%) !important;
	color:#ffffff !important;
}
.btn-outline-red{
	background:transparent;
	border-color:var(--cherrycolor);
	color:var(--cherrycolor);
}
.btn-outline-red:hover, .btn-outline-red:focus, .btn-outline-red:active, .btn-outline-red:focus-visible{
	background:var(--cherrycolor) !important;
	border-color:var(--cherrycolor) !important;
	color:#ffffff !important;
}
.btn-light-red{
	background:color-mix(in srgb, var(--cherrycolor), transparent 90%);
	border-color:color-mix(in srgb, var(--cherrycolor), transparent 85%);
	color:var(--cherrycolor);
}
.btn-light-red:hover, .btn-light-red:focus, .btn-light-red:active .btn-light-red:focus-visible{
	background:var(--cherrycolor) !important;
	border-color:var(--cherrycolor) !important;
	color:#ffffff !important;
}

.btn-dark{
	background:var(--darkcolor);
	border-color:var(--darkcolor);
	color:#ffffff;
}
.btn-dark:hover, .btn-dark:focus, .btn-dark:active, .btn-dark:focus-visible{
	background:color-mix(in srgb, var(--darkcolor), transparent 15%) !important;
	border-color:color-mix(in srgb, var(--darkcolor), transparent 15%) !important;
	color:#ffffff !important;
}
.btn-outline-dark{
	background:transparent;
	border-color:var(--darkcolor);
	color:var(--darkcolor);
}
.btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark:active, .btn-outline-dark:focus-visible{
	background:var(--darkcolor) !important;
	border-color:var(--darkcolor) !important;
	color:#ffffff !important;
}
.btn-light-dark{
	background:color-mix(in srgb, var(--darkcolor), transparent 90%);
	border-color:color-mix(in srgb, var(--darkcolor), transparent 85%);
	color:var(--darkcolor);
}
.btn-light-dark:hover, .btn-light-dark:focus, .btn-light-dark:active .btn-light-dark:focus-visible{
	background:var(--darkcolor) !important;
	border-color:var(--darkcolor) !important;
	color:#ffffff !important;
}

.btn-second{
	background:var(--secondcolor);
	border-color:var(--secondcolor);
	color:#ffffff;
}
.btn-second:hover, .btn-second:focus, .btn-second:active, .btn-second:focus-visible{
	background:color-mix(in srgb, var(--secondcolor), transparent 15%) !important;
	border-color:color-mix(in srgb, var(--secondcolor), transparent 15%) !important;
	color:#ffffff !important;
}
.btn-outline-second{
	background:transparent;
	border-color:var(--secondcolor);
	color:var(--secondcolor);
}
.btn-outline-second:hover, .btn-outline-second:focus, .btn-outline-second:active, .btn-outline-second:focus-visible{
	background:var(--secondcolor) !important;
	border-color:var(--secondcolor) !important;
	color:#ffffff !important;
}
.btn-light-second{
	background:color-mix(in srgb, var(--secondcolor), transparent 90%);
	border-color:color-mix(in srgb, var(--secondcolor), transparent 85%);
	color:var(--secondcolor);
}
.btn-light-second:hover, .btn-light-second:focus, .btn-light-second:active .btn-light-second:focus-visible{
	background:var(--secondcolor) !important;
	border-color:var(--secondcolor) !important;
	color:#ffffff !important;
}
.btn-outline-gray{
	background:transparent;
	border-color:var(--graycolor);
	color:var(--secondcolor);
}
.btn-outline-gray:hover, .btn-outline-gray:focus, .btn-outline-gray:active, .btn-outline-gray:focus-visible{
	background:transparent !important;
	border-color:var(--maincolor) !important;
	color:var(--maincolor) !important;
}
.btn-whites{
	background:#ffffff;
	border-color:#ffffff;
	color:var(--darkcolor);
}
.btn-whites:hover, .btn-whites:focus, .btn-whites:active, .btn-whites:focus-visible{
	background:var(--darkcolor) !important;
	border-color:var(--darkcolor) !important;
	color:#ffffff !important;
}
.filter-content .sing-btn-groups .btn-outline-main {
    background: transparent;
    border-color: var(--bordercolor);
    color: var(--paragraphcolor);
}

.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
    background-color: var(--maincolor);
    color: #fff;
    border-color: var(--maincolor);
}
/*----------- Global Settings: Video ------------------*/
.cover .video-block:not(:first-child):not(:last-child) {
    margin: 2.77em 0;
}
.video-play-icon {
    width:6.42857143em;
    height:6.42857143em;
    border-radius: 50%;
    position: relative;
    z-index:2;
    display: inline-block;
    border: 2px solid #ffffff;
    cursor: pointer;
	line-height:6em;
    background: #ffffff;
	box-shadow:0px 0px 0px 15px rgba(255,255,255,0.2);
	-webkit-box-shadow:0px 0px 0px 15px rgba(255,255,255,0.2);
}
.video-play-icon a {
	color:var(--maincolor);
}
/*----------- Global Settings: Pagination ------------------*/
.pagination {
    display: table;
    padding-left: 0;
    border-radius: 0rem;
}
.pagination.pagination-bottom {
    margin:20px auto 0 !important;
}

.pagination>li>a,
.pagination>li>a, .pagination>li>span {
    position: relative;
    float: left;
    padding: 0;
    margin: 5px;
    color: #0c3966;
    text-decoration: none;
    background-color:var(--whitecolor);
    border-radius: 2px;
    width: 37px;
    height: 37px;
    text-align: center;
    line-height: 1;
    border:none;
    -webkit-box-shadow:none;
    box-shadow:none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover,
.pagination>li>a:focus,
.pagination>li>a:hover {
    z-index: 2;
    color:#ffffff;
    cursor: pointer;
    background-color:var(--maincolor);
    border-color:none;
}

.pagination li:first-child a {
    background:transparent;
    border:none;
    border-radius:2px;
    color:#0c3966;
}

.pagination li:last-child a {
    background:transparent;
    border:none;
    border-radius:2px;
    color:#0c3966;
}
.pagination>li {
    display: inline;
}
.page-item.active .page-link {
    z-index: 2;
    color: #fff;
    background-color:var(--maincolor);
    border-color:none;
    border-radius: 0rem;
}

/*---------- Global Settings: Section Heading Style ---------*/
.sec-heading {
	margin-bottom:2rem;
}
.sec-heading.lg {
	margin-bottom:30px;
}
.sec-heading.center {
	text-align:center;
}
.sec-heading.light h2, .sec-heading.light p{
	color:#ffffff;
}
.sec-heading p{
	margin-bottom:5px;
	line-height:1.7;
}
.sec-heading2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/*------------ Global Settings: All Forms Style ---------------*/
.form-control {
    height:56px;
    box-shadow: none;
    border:1px solid #e7edf1;
	background-clip: initial;
    border-radius: 0rem;
}

.form-control.xs{
	height:30px;
}
.form-control.sm{
	height:35px;
}
.form-control.md{
	height:45px;
}
.form-control.lg{
	height:62px;
}
.hero-search-content.verticle-space .form-group {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}
.image-bg .form-control, .bg--dark .form-control {
	color:#495057 !important;
}
.form-group label{
	margin-bottom:4px;
	font-weight:500;
}
textarea.form-control{
	height:150px;
}
.tip-topdata {
    position: relative;
    color: #fff;
    text-decoration: none;
    width: 15px;
    height: 15px;
    display: inline-block;
    background: #394d8c;
    border-radius: 50%;
    text-align: center;
    line-height: 19px;
    margin-left: 5px;
}
.tip-topdata:before {
    content: attr(data-tip);
    font-weight: bold;
    position: absolute;
    z-index: 999;
    white-space: nowrap;
    bottom: 9999px;
    left: 0;
    background:#394d8c;
    color: #ffffff;
    padding: 7px 15px;
    line-height: 25px;
    border-radius: 3px;
    top: -42px;
    opacity: 0;
    -webkit-transition: opacity 0.4s ease-out;
    -moz-transition: opacity 0.4s ease-out;
    -o-transition: opacity 0.4s ease-out;
    transition: opacity 0.4s ease-out;
    text-shadow: none;
    display: inline-table;
}

.tip-topdata:hover:before {
opacity: 1;
}
.form-submit .select2-container--default .select2-selection--single {
    background-color: #f9fafc;
    border-radius: 0;
    border: none;
    height: 56px;
    border: 1px solid #ebedf5;
    border-radius: 4px;
    padding-left: 15px;
}
.form-submit .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 55px;
}
.nice-select.select-normal {
    height: 52px;
	width:100%;
    line-height: 50px;
}
.nice-select {
    padding-left: 12px;
    width: 100%;
    float: initial;
    height: 56px;
    line-height: 56px;
    padding-top:0rem;
	padding-bottom:0rem;
    border-radius:0rem;
}
.small .nice-select {
    height:44px;
    line-height:44px;
}
.nice-select:after {
    top: 50%;
}
.nice-select .option {
    line-height: 50px;
}
.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
    background-color: #00af70;
    color: #ffffff;
}
.form-control:hover, .form-control:focus{
	box-shadow:none !important;
}
.escolls{
    top: -9px;
}
.filedrop_box {
  margin:35px 0 0;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 3px dotted #d9e0e7;
  border-radius:0.5rem;
}
.filedrop_box h4 {
    font-weight: 500;
    color: #2b3744;
}
.filedrop_box p {
  margin-top: 10px;
  margin-bottom: 20px;
  color: #a3a3a3;
}
.form-check {
    padding-left: 1.8em;
}
.form-check .form-check-input {
    margin-left: -1.8em;
}
.form-check-input {
    width: 1.2em;
    height: 1.2em;
    border-color:var(--maincolor);
}
.form-check-input:checked {
    background-color:var(--maincolor);
}
.form-check-input[type=checkbox] {
    border-radius: 0rem;
}
/*----------- Select2 Design --*/
.select2-container--default .select2-selection--single {
    height: 56px;
    border-color: var(--bordercolor);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bodycolor);
    line-height: 56px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--maincolor);
    color: white;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: color-mix(in srgb, var(--maincolor), transparent 90%);
    color: var(--maincolor);
}
.select2-dropdown {
    border-color: var(--bordercolor);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 54px;
}
/**************************************
	Header Navigation Styles
***************************************/
.topbar{
	background:var(--secondcolor);
	height: 42px;
    padding: 0;
    font-weight: 500;
    transition: all 0.5s;
}
.topbar .social-links {
    padding: 0;
    margin: 0;
}
.topbar .social-links ul{
	padding:0;
	margin:0;
}
.topbar .social-links ul{
	display:inline-block;
	list-style:none;
}
.topbar .social-links a {
    color: rgba(255, 255, 255, 0.6);
    transition: all ease 0.4s;
}
.topbar .social-links a:hover, .topbar .social-links a:focus {
    color: rgba(255, 255, 255, 1);
}
.nav-brand,
.nav-brand:focus,
.nav-brand:hover,
.nav-menu>li>a {
    color:var(--navcolor);
}

.menu__list,
.nav-dropdown,
.nav-menu,
ul {
    list-style: none;
}

.menu__link,
.navigation,
.navigation * {
    -webkit-tap-highlight-color: transparent;
}

.navigation,
.navigation * {
    box-sizing: border-box;
}

.navigation {
    width: 100%;
    display: table;
    position: relative;
}

.nav-toggle,
.navigation-hidden .nav-header {
    display: none;
}

.navigation-portrait {
    height: 48px;
}

.navigation-fixed {
    position: fixed;
    top: 0;
    left: 0;
}

.navigation-hidden {
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.align-to-right {
    float: right;
}

.nav-header {
    float: left;
}

.nav-brand {
    padding:0px 15px 0px 0;
	margin-right: 1rem;
	margin-top: 4px;
    text-decoration: none !important;
}

.deatils ul li a,
.indicate a,
.logo h1 a,
.nav-button,
.nav-dropdown>li>a,
.nav-menu>li>a,
nav a {
    text-decoration: none;
}

.navigation-portrait .nav-brand {
    line-height: 34px;
}

.nav-logo>img {
    height: 48px;
    margin: 11px auto;
    padding: 0 15px;
    float: left;
}

.nav-logo:focus>img {
    outline: initial;
}

.deatils ul li a,
.indicate a,
.menu__link:focus,
.menu__link:hover,
nav a,
nav a:focus,
nav a:hover {
    outline: 0;
}

.navigation-portrait .nav-logo>img {
    height: 36px;
    margin: 6px auto 6px 15px;
    padding: 0;
}

.nav-toggle {
    width: 30px;
    height: 30px;
    padding: 6px 2px 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    cursor: pointer;
}

.nav-toggle:before {
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: var(--secondcolor);
    border-radius: 10px;
    box-shadow: 0 .5em 0 0 var(--maincolor), 0 1em 0 0 var(--maincolor);
}

.navigation-portrait .nav-toggle {
    display: block;
}

.navigation-portrait .nav-menus-wrapper {
    width: 320px;
    height: 100%;
    top: 0;
    left: -400px;
    position: fixed;
    background-color:var(--headerdark);
    z-index: 20000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition-duration: .8s;
    transition-timing-function: ease;
}

.navigation-portrait .nav-menus-wrapper.nav-menus-wrapper-right {
    left: auto;
    right: -400px;
}

.nav-menus-wrapper.nav-menus-wrapper-open {
    left: 0;
}

.nav-menus-wrapper.nav-menus-wrapper-right.nav-menus-wrapper-open {
    right: 0;
}
.nav-menus-wrapper-close-button {
    width: auto;
    height: auto;
    margin: 10px 7px;
    display: none;
    float: right;
    color: #ffffff;
    cursor: pointer;
    background: rgba(255,255,255,0.12);
    padding: 10px 12px;
    border-radius: 0.2rem;
    text-align: center;
    line-height: 1;
    color: #ffffff;
}

.navigation-portrait .nav-menus-wrapper-close-button {
    display: block;
}

.nav-menu {
    margin: 0;
    padding: 0;
    line-height: normal;
}
.nav-menu.nav-menu-social {
	display: inline-flex;
    align-items: center;
}
.navigation-portrait .nav-menu {
    width: 100%;
}

.navigation-landscape .nav-menu.nav-menu-centered {
    float: none;
    text-align: center;
}

.nav-menu>li {
    display: inline-block;
    float: left;
    text-align: left;
}

.navigation-portrait .nav-menu>li {
    width: 100%;
    position: relative;
    border-top: solid 1px rgba(255,255,255,0.15);
}

.navigation-portrait .nav-menu>li:last-child {
    border-bottom:solid 1px rgba(255,255,255,0.15);
}

.nav-menu+.nav-menu>li:first-child {
    border-top: none;
}

.navigation-landscape .nav-menu.nav-menu-centered>li {
    float: none;
}

.nav-menu>li>a {
    padding: 14px 12px;
    display: inline-block;
    transition: color .3s, background .3s;
    font-weight: 500;
    letter-spacing: 0.2px;
    text-transform: capitalize;
}
.nav-menu.nav-menu-social li a {
    color: var(--navcolor);
}
.navigation-portrait .nav-menu>li>a {
    height: auto;
    width: 100%;
    padding: 12px 15px 12px 26px;
    color: #ffffff;
}

.nav-menu>.active>a,
.nav-menu>.focus>a,
.nav-menu>li:hover>a {
    color:var(--maincolor) !important;
}

.nav-menu>li>a>[class*=ion-],
.nav-menu>li>a>i {
    width: 18px;
    height: 18px;
    line-height: 19px;
    -ms-transform: scale(1.4);
    transform: scale(1.4);
}

.nav-menu>li>a>[class*=ion-] {
    width: 16px;
    display: inline-block;
    transform: scale(1.8);
}

.navigation-portrait .nav-menu.nav-menu-social {
    width: 100%;
    text-align: center;
}

.nav-menu.nav-menu-social>li {
    text-align: center;
    float: none;
    border: none !important;
}

.navigation-portrait .nav-menu.nav-menu-social>li {
    width: auto;
}

.navigation-portrait .nav-menu.nav-menu-social>li>a {
    padding: 15px;
}

.submenu-indicator {
    margin-left: 6px;
    margin-top:6px;
    float: right;
    transition: all .3s;
}

.navigation-portrait .submenu-indicator {
    width:100%;
    height: 44px;
    margin-top: 0;
    position: absolute;
    text-align: center;
    z-index: 20000;
}

.submenu-indicator-chevron {
    height: 6px;
    width: 6px;
    display: block;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: transparent var(--darkheadercolor) var(--darkheadercolor) transparent;
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: border .3s;
}

.navigation-portrait .submenu-indicator-chevron {
    position: absolute;
    top: 18px;
    right: 24px;
}

.nav-menu>.active>a .submenu-indicator-chevron,
.nav-menu>.focus>a .submenu-indicator-chevron,
.nav-menu>li:hover>a .submenu-indicator-chevron {
    border-color: transparent #0fca98 #0fca98 transparent;
}

.navigation-portrait .submenu-indicator.submenu-indicator-up {
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}
.navigation-portrait .submenu-indicator.submenu-indicator-up .submenu-indicator-chevron {
	-ms-transform: rotate(225deg);
    transform: rotate(225deg);
}
.navigation-portrait .submenu-indicator.submenu-indicator-up
.nav-overlay-panel {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    display: none;
    z-index: 19999;
}

.no-scroll {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.nav-text {
    margin: 25px 15px;
    color: #70798b;
}

.navigation-portrait .nav-text {
    width: calc(100% - 52px);
    margin: 12px 26px 0;
}

.navigation-portrait .nav-text+ul {
    margin-top: 15px;
}

.nav-dropdown {
    min-width:250px;
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    z-index: 98;
    white-space: nowrap;
}

.navigation-portrait .nav-dropdown {
    width: 100%;
    position: static;
    left: 0;
    background: transparent !important;
}
.nav-dropdown .nav-dropdown {
    left: 100%;
}

.nav-menu>li .nav-dropdown {
    border: none;
	padding:15px;
	background:#ffffff;
    box-shadow: 0px 0px 2px 0px rgba(32, 32, 32, 0.15);
	-webkit-box-shadow: 0px 0px 2px 0px rgba(32, 32, 32, 0.15);
    border-radius: 0.4rem;
}

.nav-dropdown>li {
    width: 100%;
    float: left;
    clear: both;
    position: relative;
    text-align: left;
}

.nav-dropdown>li>a {
    width: 100%;
    padding: 14px 20px 14px 10px;
    border-bottom: 1px solid var(--bordercolor);
    display: inline-block;
    float: left;
    color:var(--navcolor);
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    font-weight: 500;
}
.nav-dropdown>li>a .new-update {
    position: relative;
    font-weight: 500;
    background:#ff5722;
    color: #ffffff;
    padding: 2px 10px;
    border-radius: 50px;
    margin-left: 0.5rem;
}
.nav-dropdown>li:last-child>a{
	border-bottom:none;
}
.nav-dropdown>li>a:hover, .nav-dropdown>li>a:focus {
    padding-left: 20px;
	color:var(--maincolor);
}
.social-icon a i,
.social-icons a i {
    width: 32px;
    height: 32px;
    display: inline-block;
    border-radius: 16px;
}

.nav-dropdown>.focus>a,
.nav-dropdown>li:hover>a {
    color:var(--maincolor);
}

.nav-dropdown.nav-dropdown-left {
    right: 0;
}

.nav-dropdown>li>.nav-dropdown-left {
    left: auto;
    right: 100%;
}

.navigation-landscape .nav-dropdown-left>li>a {
    text-align: right;
}

.navigation-portrait .nav-dropdown>li>a {
    padding: 12px 20px 12px 30px;
}

.navigation-portrait .nav-dropdown>li>ul>li>a {
    padding-left: 50px;
}

.navigation-portrait .nav-dropdown>li>ul>li>ul>li>a {
    padding-left: 70px;
}

.navigation-portrait .nav-dropdown>li>ul>li>ul>li>ul>li>a {
    padding-left: 90px;
}

.navigation-portrait .nav-dropdown>li>ul>li>ul>li>ul>li>ul>li>a {
    padding-left: 110px;
}
.navigation-portrait .nav-dropdown>li>a {
    color:var(--darkheadercolor);
    border-bottom: 1px dashed rgba(255,255,255,0.15);
}
.nav-dropdown .submenu-indicator {
    right: 15px;
    top: 16px;
    position: absolute;
}

.menu__list,
.navbar,
nav a {
    position: relative;
}

.navigation-portrait .submenu-indicator {
    right: 0;
    top: 0;
}

.nav-dropdown .submenu-indicator .submenu-indicator-chevron {
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.navigation-portrait .nav-dropdown .submenu-indicator .submenu-indicator-chevron {
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.navigation-portrait .nav-dropdown .submenu-indicator.submenu-indicator-up .submenu-indicator-chevron {
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
}
.nav-dropdown>.focus>a .submenu-indicator-chevron,
.nav-dropdown>li:hover>a .submenu-indicator-chevron {
    border-color: transparent var(--maincolor) var(--maincolor) transparent;
}

.navigation-landscape .nav-dropdown-left .submenu-indicator {
    left: 10px;
}

.navigation-landscape .nav-dropdown-left .submenu-indicator .submenu-indicator-chevron {
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}

nav a {
    display: inline-block;
}

.header {
    background: #fff;
    position: relative;
    padding: 13px 0;
}

.header-top {
    padding: 1em 0;
    background: #05222A;
}

.indicate {
    float: left;
}

.deatils {
    float: right;
}

.indicate a {
    color: #C6C7C7;
    vertical-align: middle;
}

.deatils ul li i,
.indicate i {
    color: #888f90;
    vertical-align: middle;
}

.indicate i {
    margin-right: .5em;
}

.deatils ul li {
    display: inline-block;
    margin: 0 5px;
}

.deatils ul li i {
    margin-right: .5em;
}

.deatils ul li a {
    color: #C6C7C7;
    vertical-align: middle;
}

.social-icons {
    float: right;
    margin-top: .7em;
}

.logo h1 a {
    color: #fff;
}

.logo span {
    display: block;
    letter-spacing: 4px;
}

.header-bottom {
    padding: 1em 0;
}

.navbar-nav {
    float: left;
    margin: 0;
}

.navbar-default {
    background: #fff;
    border: none !important;
}

.navbar-default .navbar-nav>li>a {
    color: #05222A;
    font-weight: 900;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>li>a:hover {
    color: #02B875;
    background-color: #fff;
}

.navbar {
    min-height: 50px;
    margin-bottom: 0;
    border: 1px solid transparent;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:focus,
.navbar-default .navbar-nav>.open>a:hover {
    color: #05222A;
    background-color: #fff;
}

.menu__list {
    -webkit-flex-wrap: inherit;
    flex-wrap: inherit;
}

.menu__item {
    display: block;
    margin: 1em 0;
}

.menu__link {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
}

.menu--francisco .menu__item {
    margin: 0 1.5em;
}

.menu--francisco .menu__link {
    position: relative;
    overflow: hidden;
    height: 3em;
    padding: 1em 0;
    text-align: center;
    color: #b5b5b5;
    -webkit-transition: color .3s;
    transition: color .3s;
}

.menu--francisco .menu__link:focus,
.menu--francisco .menu__link:hover {
    color: #929292;
}

.menu--francisco .menu__item--current .menu__link {
    color: #02B875;
}

.menu--francisco .menu__link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    opacity: 0;
    background: #02B875;
    -webkit-transform: translate3d(0, -3em, 0);
    transform: translate3d(0, -3em, 0);
    -webkit-transition: -webkit-transform 0s .3s, opacity .2s;
    transition: transform 0s .3s, opacity .2s;
}

.menu--francisco .menu__item--current .menu__link::before,
.menu--francisco .menu__link:hover::before {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform .5s, opacity .1s;
    transition: transform .5s, opacity .1s;
    -webkit-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.menu--francisco .menu__helper {
    display: block;
    pointer-events: none;
}

.menu--francisco .menu__item--current .menu__helper,
.menu__link:hover .menu__helper {
    -webkit-animation: anim-francisco .3s forwards;
    animation: anim-francisco .3s forwards;
}

@-webkit-keyframes anim-francisco {
    50% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
    51% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes anim-francisco {
    50% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
    51% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}
.nav-menu.nav-menu-social>li.list-buttons a{
    border-radius:0px;
    position: relative;
	border:2px solid !important;
}
.nav-menu.nav-menu-social>li.list-buttons.btn-reg a{
    background: var(--cherrycolor);
    border-color: var(--cherrycolor);
}
.nav-menu.nav-menu-social>li.list-buttons.btn-login a{
    background: var(--maincolor);
    border-color: var(--maincolor);
}
.nav-menu.nav-menu-social>li.list-buttons.light a{
	background:#ffffff;
	border:2px solid #ffffff !important;
}
.nav-menu.nav-menu-social>li.list-buttons.border a{
    background: #ffffff;
    border: 2px solid var(--maincolor) !important;
}
.header-fixed .nav-menu.nav-menu-social>li.list-buttons.light a {
    background: var(--darkcolor);
    border-color:var(--darkcolor) !important;
}
.nav-menu.nav-menu-social>li.list-buttons a {
    top:0px;
	padding:12px 16px;
    color:#ffffff !important;
}
.nav-menu.nav-menu-social>li.list-buttons.light a {
    color:#08184b !important;
}
.nav-menu.nav-menu-social>li.list-buttons.border a {
    color:var(--maincolor) !important;
}
.header-fixed .nav-menu.nav-menu-social>li.list-buttons.light a {
    color:#ffffff !important;
}
.nav-menu.nav-menu-social>li.list-buttons.dark{
    background:var(--darkcolor);
	border-color:var(--darkcolor) !important;
}
.nav-menu.nav-menu-social>li.list-buttons.dark a{
	color:#ffffff;
}
.header-fixed .nav-menu.nav-menu-social .text-light {
    color:#0fca98 !important;
}
.nav-brand img {
    /* max-width:140px; */
    width:140px;
    position: relative;
}
.nav-menu.nav-menu-social>li>a>.fas {
	-ms-transform: scale(1);
    transform: scale(1);
}
.nav-menu.nav-menu-social>li.list-buttons>a{
	display:inline-flex;
	align-items:center;
}
.navigation-portrait .mobile_nav {
    margin-right: 40px;
}
/*----------------------------------------------
	Theme Footer Design
---------------------------------------------*/
footer{
	z-index:99;
	font-weight:500;
	position:relative;
}
.footer-text{
	color:var(--footercolor);
}
.footer-top {
    position: relative;
    display: block;
    padding:1.5rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.skin-light-footer .footer-top {
    border-bottom: 1px solid #eff4f9;
}
img.img-footer {
    max-width: 150px;
    margin-bottom:1.5rem;
}
.footer-logo img {
    max-width: 185px;
}
.footer-widget {
    padding:70px 0;
}
h4.widget-title {
    margin-bottom: 20px;
    font-weight:600;
	color:var(--maincolor);
}
.footer-widget ul {
    padding: 0;
    margin: 0;
}
.footer-widget ul li {
    list-style: none;
    margin-top:15px;
    display: block;
}
.footer-widget ul li a, .footer-widget p{
	color:var(--footercolor);
}

.footer-widget ul li a:hover, .footer-widget ul li a:focus, .footer-widget ul li a:active{
	color:var(--maincolor);
}

.widget_media_image {
    margin-top: 3rem;
}
.footer-bottom {
    padding:0 0 20px;
	color:var(--footercolor);
}

.foot-socials {
    position: relative;
    display: block;
    margin-top:1.5rem;
}
.foot-socials ul {
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}
.foot-socials ul li {
    list-style: none;
    display: inline-block;
    position: relative;
    margin-right:10px;
}

.foot-socials ul li a {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.2rem;
    background:var(--lightcolor);
	color:var(--footercolor);
    transition: all ease 0.4s;
}

.foot-socials ul li a:hover, .foot-socials ul li a:focus, .foot-socials ul li a:active {
    background:var(--maincolor);
    color: #ffffff;
}
.job-info-count-group {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    justify-content: flex-end;
}
.single-jb-info-count {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-right: 2rem;
}
.single-jb-info-count:last-child{
	margin-right:0;
}
.single-jb-info-count .jbs-y7 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.single-jb-info-count .jbs-y7 .ctr {
    color:#ffffff;
    margin: 0;
    margin-right: 2px;
}
.skin-light-footer .single-jb-info-count .jbs-y7 .ctr{
	color:var(--darkcolor);
}
.single-jb-info-count .jbs-y7 span {
    font-weight: 600;
}
.jbs-y5 p {
    margin: 0;
    color:var(--footercolor);
    font-weight: 500;
}

.lg-ctr .single-jb-info-count .jbs-y7 .ctr {
    line-height: 1;
}
.skin-theme-footer .lg-ctr .jbs-y5 p {
    color: rgba(255,255,255,0.6);
}
.app-wrap img {
    max-width: 250px;
}
.skin-dark-footer{
	background:var(--footerbg);
}
footer.skin-dark-footer h4{
    color: #ffffff;
}
footer.skin-dark-footer .footer-widget ul li a, footer.skin-dark-footer, footer.skin-dark-footer a, .skin-dark-footer .footer-widget p {
    color:var(--darkfootercolor);
    transition: all ease 0.4s;
}
footer.skin-dark-footer .footer-widget ul li a:hover, footer.skin-dark-footer .footer-widget ul li a:focus{
    color:#ffffff;
}
footer.skin-dark-footer .foot-socials ul li a {
    background:rgba(255,255,255,0.07);
	color:var(--footerdarkcolor);
}
footer.skin-dark-footer .foot-socials ul li a:hover, footer.skin-dark-footer .foot-socials ul li a:focus, footer.skin-dark-footer .foot-socials ul li a:active {
    background:var(--maincolor);
    color: #ffffff;
}
.skin-dark-footer .footer-bottom{
	color:#ffffff;
}
.skin-dark-footer .jbs-y5 p {
	color:var(--darkfootercolor);
}

/*--------------------------------------------------
	Responsiveness Start
---------------------------------------------------*/
@media all and (min-height: 600px) and (min-width: 767px) {
  .height-10 {
    height: 10vh;
  }
  .height-20 {
    height: 20vh;
  }
  .height-30 {
    height: 30vh;
  }
  .height-40 {
    height: 40vh;
  }
  .height-50 {
    height: 50vh;
  }
  .height-60 {
    height: 60vh;
  }
  .height-70 {
    height: 70vh;
  }
  .height-80 {
    height: 80vh;
  }
  .height-90 {
    height: 90vh;
  }
  .height-100 {
    height: 100vh;
  }
}

@media all and (max-width: 1199px) and (min-width: 768px) {
	.elsocrio-jbs .jbs-list-pack {
		margin: 0;
		margin-left: 10px;
	}
	.jbs-list-box .jbs-list-head-last .btn-outline-secondary {
		display: none;
	}

}

@media (min-width: 992px) {
	.head-shadow{
		box-shadow:0 5px 30px rgba(0, 22, 84, 0.1);
		-webkit-box-shadow:0 5px 30px rgba(0, 22, 84, 0.1);
	}
	.header.head-border {
		border-bottom: 1px solid #e9ecef;
	}
	.hero-header{
		min-height:650px;
	}
	.inline-top-filter-wrap .container-fluid, .header .container-fluid{
		padding: 0 2rem;
	}
	.over-top .container {
		top: -50px;
		position: relative;
	}
	.vshm-io8y h2 {
		line-height: 1.4;
	}
	
	.collapse.miz_show {
		display: block !important;
	}
	.side_stiky {
		position: sticky;
		top: 100px;
	}
	div#MobNav {
		display: block;
	}
	a.mobNavigation {
		display: none;
	}
	.header.header-fixed {
		background: #ffffff;
		position: fixed;
		z-index: 999;
		width: 100%;
		top: 0;
		-webkit-transition: 0.2s ease-in;
		-o-transition: 0.2s ease-in;
		transition: 0.2s ease-in;
		-webkit-animation-duration: 0.5s;
		animation-duration: 0.5s;
		-webkit-animation-name: slideInDown;
		animation-name: slideInDown;
		top: -1px;
		box-shadow:0 .125rem .25rem rgba(var(--bs-body-color-rgb),.075)!important;
	}
	.header.header-light.head-fixed, .header.header-dark.head-fixed {
		position: fixed;
		z-index: 99;
		width: 100%;
		transition: none !important;
		animation-name:none !important;
	}
	.filter_search_opt {
		display: none;
	}
	.header.header-transparent {
		background: transparent;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		display: inline-block;
		width: 100%;
		z-index: 4;
		border-bottom: 1px solid rgba(255,255,255,0.1);
	}
	.change-logo .nav-brand.fixed-logo {
		display: none;
	}
	.change-logo.header-fixed .nav-brand.fixed-logo {
		display: block;
	}
	.change-logo.header-fixed .nav-brand.static-logo {
		display: none;
	}
	.header.header-transparent.header-fixed {
		border-bottom:1px solid #e9ecef;
		background: #ffffff;
		position: fixed;
		z-index: 999;
		width: 100%;
		top: -1px;
		-webkit-transition: 0.2s ease-in;
		-o-transition: 0.2s ease-in;
		transition: 0.2s ease-in;
		-webkit-animation-duration: 0.5s;
		animation-duration: 0.5s;
		-webkit-animation-name: slideInDown;
		animation-name: slideInDown;
	}
	.header.header-transparent .nav-brand, .header.header-transparent .nav-brand:focus, .header.header-transparent .nav-brand:hover, .header.header-transparent .nav-menu>li>a {
		color: #ffffff;
	}
	.header.header-transparent.dark .nav-brand, .header.header-transparent.dark .nav-brand:focus, .header.header-transparent.dark .nav-brand:hover, .header.header-transparent.dark .nav-menu>li>a {
		color:var(--navcolor);
	}
	.header.header-transparent .submenu-indicator-chevron {
		border-color: transparent #ffffff #ffffff transparent;
	}
	.header.header-transparent .nav-submenu .submenu-indicator-chevron {
		border-color: transparent color-mix(in srgb, var(--navcolor), transparent 30%) color-mix(in srgb, var(--navcolor), transparent 30%) transparent;
	}
	
	.header.header-transparent.dark .submenu-indicator-chevron {
		border-color: transparent var(--navcolor) var(--navcolor) transparent;
	}
	.header .nav-menu>.active>a .submenu-indicator-chevron, .header .nav-menu>.focus>a .submenu-indicator-chevron, .header .nav-menu>li:hover>a .submenu-indicator-chevron {
		border-color: transparent var(--maincolor) var(--maincolor) transparent;
	}
	.header.header-transparent.header-fixed .nav-brand, .header.header-transparent.header-fixed .nav-brand:focus, .header.header-transparent.header-fixed .nav-brand:hover, .header.header-transparent.header-fixed .nav-menu>li>a {
		color:var(--navcolor);
	}
	.header.header-transparent.header-fixed .submenu-indicator-chevron {
		border-color: transparent var(--navcolor) var(--navcolor) transparent;
	}
	.header.header-dark {
		background:var(--headerdark);
	}
	.header.header-dark .nav-brand, .header.header-dark .nav-brand:focus, .header.header-dark .nav-brand:hover, .header.header-dark .nav-menu>li>a {
		color: #ffffff;
	}
	.header.header-dark .submenu-indicator-chevron {
		border-color: transparent #ffffff #ffffff transparent;
	}
	.header.header-dark .nav-dropdown .submenu-indicator-chevron {
		border-color: transparent var(--navcolor) var(--navcolor) transparent;
	}
	.hero-banner {
		min-height: 580px;
	}
	h1, .h1 {
		line-height: 1.31818182em;
	}
	
	.jumbo-banner.software .hero-content {
		margin-top:0em;
	}
	.sec-heading h2 {
		line-height: 1.2;
	}
	.page-title-wrap h1{
		line-height:1.4;
	}
	div#fltbox {
		display: block;
	}
	a.filter_links {
		display: none !important;
	}
	.page-sidebar{
		max-width:92%;
	}
}

@media (min-width: 993px) {
	.mobile_nav {
		display: none;
	}
	a._filter-ico.ml-2 {
    display: none;
}
}

@media (min-width: 1200px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1180px;
    }
	h1, .h1 {
		line-height: 1.31818182em;
	}
	.hero-header{
		padding:5rem 0;
		min-height:800px;
	}
	.clios-img{
		max-width:600px;
	}
}

@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
	.clios-img{
		max-width:750px;
	}
}

@media (min-width: 1920px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1700px;
    }
	h1, .h1 {
		line-height: 1.4em;
	}
	.hero-header{
		padding:6rem 0;
		min-height:850px;
	}
	
	.clios-img{
		max-width:800px;
	}
}

@media (max-width: 1200px) {
	.cjr-agent-social ul li {
		margin-left: 5px;
	}
	.single-side-rtl-jbs {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.single-fliox {
		margin-bottom: 1rem;
	}
}

@media (max-width: 992px) {	
	.nav-menu.nav-menu-social {
		display: none;
	}
	.nav-header {
		display: flex;
		align-items: center;
		float: left;
		width:100%;
	}
	.navigation-portrait .nav-brand {
		margin-left:0px;
		flex: 1;
	}
	.nav-menu>li .nav-dropdown {
		box-shadow: none;
		padding: 0;
	}
	.nav-menu>li>.nav-dropdown:before{
		display:none;
	}
	.footer-widget {
		padding-bottom:40px;
		padding-top: 0;
	}
	footer.dark-footer, footer.skin-light-footer, footer.skin-dark-footer {
		padding-top: 60px;
	}
	ul.mobile_nav.dhsbrd {
        margin:4px;
        margin-right: 35px;
    }
	ul.mobile_nav.dhsbrd li a {
		justify-content: start;
		color:#06325d !important;
	}
	.dash_prt_wrap {
		flex-direction: column;
		min-width: 200px;
		align-items: flex-start;
	}
	.dash_prt_thumb {
		width: 100%;
	}
	.dash_prt_caption {
		padding: 10px 0 0;
	}
	td.m2_hide {
		min-width: 150px;
	}
	.map-banner-wrap {
		height: calc(100% - 0rem);
		top: 0;
		border-top: 1px solid #ebeef1;
	}
	.inline-top-filter-wrap{
		border-top: 1px solid #ebeef1;
	}
	.map-left-box {
		display: none;
	}
	.half-map .map-content-wrap {
		width: 100%;
	}
	.adgt-wriop-block {
		margin-bottom: 1rem;
	}
	.pg-side-groups {
		margin-top: 1.5rem;
	}
	.dashboard-wrap {
		padding: 1.5rem !important;
	}
	.dashboard-content {
		padding:0rem;
		margin: 0;
		flex: auto;
	}
	.dashboard-wrap a.mobNavigation {
		width: 100%;
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: var(--maincolor);
		border-radius: 0.4rem;
		margin-bottom: 1rem;
		font-weight: 500;
		color: #ffffff !important;
	}
	.dashboard-nav {
		position: relative;
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		padding-bottom: 0px;
		margin-bottom: 1rem;
		overflow: auto;
		flex: auto !important;
		height: auto !important;
	}
	.dashboard-wrap #MobNav, .dashboard-wrap #MobNav{
		width: 100%;
	}
	.hero-search-wrap{
		max-width:100%;
		margin-top:1rem;
	}
	.item-shorting-box {
		margin-top: 1rem;
		display: flex;
		flex-direction: column;
	}
	.item-shorting-box .item-shorting.clearfix{
		margin-bottom:0.8rem;
	}		
	a._filter-ico.ml-2 {
		width: 30px;
		height: 30px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: #f1f4f5;
		border-radius: 50%;
		margin-left: 1rem;
		color: #92a6b1;
	}
	.light-jbs-alert {
		margin-top: 1rem;
	}
	.header.header-dark {
        background: var(--headerdark);
    }
	
}

@media (max-width: 991px) {
	a.nav-brand.static-logo {
		display: none;
	}
	.full-search-2 .classic-search-box .form-group {
		margin-bottom: 1rem;
	}
	.full-search-2 .hero-search-content .form-control {
		border: 2px solid #e2e8ed;
	}
	.briod {
		border-right:none;
	}
	.full-search-2 .hero-search-content {
		padding: 1.7rem 0.7rem 0.7rem;
	}
	.choose-us-head {
		margin-bottom: 2.5rem;
	}
	.property_dashboard_navbar {
		margin-bottom: 1rem;
	}
	.cndt-head-block {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.cndt-head-left {
		flex-direction: column;
		align-items: flex-start;
	}
	.cndt-head-thumb {
		margin-bottom: 1rem;
	}
	.cndt-head-caption {
		padding: 0;
		margin-bottom: 1rem;
	}
	.cndt-yior-3 span {
		font-weight: 500;
		margin-right: 0.8rem;
	}
	.dash-prf-completion {
		max-width: 100%;
		flex: auto;
		width: 100%;
	}
	
}

@media (max-width: 767px) {
	h1 {
		line-height:35px;
	}
	h2 {
		line-height: 28px;
	}
	.vshm-cov-head>* {
		line-height: 25px;
	}
	.lios-parts h2 {
		margin-bottom:6px;
	}
	.lios-vrst {
		margin-bottom: 1rem;
	}
	.hero-search-wrap {
		padding: 20px 15px;
	}
	.classic-search-box {
		display: flex;
		flex-direction: column;
	}
	.choose-propert-type {
		border: none;
	}
	.hero-search-content .form-group.full {
		padding: 5px 0;
		margin: 5px 0;
	}
	.hero-search-content .form-control {
		border: 2px solid #e2e8ed;
	}
	.cjr-list-prty {
		display: flex;
		flex-direction: column;
	}
	.cjr-list-prty-figure {
		width: 100%;
		margin-bottom: 0.8rem;
	}
	.cjr-list-prty-caption {
		padding-left: 0;
	}
	.classic-search-box .form-group {
		width: 100%;
	}
	.btn.btn-filter-search {
		width: 100% !important;
		display: flex;
		margin-bottom: 0.5rem;
	}
	.cjr-list-prty .cjr-list-prty-caption {
		flex: auto;
		width: 100%;
	}
	.cjr-list-middle {
		height: auto;
		margin-bottom: 0.5rem;
	}
	.messages-container-inner {
		display: flex;
		flex-direction: column;
	}
	.agent-list-block {
		flex-direction: column;
	}
	.agent-list-thumb {
		width: 100%;
		height: auto;
		margin-bottom: 1rem;
	}
	.agent-list-caption {
		padding: 0;
	}
	.blog-list-block {
		flex-direction: column;
	}
	.blog-list-thumber {
		height: auto;
	}
	.blog-list-caption {
		margin-top: 1rem;
		padding: 0 1rem 1rem;
	}
	.post-details .post-title {
		line-height: 1.4;
	}
	.ctr-cjr-box {
		flex-direction: column;
	}
	.ctr-cjr-signl {
		flex: 0 0 100%;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid rgb(0 190 130 / 20%);
	}
	.nerb-lists-single {
		flex-direction: column;
		align-items: flex-start;
	}
	.nerb-lists-sgl-caption {
		width: 100%;
	}
	.nerb-lists-sgl-last {
		padding: 1rem 0 0.5rem;
	}
	.mortgage-wrp-bloc {
		flex-direction: column;
	}
	.mortgage-wrp-bloc-single {
		flex: 0 0 100%;
		width: 100%;
		border-bottom: 1px dashed rgb(0 190 130 / 40%);
		border-right: none;
	}
	.mortgage-wrp-bloc-single:last-child{
		border-bottom:none;
		border-right: none;
	}
	.avl-features li {
		flex: 0 0 50%;
		width: 50%;
		max-width: 50%;
	}
	.vesh-detail-headup {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.vesh-detail-headup-first {
		margin-bottom: 1rem;
	}
	.job-info-count-group {
		justify-content: flex-start;
		margin-top: 1rem;
	}
	.hero-header .text-xl {
		margin-bottom: 1rem;
	}
	.jbs-list-box .jbs-list-head-last .btn-outline-secondary {
		display: none;
	}
	.jbs-list-head-middle {
		display: none;
	}
	.experinc-post-title {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.cndt-head-block .cndt-yior-3, .emplr-head-caption .emplr-yior-3 {
		flex-wrap: wrap;
		justify-content: center;
	}
	.cndt-yior-3 span, .emplr-yior-3 span {
		flex: 0 0 50%;
		width: 50%;
		margin: 0.5rem 0;
		align-items: center;
		display: flex;
	}
	.center-align .cndt-yior-3 span{
		justify-content: center;
	}
	.cndt-footer {
		flex-direction: column;
	}
	.cndt-footer .cndt-footer-left {
		margin-bottom: 1rem;
	}
	.jbs-head-bodys-top {
		display: flex;
		flex-direction: column;
	}
	.jbs-roots-y1 {
		margin-bottom: 1rem;
	}
	.emplors-list-head-thunner {
		flex-direction: column;
		align-items: flex-start;
	}
	.emplors-list-job-caption {
		padding: 0;
		margin: 1rem 0;
	}
	.emplors-list-head {
		flex-direction: column;
		align-items: flex-start;
	}
	.emplr-head-block {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.emplr-head-left {
		flex-direction: column;
		align-items: flex-start;
	}
	.emplr-head-caption {
		padding: 0;
		margin: 1rem 0;
	}
	.dashboard-profle-wrapper {
		flex-direction: column;
	}
	.dashboard-profle-wrapper .dash-prf-end {
		padding: 0;
	}
	.dash-prf-infos {
		flex-wrap: wrap;
	}
	.single-dash-prf-infos {
		flex: 0 0 100%;
		margin-bottom: 1rem;
	}
	.jbs-list-postedinfo {
		display: flex;
		margin: 1rem 0;
		/* clear: both; */
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
		flex-direction: column;
	}
	.footer .footer-top {
		margin-bottom:40px;
	}
	.jbs-list-usrs-thumb {
		width: 60px;
		height: 60px;
	}
	.dashboard-wrap {
        padding: 1.5rem 0.8rem !important;
    }
	.jbs-single-iou {
		margin-right: 2rem;
	}
	.jbs-dts-header {
		padding: 2rem 1rem;
	}
	.small-jbs-tab li.nav-item {
		flex: 1 1 auto;
	}
	.nav-pills.small-jbs-tab .nav-link {
		width: 100%;
	}
	.jbs-roots-y1-first .jbs-roots-thumb {
		width:70px;
		height:70px;
		margin-right: 5px;
	}
	.jbs-roots-y1-last .jbs-title-iop h2 {
		line-height: 1.4;
	}
	.jbs-head-bodys {
		padding: 1.5rem 1rem;
	}
	.singlerev.d-flex {
		flex-wrap: wrap;
	}
}

@media (max-width: 600px) {
	.page-title .ipt-title {
		margin-bottom: 8px;
		color: #ffffff;
	}
	.modal-body {
		padding: 1rem;
	}
	.app-wrap img {
		max-width: 200px;
	}
	
	table.property-table-wrap .dashboard_propert_wrapper .title {
		margin-top: 1rem;
	}
	._prt_filt_dash_flex .btn-md {
		padding: 0.8rem 0.99rem;
		font-weight: 600;
	}
	._mp-inner-content.elior {
		display: flex;
		flex-direction: column;
	}
	._mp-inner-content.elior .item-shorting.clearfix{
		margin-bottom:0.8rem;
	}
	._mp-inner-content.elior ._mp-inner-first {
		padding: 0;
		width: 100%;
		margin-bottom: 0.7rem;
	}
	._mp-inner-content.elior .search-inline {
		width: 100%;
		max-width: 100%;
	}
	._mp-inner-content.elior .filter-pop-link {
		width: 100%;
		display: flex;
	}
	._mp-inner-content.elior ._mp_inner-last {
		width: 100%;
	}
	.map-content-wrap .map-content-bxo {
		padding: 1.5rem 1em 0;
	}
	.map-content-list {
		padding: 0 1rem 2rem;
	}
	.adgt-wriop-block .single-button .btn-md {
		padding: 1rem;
	}
	.fls-by1 {
		float: initial;
		flex-direction: column;
		align-items: flex-start;
	}
	.fls-byheadline h5 {
		margin: 0;
	}
	.fl-rate-box-head {
		padding: 1rem 1rem;
	}
	.nav-pills .nav-link {
		padding: 0.8rem 1.3rem;
	}
	.hired-box-slack {
		padding: 3rem 2rem;
	}
	.jbs-list-emp-thumb {
		width: 50px;
		height: 50px;
	}
	.jbs-list-job-caption {
		padding-left: 10px;
	}
	.jbs-list-head {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.jbs-list-head-thunner {
		margin-bottom: 1rem;
	}
	.jbs-blox-head .nav-tabs .nav-link {
		padding: 1rem 0.7rem;
	}
	.jbs-blox-footer {
		flex-direction: column;
		align-items: flex-start;
	}
	.blox-first-footer {
		margin-bottom: 1rem;
	}
	.jbs-info-detail-yelos {
		flex-wrap: wrap;
	}
	.jbs-info-detail-yelos .signle-jbs-info-yelos {
		flex: 0 0 50%;
		width: 50%;
	}
	.jbs-info-detail-yelos .signle-jbs-info-yelos:nth-child(n+2), .jbs-info-detail-yelos .signle-jbs-info-yelos:nth-child(n+1) {
		margin-bottom: 1rem;
	}
	.jbs-dts-body-content div#myTabContent {
		padding: 2rem !important;
	}
	.jbs-dts-header {
		flex-direction: column;
	}
	.jbs-dts-header-caption {
		padding: 0;
		margin-top: 1rem;
	}
	.dash-prfs-caption.emplyer {
		flex-direction: column;
		align-items: flex-start;
	}
	.dash-prfs-flexfirst {
		margin-bottom: 0.5rem;
	}
	.dashboard-content .jbs-list-head-thunner {
		flex-direction: column;
		align-items: flex-start;
	}
	.dashboard-content .single-mrch-lists {
		font-weight:600;
	}
	.dashboard-content .single-mrch-lists span {
        margin-left: 0;
        margin-right: 0.5rem;
        margin-bottom: 0.2rem;
    }
	.dashboard-content .single-mrch-lists span:first-child{
		margin-left:0;
	}
	.dashboard-wrap .jbs-list-job-caption{
		margin-top:10px;
		padding:0;
	}
	.dashboard-wrap .duster-flex-row {
		display: flex;
		flex-direction: column;
		align-items: flex-start !important;
		justify-content: flex-start;
	}
	.dashboard-wrap .duster-flex-row .duster-flex-first {
		margin-bottom: 0.8rem;
	}
	.single-rtl-jbs-hot {
		align-items: flex-start;
	}
	.single-mrch-lists span {
		margin-left: 0;
        margin-right: 0.5rem;
        margin-bottom: 0.2rem;
	}
	.jbs-list-emp-thumb figure img {
		max-width: 40px;
	}
	.btn-group.account-drop {
		position: relative;
		padding: 3px 5px;
	}
	ul.mobile_nav.dhsbrd li:first-child {
		display: none;
	}
}

@media (max-width: 500px) {
	.page-title .ipt-title {
		margin-bottom:5px;
		color: #ffffff;
	}
	.nav-brand {
		padding-right: 0px;
	}
	.nav-brand img {
		max-width: 140px;
		position: relative;
	}
	.lg-ctr .single-jb-info-count .jbs-y7 .ctr {
		line-height: 1;
	}
	.single-jb-info-count {
		margin-right:1.4rem;
	}
	footer .position-absolute.bottom-0.start-0 img {
		width: 100%;
	}
	.mobile_nav ul li a {
		padding:0.2rem 0.4rem;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.jbs-blocs.style_03 {
		margin-bottom: 1.5rem;
	}
	.table-responsive {
		max-width: 300px;
		overflow-x: scroll;
	}
	.hero-header .position-absolute img {
		max-width: 100% !important;
	}
	.account-drop .dropdown-menu{
		max-width:290px;
		min-width:290px;
	}
}

@media (max-width: 380px) {
    .nav-brand img {
        max-width: 120px;
        position: relative;
    }
	.jbs-roots-y1-first .jbs-roots-thumb {
		width:55px;
		height:55px;
		margin-right: 5px;
	}
	.jbs-roots-y1-last .jbs-title-iop h2 {
		line-height: 1.4;
	}
}

.style-switcher{
	position:fixed;
	bottom:15%;
	transition:.4s ease-in-out;
	background-color:#fff;
	left:-220px;
	width:220px;
	padding:0;
	z-index:1010;
	box-shadow:0 0 25px rgba(0,0,0,0.1)
}
.style-switcher .css-trigger{
	position:absolute;
	bottom:15%;
	transform:translateY(-50%);
	right:-50px;
	width:50px;
	background-color:#ffffff;
	color:#c33129;
	border-radius:0 3px 3px 0;
	text-align:center;
	line-height:55px;
	height:50px;
	cursor:pointer;
}
.style-switcher .css-trigger a{
	color:#c33129;
}
.style-switcher.active{
	left:0;
}
ul#themecolors{
	margin:0;
	padding:15px 0;
	text-align:center;
	background:#041b2d;
}
ul#themecolors li{
	list-style:none;
	padding:5px;
	display:inline-block;
}
ul#themecolors li a{
	width:42px;
	height:42px;
	background:#f4f5f7;
	display:inline-block;
	border-radius:0.4rem;
	border:3px solid rgba(255,255,255,1);
}

/* ============================================================
   Connect Japan Recruitment — Custom CSS  v2.0
   ============================================================ */

/* ── Base ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'DM Sans', 'Noto Sans JP', -apple-system, sans-serif;
  font-size: 1.025rem;
  line-height: 1.85;
  color: #3a4a5c;
  background: #FAFAFA;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'DM Sans', 'Noto Sans JP', -apple-system, sans-serif;
  line-height: 1.2;
}
h1 { font-size: clamp(2rem, 3.5vw, 2.8rem); }
h2 { font-size: clamp(1.65rem, 2.8vw, 2.2rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
h4 { font-size: clamp(1.2rem, 1.6vw, 1.4rem); }
h5 { font-size: 1.2rem; }
h6 { font-size: 1.1rem; }
p { font-size: 1.025rem; }

img { max-width: 100%; }

/* ── Layout ──────────────────────────────────────────────── */
.section-pad { padding: 144px 0; }

/* ── Background Utilities ────────────────────────────────── */
.bg-washi  { background: var(--bg-warm); }
.bg-white  { background: #fff; }
.bg-panel  { background: var(--maincolor); }
.bg-navy   { background: var(--maincolor); }

/* ── Typography ──────────────────────────────────────────── */
.section-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--maincolor);
  margin-bottom: 10px;
}
.eyebrow-line {
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--cherrycolor);
  flex-shrink: 0;
}
.section-title {
  font-weight: 700;
  color: var(--headingcolor);
  line-height: 1.18;
  margin-bottom: 16px;
  overflow-wrap: break-word;
}
html.lang-ja .section-title {
  word-break: break-all;
  line-height: 1.4;
}
.section-title em { color: var(--secondcolor); font-style: normal; }
.section-title-white { color: #fff !important; }
.section-subtitle {
  color: #6e7a8a;
  line-height: 1.85;
  margin-bottom: 0;
}
.divider-line {
  width: 48px;
  height: 1px;
  background: var(--cherrycolor);
  border-radius: 2px;
  margin-bottom: 24px;
}
.divider-line.center { margin-left: auto; margin-right: auto; }
.text-white-75 { color: rgba(255,255,255,.75) !important; }

/* Dark section helper overrides */
.bg-panel .section-eyebrow { color: rgba(255,255,255,.55); }
.bg-panel .eyebrow-line    { background: rgba(255,255,255,.3); }
.bg-panel .section-subtitle { color: rgba(255,255,255,.7); }

/* ── Navigation ──────────────────────────────────────────── */
.header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(26,42,94,.08) !important;
  transition: box-shadow .2s ease;
}
.header.header-fixed {
  box-shadow: 0 2px 24px rgba(26,42,94,.12) !important;
}

/* Hero page — semi-transparent glass bar (in normal flow, sticky) */
.header-over-hero {
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: none !important;
}
.header-over-hero.header-fixed {
  background: #fff !important;
  box-shadow: 0 2px 24px rgba(26,42,94,.1) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
@media (max-width: 991px) {
  .header-over-hero {
    background: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Desktop nav layout */
@media (min-width: 992px) {
  .navigation-landscape {
    display: flex !important;
    align-items: center;
  }
  .navigation-landscape .nav-header {
    float: none !important;
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }
  .navigation-landscape .nav-menus-wrapper {
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
  }
  .navigation-landscape .nav-menu {
    display: flex !important;
    align-items: center;
    float: none !important;
    margin: 0;
    padding: 0;
  }
  .navigation-landscape .nav-menu > li {
    float: none !important;
    display: flex;
    align-items: center;
  }
  .navigation-landscape .nav-menu > li > a {
    display: flex;
    align-items: center;
    font-weight: 500;
    color: #4a5568;
    padding: 6px 12px;
    text-decoration: none;
    transition: color var(--ease);
  }
  .navigation-landscape .nav-menu > li > a:hover,
  .navigation-landscape .nav-menu > li.active > a { color: var(--maincolor); }
  .navigation-landscape .nav-menu.align-to-right { margin-left: auto; }
  .navigation-landscape .nav-menu-social > li { display: flex; align-items: center; }

}

/* ── Nav Logo ─────────────────────────────────────────────── */
.nav-brand {
  display: flex !important;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
}
.nav-brand img.logo {
  width: auto !important;
  height: 32px !important;
  flex-shrink: 0;
}
.nav-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
  padding-left: 7px;
}
.nav-logo-name {
  font-size: 1rem;
  font-weight: 900;
  color: var(--maincolor);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.nav-logo-sub {
  font-size: .75rem;
  color: #8a96a8;
  font-weight: 600;
  letter-spacing: .38em;
  text-transform: uppercase;
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px solid #dde6f0;
  display: block;
  width: 100%;
  text-align: center;
}

/* ── Mobile Sidebar ──────────────────────────────────────── */
.nav-sidebar-header {
  display: none;
  padding: 20px 20px 16px;
  margin-bottom: 4px;
}

@media (max-width: 991px) {
  /* Sidebar background & slide */
  .navigation-portrait .nav-menus-wrapper {
    background: var(--maincolor) !important;
    width: 300px !important;
  }

  /* Close button */
  .nav-menus-wrapper-close-button {
    background: rgba(255,255,255,.12) !important;
    color: #fff !important;
    border-radius: var(--radius-sm) !important;
    margin: 14px 14px 0 !important;
    float: right;
  }

  /* Sidebar header — logo only */
  .nav-sidebar-header { display: flex; align-items: center; }
  .nav-sidebar-header img.logo { filter: brightness(10); }
  .nav-sidebar-header .nav-logo-name { white-space: nowrap; }
  .nav-sidebar-header .nav-logo-sub { white-space: nowrap; }
  .nav-sidebar-header .nav-logo-name { color: #fff; }
  .nav-sidebar-header .nav-logo-sub  { color: rgba(255,255,255,.55); border-top-color: rgba(255,255,255,.2); }
  .nav-sidebar-header .nav-logo-text { border-left-color: var(--cherrycolor); }

  /* Menu items */
  .navigation-portrait .nav-menu > li {
    border-top-color: rgba(255,255,255,.08) !important;
  }
  .navigation-portrait .nav-menu > li:last-child {
    border-bottom-color: rgba(255,255,255,.08) !important;
  }
  .navigation-portrait .nav-menu > li > a {
    color: rgba(255,255,255,.82) !important;
    padding: 14px 22px !important;
    font-weight: 500;
    transition: background .18s, color .18s;
  }
  .navigation-portrait .nav-menu > li > a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
  }
  .navigation-portrait .nav-menu > li.active > a {
    color: #fff !important;
    background: rgba(255,255,255,.1) !important;
  }

  /* Lang switch row after menu items — left aligned */
  .navigation-portrait .nav-menu.nav-menu-social {
    padding: 16px 20px !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
    justify-content: flex-start !important;
    display: flex !important;
  }
  .navigation-portrait .nav-menu.nav-menu-social > li { border: none !important; }
  .navigation-portrait .nav-menu.nav-menu-social .lang-switch { background: rgba(255,255,255,.12); }
  .navigation-portrait .nav-menu.nav-menu-social .lang-btn { color: rgba(255,255,255,.75); }
  .navigation-portrait .nav-menu.nav-menu-social .lang-btn.active { background: #fff; color: var(--maincolor); }

  /* Overlay */
  .nav-overlay-panel { z-index: 19999 !important; }
}

/* ── Language Toggle ─────────────────────────────────────── */
.lang-switch {
  display: inline-flex;
  background: rgba(26,42,94,.09);
  border: none;
  border-radius: 50px;
  padding: 3px;
  gap: 0;
}
.lang-btn {
  background: transparent;
  color: var(--maincolor);
  border: none;
  padding: 5px 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all .2s;
  line-height: 1.4;
  border-radius: 50px;
  letter-spacing: .04em;
}
.lang-btn.active,
html.lang-en #langBtnEn,
html.lang-ja #langBtnJa {
  background: var(--maincolor);
  color: #fff;
  box-shadow: 0 2px 8px rgba(26,42,94,.22);
}
.lang-btn:hover:not(.active):not(html.lang-en #langBtnEn):not(html.lang-ja #langBtnJa) { background: rgba(26,42,94,.1); }
html.lang-en #langBtnJa:hover,
html.lang-ja #langBtnEn:hover { background: rgba(26,42,94,.1); }

/* ── Buttons ─────────────────────────────────────────────── */
.btn,
.btn-main,
.btn-cherry,
.btn-primary-custom,
.btn-outline-custom,
.btn-white,
.btn-outline-white {
  border-radius: 50px !important;
  font-size: 0.9375rem;
  padding: 10px 26px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  text-decoration: none !important;
  transition: all var(--ease);
  border: 2px solid transparent;
  line-height: 1.5;
}
.btn-main, .btn-primary-custom {
  background: var(--maincolor);
  color: #fff !important;
  border-color: var(--maincolor);
}
.btn-main:hover, .btn-primary-custom:hover {
  background: var(--blue-dark);
  border-color: var(--blue-dark);
  color: #fff !important;
}
.btn-cherry {
  background: var(--secondcolor);
  color: #fff !important;
  border-color: var(--secondcolor);
}
.btn-cherry:hover {
  background: var(--maincolor);
  border-color: var(--maincolor);
  color: #fff !important;
}
.btn-outline-custom, .btn-white {
  background: #fff;
  color: var(--maincolor) !important;
  border-color: var(--border-light);
  box-shadow: 0 1px 4px rgba(26,42,94,.07);
}
.btn-outline-custom:hover, .btn-white:hover {
  background: var(--bg-warm);
  border-color: var(--maincolor);
  color: var(--maincolor) !important;
  box-shadow: none;
}
.btn-outline-white {
  background: transparent;
  color: #fff !important;
  border-color: rgba(255,255,255,.65);
}
.btn-outline-white:hover { background: #fff; color: var(--maincolor) !important; border-color: #fff; }

/* Bootstrap outline-primary override */
.btn-outline-primary {
  background: transparent !important;
  color: var(--maincolor) !important;
  border: 2px solid var(--maincolor) !important;
  border-radius: 50px !important;
  padding: 8px 20px;
  font-weight: 600;
  transition: all var(--ease);
}
.btn-outline-primary:hover {
  background: var(--maincolor) !important;
  color: #fff !important;
}
/* Sticky nav pills */
.sticky-service-nav .btn-outline-primary { padding: 6px 16px; }

/* ── Page Banner (inner pages) ───────────────────────────── */
.bg-cover.bg-main.position-relative {
  background-color: var(--maincolor) !important;
  min-height: 200px;
  display: flex;
  align-items: center;
  padding: calc(var(--nav-h) + 32px) 0 44px;
  position: relative;
  overflow: hidden;
}
.bg-cover.bg-main.position-relative::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.05) 0%, transparent 70%);
  z-index: 0;
}
.bg-cover.bg-main.position-relative > .container { position: relative; z-index: 1; }
.bg-cover.bg-main h2.text-light, .bg-cover.bg-main .fs-2.text-light {
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 0;
}
.bread-wraps.breadcrumbs.light .breadcrumb {
  background: transparent;
  padding: 0;
  margin: 0 0 12px;
}
.bread-wraps.breadcrumbs.light .breadcrumb-item,
.bread-wraps.breadcrumbs.light .breadcrumb-item a {
  color: rgba(255,255,255,.65);
  text-decoration: none;
}
.bread-wraps.breadcrumbs.light .breadcrumb-item.active { color: rgba(255,255,255,.45); }
.bread-wraps.breadcrumbs.light .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.3); }
.kanji-deco {
  position: absolute;
  font-weight: 900;
  color: #fff;
  opacity: .04;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  top: 50%;
  right: 4%;
  transform: translateY(-50%);
}

/* ── Hero ────────────────────────────────────────────────── */
.cjr-hero {
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  padding-top: 50px;
  position: relative;
  overflow: hidden;
}
.hero-bg-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.hero-bg-img.hero-bg-active { opacity: 1; }
.cjr-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to right,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.65) 40%,
    rgba(255,255,255,.0) 72%);
  pointer-events: none;
}
.cjr-hero > .container { position: relative; z-index: 2; }
.hero-content-wrap { max-width: 600px; padding: calc(var(--nav-h)) 0 48px; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(26,42,94,.07);
  border: 1px solid rgba(26,42,94,.13);
  border-radius: var(--radius-sm);
  padding: 6px 16px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--maincolor);
  margin-bottom: 20px;
}
.hero-badge .dot {
  width: 7px; height: 7px;
  background: #22c55e;
  border-radius: 50%;
  flex-shrink: 0;
  animation: pulse-dot 1.5s infinite;
}
@keyframes pulse-dot {
  0%,100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.4); opacity: .7; }
}
.hero-headline {
  font-size: clamp(2.5rem, 4vw, 4.5rem);
  font-weight: 700;
  color: var(--maincolor);
  line-height: 1.1;
  margin-bottom: 22px;
}
.hero-headline em { color: var(--secondcolor); font-style: normal; }
.hero-desc { color: #3a4a5c; font-size: 1.25rem; line-height: 1.85; margin-bottom: 32px; }
.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-cta .btn-main,
.hero-cta .btn-outline-custom {
  font-size: 1.05rem;
  padding: 13px 32px;
}
.hero-stats {
  display: flex;
  gap: 28px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--border-light);
  flex-wrap: wrap;
}
.hero-stat-num { font-weight: 700; color: var(--maincolor); line-height: 1; }
.hero-stat-label { color: #8a96a8; margin-top: 4px; text-transform: uppercase; letter-spacing: .06em; }

/* ── Service Cards ───────────────────────────────────────── */
.service-card {
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  padding: 28px 24px;
  height: 100%;
  transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
  border: 1px solid transparent;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.service-card .service-icon, .svc-icon {
  width: 52px; height: 52px;
  background: rgba(26,42,94,.07);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: var(--maincolor);
  transition: background var(--ease);
}
.service-card:hover .service-icon,
.service-card:hover .svc-icon { background: var(--maincolor); color: #fff; }
.service-card h3, .svc-title {
  font-weight: 700;
  color: var(--headingcolor);
  margin-bottom: 10px;
}
.service-card p, .svc-desc { color: #6e7a8a; line-height: 1.75; margin-bottom: 14px; }
.service-link, .svc-link {
  font-weight: 700;
  color: var(--lightbluecolor);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: gap var(--ease);
}
.service-link:hover, .svc-link:hover { gap: 9px; color: var(--secondcolor); }

/* ── About Image Wrap ────────────────────────────────────── */
.about-img-wrap { position: relative; }
.about-img-main {
  width: 100%;
  border-radius: var(--radius);
  object-fit: cover;
  max-height: 500px;
}
.about-img-accent {
  position: absolute;
  bottom: -24px; right: -24px;
  width: 180px;
  border-radius: var(--radius);
  border: 4px solid #fff;
  box-shadow: var(--shadow-lg);
  object-fit: cover;
  height: 130px;
}
.years-box {
  position: absolute;
  top: 20px; left: -16px;
  background: var(--lightbluecolor);
  color: #fff;
  border-radius: var(--radius);
  padding: 14px 18px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(26,42,94,.28);
  z-index: 1;
}
.y-num, .years-num { font-weight: 700; font-size: 1.5rem; display: block; line-height: 1; }
.y-lbl, .years-label { opacity: .8; text-transform: uppercase; letter-spacing: .08em; margin-top: 4px; display: block; }

/* ── Mission / Vision Cards ──────────────────────────────── */
.mv-card {
  background: #fff;
  border-radius: var(--radius);
  border-left: 4px solid var(--maincolor);
  padding: 28px;
  position: relative;
  overflow: hidden;
  height: 100%;
  box-shadow: var(--shadow);
}
.mv-card.cherry { border-left-color: var(--cherrycolor); }
.mv-card .mv-icon {
  width: 52px; height: 52px;
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
 color: #fff;
  margin-bottom: 16px;
  background: var(--maincolor);
}
.mv-card .kanji-bg {
  position: absolute;
  right: -10px; bottom: -20px;
  font-weight: 900;
  color: var(--maincolor); opacity: .04;
  pointer-events: none;
}
.mv-card h3, .mv-card h4 { font-weight: 700; color: var(--headingcolor); margin-bottom: 10px; }
.mv-card p { color: #6e7a8a; line-height: 1.75; margin: 0; }

/* ── Stat / Overview Cards ───────────────────────────────── */
.overview-card {
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  padding: 24px;
  text-align: center;
  transition: box-shadow var(--ease);
}
.overview-card:hover { box-shadow: var(--shadow-lg); }
.overview-card .overview-num, .ov-num {
 font-weight: 700; 
 font-size: 1.8rem;
 color: var(--maincolor);
 line-height: 1;
 margin-bottom: 6px;
}
.overview-card .overview-icon {
  width: 48px; height: 48px;
  background: rgba(26,42,94,.07);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
 color: var(--maincolor);
}
.overview-card h4 { font-weight: 700; color: var(--headingcolor); margin-bottom: 6px; }
.overview-card p { color: #6e7a8a; margin: 0; line-height: 1.7; }
.ov-label { font-weight: 700; color: #8a96a8; text-transform: uppercase; letter-spacing: .08em; }

/* ── Choose Section ──────────────────────────────────────── */
.choose-section { background: var(--maincolor); padding: 0 !important; }
.choose-image-col {
  position: relative;
  overflow: hidden;
  min-height: 480px;
}
.choose-image-col img { width: 100%; height: 100%; object-fit: cover; }
.choose-content-col {
  background: var(--maincolor);
  padding: 80px 60px;
}

/* Choose cards — dark bg (default) */
.choose-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: 22px;
  height: 100%;
  transition: background var(--ease);
}
.choose-card:hover { background: rgba(255,255,255,.12); }
.choose-card-icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
 color: #fff;
  margin-bottom: 12px;
}
.choose-card h4, .choose-card h5 { font-weight: 700; color: #fff; margin-bottom: 8px; }
.choose-card p { color: rgba(255,255,255,.72); margin: 0; line-height: 1.7; }
.choose-card .text-muted { color: rgba(255,255,255,.65) !important; }

/* Choose cards — light bg context */
.bg-washi .choose-card,
.bg-white .choose-card {
  background: #fff;
  border-color: var(--border-light);
  box-shadow: var(--shadow);
}
.bg-washi .choose-card:hover, .bg-white .choose-card:hover {
  box-shadow: var(--shadow-lg);
  border-color: transparent;
  background: #fff;
}
.bg-washi .choose-card h4, .bg-washi .choose-card h5,
.bg-white .choose-card h4,  .bg-white .choose-card h5 { color: var(--headingcolor); }
.bg-washi .choose-card p, .bg-washi .choose-card .text-muted,
.bg-white .choose-card p,  .bg-white .choose-card .text-muted { color: #6e7a8a !important; }
.bg-washi .choose-card .choose-card-icon, .bg-white .choose-card .choose-card-icon {
  background: rgba(26,42,94,.07);
  color: var(--maincolor);
}

/* Choose numbered list */
.choose-list { margin-top: 16px; }
.choose-item {
  display: flex;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.choose-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.choose-num {
  width: 36px; height: 36px;
  border-radius: var(--radius-sm);
  background: var(--lightbluecolor);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; flex-shrink: 0;
}
.choose-item strong { display: block; color: #fff; font-weight: 700; margin-bottom: 4px; }
.choose-item p { color: rgba(255,255,255,.72); margin: 0; line-height: 1.7; }

/* ── Industry Cards ──────────────────────────────────────── */
.industry-card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 260px;
}
.industry-card img { width: 100%; height: 260px; object-fit: cover; display: block; }
.industry-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26,42,94,.05) 0%, rgba(26,42,94,.85) 100%);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
}
.industry-overlay h3 { font-weight: 700; margin-bottom: 8px; }
.industry-list { padding-left: 14px; margin: 0; opacity: .85; }
.industry-list li { margin-bottom: 3px; }

/* ── Success / Case Cards ────────────────────────────────── */
.success-card {
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  overflow: hidden;
  height: 100%;
  transition: box-shadow var(--ease), transform var(--ease);
  padding: 0;
}
.success-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.success-card-img { position: relative; overflow: hidden; }
.success-card-img img { width: 100%; height: 180px; object-fit: cover; display: block; }
.s-tag {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--maincolor);
  color: #fff;
 font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
}
.success-card-body { padding: 20px; }
.success-card h4, .success-card h5 { font-weight: 700; color: var(--headingcolor); margin-bottom: 10px; }
.success-meta { color: #6e7a8a; line-height: 1.6; margin-bottom: 6px; }
.success-more {
 font-weight: 600;
  color: var(--maincolor);
  display: inline-flex; align-items: center; gap: 5px;
  text-decoration: none !important;
  margin-top: 10px;
  transition: gap var(--ease);
}
.success-more:hover { gap: 9px; color: var(--secondcolor); }

/* Success cards inside dark sections */
.bg-panel .success-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}
.bg-panel .success-card:hover { box-shadow: none; transform: translateY(-2px); }
.bg-panel .success-card h4,
.bg-panel .success-card h5 { color: #fff; }
.bg-panel .success-meta { color: rgba(255,255,255,.7); }
.bg-panel .success-more { color: rgba(255,255,255,.8); }
.bg-panel .success-more:hover { color: #fff; }
/* Step-style cards with padding */
.success-card.text-center,
.bg-panel .success-card.text-center { padding: 28px; }
.bg-panel .success-card p { color: rgba(255,255,255,.72); }

/* ── Candidate Profile Cards ─────────────────────────────── */
.candidate-card {
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  padding: 24px;
  transition: box-shadow var(--ease);
}
.candidate-card:hover { box-shadow: var(--shadow-lg); }
.c-name { font-weight: 700; color: var(--headingcolor); margin-top: 8px; }
.c-role { color: #6e7a8a; }
.c-placed {
 color: var(--maincolor);
  margin-top: 10px;
  display: flex; justify-content: space-between; align-items: center;
}
.c-score {
  background: rgba(26,42,94,.07);
  padding: 2px 10px;
  border-radius: var(--radius-sm);
  font-weight: 700;
}
.candidate-card .c-avatar,
.candidate-card img.c-img { border-radius: 50% !important; }

/* ── Expertise Items ─────────────────────────────────────── */
.expertise-item {
  display: flex;
  gap: 16px;
  padding: 20px;
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  transition: box-shadow var(--ease), transform var(--ease);
  height: 100%;
}
.expertise-item:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.expertise-item.text-center { flex-direction: column; align-items: center; gap: 10px; }
.exp-icon {
  width: 48px; height: 48px;
  background: rgba(26,42,94,.07);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
 color: var(--maincolor);
}
.expertise-item h4, .expertise-item h5 { font-weight: 700; color: var(--headingcolor); margin-bottom: 6px; }
.expertise-item p { color: #6e7a8a; margin: 0; line-height: 1.7; }

/* ── Benefit Items ───────────────────────────────────────── */
.benefit-item {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
  align-items: flex-start;
}
.benefit-icon {
  width: 44px; height: 44px;
  background: rgba(26,42,94,.07);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
 color: var(--maincolor);
  flex-shrink: 0;
}
.benefit-item h5 { font-weight: 700; color: var(--headingcolor); margin-bottom: 4px; }
.benefit-item p { color: #6e7a8a; margin: 0; line-height: 1.7; }

/* ── Testimonials ────────────────────────────────────────── */
.testimonial-card, .testim-card {
  background: #fff;
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  padding: 28px;
  height: 100%;
  transition: box-shadow var(--ease), transform var(--ease);
}
.testimonial-card:hover, .testim-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.testimonial-card .stars { color: #f59e0b; margin-bottom: 16px; letter-spacing: 2px; }
.testimonial-card blockquote, .testim-quote {
 line-height: 1.85;
  color: #5a6a7a; font-style: italic;
  margin-bottom: 20px; padding: 0; border: none;
}

/* Dark testimonials */
.bg-panel .testimonial-card, .bg-panel .testim-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}
.bg-panel .testimonial-card:hover, .bg-panel .testim-card:hover {
  background: rgba(255,255,255,.1);
  box-shadow: none;
  transform: translateY(-2px);
}
.bg-panel blockquote, .bg-panel .testim-quote { color: rgba(255,255,255,.82); }
.bg-panel .testimonial-card .stars { color: #f59e0b; }
.bg-panel .t-name { color: #fff; }
.bg-panel .t-role { color: rgba(255,255,255,.55); }
.bg-panel .testim-author strong { color: #fff; }
.bg-panel .testim-author span { color: rgba(255,255,255,.6); }
.bg-panel .text-warning { color: #f59e0b !important; }
.bg-panel .text-white-75 { color: rgba(255,255,255,.75) !important; }

/* Avatars */
.t-img, .testim-avatar, .p-img, .c-img, .team-avatar { border-radius: 50% !important; object-fit: cover; }
.testim-avatar {
  width: 48px; height: 48px;
  border: 2px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.12);
  border-radius: 50% !important;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700;
  flex-shrink: 0;
}
.t-img { width: 48px; height: 48px; border: 2px solid var(--border-light); }
.t-name { font-weight: 700; color: var(--headingcolor); }
.t-role { color: #8a96a8; }
.testim-author { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.testim-author strong { display: block; color: var(--headingcolor); }
.testim-author span { color: #8a96a8; }

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-item { border-bottom: 1px solid var(--border-light); }
.faq-item:first-child { border-top: 1px solid var(--border-light); }
.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--headingcolor);
  cursor: pointer;
  gap: 12px;
  transition: color var(--ease);
  user-select: none;
}
.faq-question:hover { color: var(--maincolor); }
.faq-icon {
  width: 30px; height: 30px;
  background: rgba(26,42,94,.06);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
 color: var(--maincolor);
  transition: background var(--ease), color var(--ease);
}
.faq-question:hover .faq-icon { background: var(--maincolor); color: #fff; }
.faq-answer { display: none; padding: 0 0 20px; color: #6e7a8a; line-height: 1.85; }

/* ── CTA Band ────────────────────────────────────────────── */
.cta-band { background: var(--maincolor); padding: 60px 0; }
.cta-band h2, .cta-band h3 { color: #fff; font-weight: 700; margin-bottom: 8px; }
.cta-band p { color: rgba(255,255,255,.75); margin-bottom: 24px; }

/* ── Contact Info Card ───────────────────────────────────── */
.contact-info-card {
  background: linear-gradient(150deg, #0a3570 0%, var(--maincolor) 55%, #083060 100%);
  border-radius: var(--radius);
  padding: 36px 28px;
  color: #fff;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.contact-info-card::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(28,153,205,.15);
  pointer-events: none;
}
.contact-info-card::after {
  content: '';
  position: absolute;
  bottom: -40px;
  left: -40px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(28,153,205,.08);
  pointer-events: none;
}
.contact-info-card h3, .contact-info-card h4 { font-weight: 700; color: #fff; margin-bottom: 24px; }
.btn-booking-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #fff;
  color: var(--secondcolor) !important;
  border: 2px solid #fff;
  border-radius: 50px;
  padding: 11px 24px;
  font-weight: 700;
  font-size: .93rem;
  text-decoration: none !important;
  transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
  box-shadow: 0 4px 16px rgba(0,0,0,.18);
}
.btn-booking-cta:hover {
  background: var(--secondcolor);
  color: #fff !important;
  border-color: var(--secondcolor);
  box-shadow: 0 6px 24px rgba(28,153,205,.4);
}
.contact-detail { display: flex; gap: 15px; margin-bottom: 25px; align-items: center; }
.ci-icon {
  width: 40px; height: 40px;
  background: rgba(255,255,255,.12);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
 color: #fff; flex-shrink: 0;
}
.ci-label { font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: rgba(255,255,255,.5); margin-bottom: 4px; }
.ci-value { color: rgba(255,255,255,.87); line-height: 1.6; }
.ci-main-content { margin: auto 0; }
.ci-value a { color: rgba(255,255,255,.87); text-decoration: none; transition: color var(--ease); }
.ci-value a:hover { color: #fff; }
.contact-detail strong { display: block; text-transform: uppercase; letter-spacing: .09em; color: rgba(255,255,255,.5); margin-bottom: 4px; }
.contact-detail p { color: rgba(255,255,255,.87); margin: 0; line-height: 1.6; }
.contact-detail a { color: rgba(255,255,255,.87); }

/* Contact form */
.cjr-form .form-control, .cjr-form .form-select {
  border: 1.5px solid #dde4ef;
  border-radius: var(--radius-sm) !important;
  padding: 11px 14px;
  transition: border-color var(--ease), box-shadow var(--ease);
}
.cjr-form .form-control:focus, .cjr-form .form-select:focus {
  border-color: var(--maincolor);
  box-shadow: 0 0 0 3px rgba(26,42,94,.08);
}
.cjr-form .form-label { font-weight: 600; color: var(--headingcolor); margin-bottom: 5px; }
.form-control, .form-select { border-radius: var(--radius-sm) !important; }
.form-select {
  border: 1.5px solid #dde4ef !important;
  padding: 11px 42px 11px 14px !important;
  color: #3a4a5c;
  height: 56px !important;
}
.form-select:focus {
  border-color: var(--maincolor) !important;
  box-shadow: 0 0 0 3px rgba(26,42,94,.08) !important;
}
.bg-white .form-control, .bg-white .form-select { border-radius: var(--radius-sm) !important; }
.bg-white .btn-check + .btn { border-radius: var(--radius-sm) !important; }
.btn-group .btn-outline-primary { border-radius: 0 !important; padding: 10px 16px; }
.btn-group > .btn:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important; }
.btn-group > .btn:last-child  { border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important; }
.btn-check:checked + .btn-outline-primary { background: var(--maincolor) !important; color: #fff !important; }

/* ── Branch Cards ────────────────────────────────────────── */
.branch-card {
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow var(--ease), transform var(--ease);
  height: 100%;
}
.branch-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.branch-banner { position: relative; height: 180px; background-size: cover; background-position: center; }
.branch-banner-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,42,94,.2), rgba(26,42,94,.72));
  display: flex; align-items: flex-start; justify-content: flex-end;
  padding: 12px;
}
.branch-body { padding: 22px; }
.branch-title { font-weight: 700; color: var(--headingcolor); margin-bottom: 14px; }
.branch-info { color: #6e7a8a; display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; }
.branch-info a { color: var(--maincolor); text-decoration: none; transition: color var(--ease); }
.branch-info a:hover { color: var(--secondcolor); }
.branch-info i { color: var(--maincolor); flex-shrink: 0; margin-top: 2px; }
.badge.bg-cherry { background: var(--cherrycolor) !important; color: #fff !important; }

/* ── Timeline ────────────────────────────────────────────── */
.timeline { position: relative; }
.timeline::before {
  content: '';
  position: absolute;
  left: 80px; top: 0; bottom: 0;
  width: 2px;
  background: var(--border-light);
}
.timeline-item { display: flex; gap: 20px; margin-bottom: 36px; align-items: flex-start; position: relative; }
.tl-year { width: 72px; text-align: right; font-weight: 700; color: var(--maincolor); flex-shrink: 0; padding-top: 2px; }
.tl-dot {
  width: 14px; height: 14px;
  background: var(--maincolor); border-radius: 50%;
  flex-shrink: 0; margin-top: 4px;
  box-shadow: 0 0 0 4px rgba(26,42,94,.12);
  position: relative; z-index: 1;
}
.tl-content h5 { font-weight: 700; color: var(--headingcolor); margin-bottom: 6px; }
.tl-content p { color: #6e7a8a; margin: 0; line-height: 1.75; }

/* ── Service Features List ───────────────────────────────── */
.service-features { list-style: none; padding: 0; margin: 0; }
.service-features li {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 9px 0; color: #3a4a5c;
  border-bottom: 1px solid #edf1f8;
}
.service-features li:last-child { border-bottom: none; }
.service-features li i { color: var(--cherrycolor); margin-top: 3px; flex-shrink: 0; }

/* ── Process Steps ───────────────────────────────────────── */
.process-step {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius);
  padding: 32px 24px; height: 100%;
  transition: background var(--ease);
}
.process-step:hover { background: rgba(255,255,255,.1); }
.process-num { font-weight: 800; color: rgba(255,255,255,.2); line-height: 1; margin-bottom: 12px; }

/* ── Partners Band ───────────────────────────────────────── */
.partners-band {
  background: var(--bg-warm);
  padding: 48px 0;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}
.pb-item { padding: 16px 24px; border-right: 1px solid var(--border-light); }
.pb-item:last-child { border-right: none; }
.pb-num { font-weight: 700; color: var(--maincolor); line-height: 1; margin-bottom: 6px; }
.pb-label { font-weight: 600; color: #6e7a8a; text-transform: uppercase; letter-spacing: .06em; }

/* ── Call Us Band ────────────────────────────────────────── */
.call-us-band {
  background: var(--bg-warm);
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
  padding: 28px 0;
}
.call-us-band .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.call-us-left { display: flex; align-items: center; gap: 16px; }
.call-us-icon {
  width: 48px; height: 48px;
  background: var(--maincolor);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
 color: #fff;
}
.call-us-label { color: #6e7a8a; text-transform: uppercase; letter-spacing: .08em; }
.call-us-number { font-weight: 700; color: var(--maincolor); }
.call-us-number a { color: var(--maincolor); text-decoration: none; }

/* ── Sticky Service Nav ──────────────────────────────────── */
.sticky-service-nav {
  position: sticky; top: 0; z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--border-light);
  padding: 12px 0;
  box-shadow: 0 2px 8px rgba(26,42,94,.06);
}
.sticky-service-nav .btn-outline-primary {
  color: #6e7a8a !important;
  border-color: #dde3ec !important;
  background: transparent !important;
}
.sticky-service-nav .btn-outline-primary:hover,
.sticky-service-nav .btn-outline-primary:focus {
  color: var(--maincolor) !important;
  border-color: var(--maincolor) !important;
  background: rgba(26,42,94,.06) !important;
}

/* Success / testim cards on light-bg sections */
.bg-washi .success-card {
  background: #fff;
  border: 1px solid var(--border-light);
  box-shadow: var(--shadow);
}
.bg-washi .success-card h5 { color: var(--headingcolor); }
.bg-washi .success-card p  { color: #6e7a8a; }

/* ── Footer ─────��──────────────────────���─────────────────── */
.dark-footer, .skin-dark-footer {
  background-color: var(--blue-dark) !important;
  background-image: none !important;
}

/* Footer CTA Band */
.footer-cta-band {
  background: linear-gradient(120deg, var(--secondcolor) 0%, var(--maincolor) 100%);
  padding: 52px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.footer-cta-eyebrow {
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-bottom: 10px;
}
.footer-cta-title {
  font-weight: 700;
  color: #fff;
  margin: 0;
  line-height: 1.25;
}
.btn-footer-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.45);
  border-radius: 50px;
  padding: 12px 26px;
  font-weight: 600;
  text-decoration: none !important;
  transition: all .2s;
}
.btn-footer-outline:hover {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.8);
  color: #fff !important;
}
.btn-footer-book {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--maincolor) !important;
  border: none;
  border-radius: 50px;
  padding: 12px 28px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all .2s;
  box-shadow: 0 4px 20px rgba(0,0,0,.18);
}
.btn-footer-book:hover {
  background: var(--bg-warm);
  color: var(--maincolor) !important;
  box-shadow: 0 6px 28px rgba(0,0,0,.24);
  transform: translateY(-1px);
}

/* Footer Main */
.footer-main { padding: 60px 0 40px; }

/* Widget title */
.footer-widget-title {
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: #fff !important;
  margin-bottom: 22px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

/* Override template widget-title for compat */
.dark-footer h4.widget-title, .skin-dark-footer h4.widget-title {
  color: #fff !important;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  margin-bottom: 22px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

/* Footer nav menu */
.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-menu li { margin-bottom: 11px; }
.footer-menu li a {
  color: rgba(255,255,255,.55) !important;
  text-decoration: none !important;
  transition: color .18s, padding-left .18s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer-menu li a::before {
  content: '›';
  opacity: .35;
  transition: opacity .18s;
  flex-shrink: 0;
}
.footer-menu li a:hover { color: #fff !important; padding-left: 4px; }
.footer-menu li a:hover::before { opacity: 1; }

/* Footer brand desc */
.footer-desc {
  color: rgba(255,255,255,.5);
  line-height: 1.78;
  margin: 14px 0 22px;
}

/* Social icons */
.footer-social-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.footer-social-link {
  width: 38px; height: 38px;
  background: rgba(255,255,255,.1);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.6) !important;
  text-decoration: none !important;
  transition: all .2s;
}
.footer-social-link:hover {
  background: var(--cherrycolor);
  color: #fff !important;
  transform: translateY(-2px);
}

/* Footer nav-brand — same component as navbar, dark-bg overrides */
.dark-footer .nav-brand img,
.skin-dark-footer .nav-brand img { filter: brightness(10); }
.dark-footer .nav-brand .nav-logo-name,
.skin-dark-footer .nav-brand .nav-logo-name { color: #fff; }
.dark-footer .nav-brand .nav-logo-sub,
.skin-dark-footer .nav-brand .nav-logo-sub { color: rgba(255,255,255,.4); }
.dark-footer .nav-brand .nav-logo-text,
.skin-dark-footer .nav-brand .nav-logo-text { border-left-color: rgba(255,255,255,.18); }
.footer-brand-wrap { margin-bottom: 4px; }

/* Footer licence info */
.footer-licence { margin-top: 16px; }
.footer-licence-heading {
 font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: rgba(255,255,255,.4); margin-bottom: 10px;
}
.footer-licence-item {
 color: rgba(255,255,255,.55); margin-bottom: 5px; line-height: 1.5;
}

/* Contact list */
.footer-contact-list { list-style: none; padding: 0; margin: 0 0 20px; }
.footer-contact-list li { display: flex; align-items: flex-start; gap: 11px; color: rgba(255,255,255,.55); line-height: 1.6; margin-bottom: 13px; }
.footer-contact-list li i { color: var(--cherrycolor); margin-top: 3px; flex-shrink: 0; }
.footer-contact-list li a { color: rgba(255,255,255,.55) !important; text-decoration: none; transition: color var(--ease); }
.footer-contact-list li a:hover { color: #fff !important; }

/* Compat overrides */
.dark-footer .footer-widget ul li a,
.skin-dark-footer .footer-widget ul li a { color: rgba(255,255,255,.55) !important; }
.dark-footer .footer-widget ul li a:hover,
.skin-dark-footer .footer-widget ul li a:hover { color: #fff !important; }

/* Footer bottom bar */
.footer-copy { font-size: .92rem; color: rgba(255,255,255,.38); margin: 0; }
.footer-copy a { color: rgba(255,255,255,.72) !important; text-decoration: underline !important; transition: color var(--ease); }
.footer-copy a:hover { color: #fff !important; }
.footer-legal { display: inline-flex; align-items: center; }
.footer-legal a { font-size: .92rem; color: rgba(255,255,255,.38); text-decoration: none; transition: color var(--ease); }
.footer-legal a:hover { color: #fff; }
.footer-legal-sep { color: rgba(255,255,255,.2); margin: 0 10px; }

@media (max-width: 767px) {
  .footer-cta-band { padding: 40px 0; text-align: center; }
  .footer-cta-band .d-flex { justify-content: center !important; }
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 991px) {
  .section-pad { padding: 72px 0; }
  .choose-content-col { padding: 52px 28px; }
  .about-img-accent { display: none; }
  .cjr-hero { min-height: 90vh; }
  .hero-bg-img { background-position: 75% top; }
  .hero-content-wrap { max-width: 100%; padding-bottom: 56px; }
  .timeline::before { left: 56px; }
  .tl-year { width: 48px; }
}

@media (max-width: 767px) {
  .section-pad { padding: 56px 0; }
  .choose-content-col { padding: 44px 20px; }
  .hero-cta { gap: 10px; }
  .call-us-band .container { justify-content: center; text-align: center; }
  .call-us-left { justify-content: center; }
  .timeline::before { display: none; }
  .tl-year { width: auto; min-width: 44px; }
  .pb-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .cta-band { padding: 48px 0; text-align: center; }
  .cta-band .text-lg-end { text-align: center !important; }
  /* Hero: strong uniform overlay so text stays legible over the background image */
  .cjr-hero::before {
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0.88) 0%,
      rgba(255,255,255,0.80) 60%,
      rgba(255,255,255,0.65) 100%
    );
  }
  .hero-headline { color: #0f1d3a; }
  .hero-desc    { color: #1e2d45; }
}

/* ── Team Cards ─────────────────────────────────────────────── */
.team-card {
  background: #fff;
  border: 1.5px solid #e0e8f5;
  border-radius: var(--radius);
  padding: 36px 22px 28px;
  text-align: center;
  height: 100%;
  position: relative;
  box-shadow: 0 2px 12px rgba(26,42,94,.06);
  transition: box-shadow var(--ease), transform var(--ease);
}
.team-card:hover {
  box-shadow: 0 12px 36px rgba(26,42,94,.14);
  transform: translateY(-6px);
}
.team-photo {
  width: 130px; height: 130px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  outline: 2px solid var(--maincolor);
  box-shadow: 0 6px 24px rgba(26,42,94,.18);
  margin-bottom: 18px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.team-name { font-weight: 700; color: var(--headingcolor); margin-bottom: 4px; }
.team-role { font-weight: 700; color: var(--maincolor); text-transform: uppercase; letter-spacing: .07em; margin-bottom: 6px; }
.team-focus { color: #8a96a8; margin-bottom: 10px; }
.team-bio { color: #6e7a8a; line-height: 1.72; margin: 0; }
.team-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--lightbluecolor);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 50px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ── Mission / Vision Split Panel ──────────────────────────── */
.mv-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.mv-split.mv-light {
  gap: 24px;
  overflow: visible;
  box-shadow: none;
  border-radius: 0;
}
.mv-panel {
  padding: 52px 44px;
  position: relative;
  overflow: hidden;
}
.mv-panel.navy { background: var(--maincolor); }
.mv-panel.lightblue { background: var(--lightbluecolor); }
.mv-panel .mv-kanji {
  position: absolute;
  right: 10px; top: 20px;
  font-weight: 900;
  font-size: 8rem;
  color: rgba(255,255,255,.06);
  line-height: 1; pointer-events: none;
}
.mv-panel-icon {
  width: 52px; height: 52px;
  background: rgba(255,255,255,.15);
  border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  margin-bottom: 20px;
}
.mv-panel h3 { font-weight: 700; color: #fff; margin-bottom: 12px; }
.mv-panel p { color: rgba(255,255,255,.78); line-height: 1.82; margin: 0; }

/* Mission & Vision — light variant */
.mv-split.mv-light {
  margin-left: 40px;
  margin-right: 40px;
}
.mv-split.mv-light .mv-panel {
  background: var(--offwhitecolor);
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.mv-split.mv-light .mv-panel.navy { border-top: 4px solid var(--maincolor); }
.mv-split.mv-light .mv-panel.lightblue { border-top: 4px solid var(--lightbluecolor); }
.mv-split.mv-light .mv-panel .mv-kanji { color: rgba(26,42,94,.05); }
.mv-split.mv-light .mv-panel-icon { background: transparent; }
.mv-split.mv-light .mv-panel.navy .mv-panel-icon { background: rgba(26,42,94,.1); color: var(--maincolor); }
.mv-split.mv-light .mv-panel.lightblue .mv-panel-icon { background: rgba(74,144,217,.1); color: var(--lightbluecolor); }
.mv-split.mv-light .mv-panel h3 { color: var(--headingcolor); }
.mv-split.mv-light .mv-panel p { color: #6e7a8a; }

@media (max-width: 767px) {
  .mv-split { grid-template-columns: 1fr; }
  .mv-split.mv-light { margin-left: 0; margin-right: 0; }
  .mv-panel { padding: 40px 28px; }
}

/* ── Circular Candidate Photos ──────────────────────────────── */
.cand-photos {
  position: relative;
  height: 430px;
}
.cand-circle {
  position: absolute;
  border-radius: 50%;
  overflow: hidden;
  border: 5px solid #fff;
  box-shadow: 0 14px 44px rgba(26,42,94,.16);
}
.cand-circle img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cand-c1 { width: 270px; height: 270px; top: 0;   left: 5%; }
.cand-c2 { width: 200px; height: 200px; bottom: 0; right: 5%; }
.cand-c3 { width: 130px; height: 130px; top: 0;   right: 5%; }
@media (max-width: 991px) {
  .cand-photos { height: 280px; }
  .cand-c1 { width: 190px; height: 190px; }
  .cand-c2 { width: 145px; height: 145px; }
  .cand-c3 { width:  95px; height:  95px; }
}

/* ── Commitment Cards ────────────────────────────────────────── */
.commit-card {
  padding: 30px 26px;
  background: #fff;
  border-radius: var(--radius);
  border-top: 1px solid var(--maincolor);
  box-shadow: var(--shadow);
  height: 100%;
  transition: box-shadow var(--ease), transform var(--ease);
}
.commit-card.cherry { border-top-color: var(--cherrycolor); }
.commit-card.accent { border-top-color: var(--secondcolor); }
.commit-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.commit-icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-sm);
  background: rgba(26,42,94,.07);
  display: flex; align-items: center; justify-content: center;
 color: var(--maincolor);
  margin-bottom: 16px;
  transition: background var(--ease), color var(--ease);
}
.commit-card.cherry .commit-icon { background: rgba(var(--lightblue-rgb),.08); color: var(--lightbluecolor); }
.commit-card.accent .commit-icon { background: rgba(26,42,94,.06); color: var(--secondcolor); }
.commit-card:hover .commit-icon { background: var(--maincolor); color: #fff; }
.commit-card.cherry:hover .commit-icon { background: var(--lightbluecolor); }
.commit-card h5 { font-weight: 700; color: var(--headingcolor); margin-bottom: 10px; }
.commit-card p { color: #6e7a8a; margin: 0; line-height: 1.8; }

/* ── Service Image Frame ────────────────────────────────────── */
.svc-img-frame {
  position: relative;
  padding: 0 0 16px 16px;
}
.svc-img-frame img {
  width: 100%;
  border-radius: var(--radius);
  display: block;
  max-height: 360px;
  object-fit: cover;
  object-position: center top;
  position: relative;
  z-index: 1;
  box-shadow: var(--shadow-lg);
}
.svc-img-frame::before {
  content: '';
  position: absolute;
  top: 16px; left: 0;
  right: 16px; bottom: 0;
  background: rgba(26,42,94,.06);
  border-radius: var(--radius);
  z-index: 0;
}
.svc-img-frame.flip { padding: 0 16px 16px 0; }
.svc-img-frame.flip::before { left: 16px; right: 0; }
.svc-num-dot {
  position: absolute;
  top: 10px; right: 10px;
  width: 44px; height: 44px;
  background: var(--lightbluecolor);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  z-index: 2;
  box-shadow: 0 4px 14px rgba(26,42,94,.25);
}
.svc-img-frame.flip .svc-num-dot { right: auto; left: 10px; }

/* Areas tag grid (candidates) */
.area-tag-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.area-tag {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px solid #edf1f8;
  border-radius: var(--radius);
  padding: 10px 16px;
 font-weight: 600;
  color: var(--headingcolor);
  transition: border-color var(--ease), box-shadow var(--ease);
}
.area-tag:hover { border-color: var(--maincolor); box-shadow: 0 4px 16px rgba(26,42,94,.09); }
.area-tag i { color: var(--maincolor); }

/* Sector strip (employers) */
.sector-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  /* justify-content: center; */
}
.sector-pill {
  display: flex; align-items: center; gap: 8px;
  background: #fff;
  border: 1.5px solid #edf1f8;
  border-radius: 50px;
  padding: 9px 20px;
 font-weight: 600;
  color: var(--headingcolor);
  transition: border-color var(--ease), background var(--ease);
}
.sector-pill:hover { border-color: var(--maincolor); background: var(--bg-warm); }
.sector-pill i { color: var(--maincolor); }

/* Sector Cards (Industries We Serve) ─────────────────────────── */
.sector-card {
  background: #fff;
  border: 1.5px solid #edf1f8;
  border-radius: var(--radius);
  padding: 28px 24px;
  height: 100%;
  transition: box-shadow var(--ease), transform var(--ease), border-color var(--ease);
  position: relative;
  overflow: hidden;
}
.sector-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--maincolor), var(--secondcolor));
  transform: scaleX(0);
  transition: transform var(--ease);
  transform-origin: left;
}
.sector-card:hover {
  box-shadow: 0 12px 40px rgba(26,42,94,.12);
  transform: translateY(-4px);
  border-color: rgba(26,42,94,.15);
}
.sector-card:hover::after { transform: scaleX(1); }
.sector-icon {
  width: 56px; height: 56px;
  border-radius: var(--radius);
  background: rgba(26,42,94,.07);
  display: flex; align-items: center; justify-content: center;
 color: var(--maincolor);
  margin-bottom: 16px;
  transition: background var(--ease), color var(--ease);
}
.sector-card:hover .sector-icon { background: var(--maincolor); color: #fff; }
.sector-card h4 { font-weight: 700; color: var(--headingcolor); margin-bottom: 12px; }
.sector-roles { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.sector-role-pill {
  background: rgba(26,42,94,.06);
  color: #4a5a7a;
 font-weight: 600;
  padding: 3px 11px;
  border-radius: 50px;
  letter-spacing: .02em;
  transition: background var(--ease), color var(--ease);
}
.sector-card:hover .sector-role-pill { background: rgba(26,42,94,.1); color: var(--maincolor); }

/* ── Sector Card — Background Image Variant ─────────────────── */
.sector-card-img {
  background-size: cover;
  background-position: center;
  border-color: transparent;
}
.sector-card-img::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(17,30,71,.52) 0%, rgba(17,30,71,.90) 100%);
  border-radius: inherit;
  z-index: 0;
}
.sector-card-img > * { position: relative; z-index: 1; }
.sector-card-img .sector-icon { background: rgba(255,255,255,.15); color: #fff; }
.sector-card-img:hover .sector-icon { background: rgba(255,255,255,.25); color: #fff; }
.sector-card-img h4 { color: #fff; }
.sector-card-img .sector-role-pill { background: rgba(255,255,255,.14); color: rgba(255,255,255,.85); }
.sector-card-img:hover .sector-role-pill { background: rgba(255,255,255,.24); color: #fff; }
.sector-card-img:hover { border-color: transparent; }
.sector-card-img::after { display: none; }

/* ── Expertise Panels (What We Bring) ──────────────────────── */
.ep-row {
  display: flex;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  align-items: flex-start;
  transition: padding-left var(--ease);
}
.ep-row:first-child { padding-top: 0; }
.ep-row:last-child { border-bottom: none; padding-bottom: 0; }
.ep-icon {
  width: 46px; height: 46px;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
 color: #fff;
  flex-shrink: 0;
  transition: background var(--ease);
}
.ep-row:hover .ep-icon { background: var(--lightbluecolor); }
.ep-row h4 { font-weight: 700; color: #fff; margin-bottom: 3px; }
.ep-row p { color: rgba(255,255,255,.65); margin: 0; line-height: 1.7; }

/* ── Process Flowchart ──────────────────────────────────────── */
.pf-track {
  display: flex;
  align-items: stretch;
  gap: 0;
}
.pf-step {
  flex: 1;
  min-width: 0;
  padding: 24px 16px;
  text-align: center;
}
.pf-num {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lightbluecolor);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  margin: 0 auto 14px;
  position: relative; z-index: 1;
  box-shadow: 0 4px 14px rgba(var(--lightblue-rgb),.35);
}
.pf-img-wrap {
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 16px;
}
.pf-img-wrap img { width: 100%; height: 140px; object-fit: cover; display: block; }
.pf-step-title {
 font-weight: 700;
  color: var(--headingcolor); margin-bottom: 6px;
}
.pf-step-desc { color: #6e7a8a; line-height: 1.7; margin: 0; }
.pf-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c8d0de;
  flex-shrink: 0;
  width: 28px;
}

@media (max-width: 767px) {
  .pf-track { flex-direction: column; gap: 20px; }
  .pf-arrow { display: none; }
  .pf-step { display: flex; gap: 16px; text-align: left; padding: 16px 0; }
  .pf-step-body { flex: 1; }
  .pf-num { margin: 0; flex-shrink: 0; }
  .pf-img-wrap { display: none; }
}

/* ── Contact Info Card Heading ──────────────────────────────── */
.cic-heading {
 font-weight: 700; color: #fff;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-light);
  margin-bottom: 28px;
}

/* ── Map Section ────────────────────────────────────────────── */
.map-section { padding: 0 0 60px; background: var(--bg-warm); }
.map-frame { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-lg); height: 380px; }
.map-frame iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(15%); }

/* ── Footer Licence Box ─────────────────────────────────────── */
.footer-lic-box {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  padding: 12px 14px;
  margin-top: 12px;
}
.footer-lic-row {
  display: flex; gap: 9px; align-items: flex-start;
 color: rgba(255,255,255,.48);
  line-height: 1.55; margin-bottom: 8px;
}
.footer-lic-row:last-child { margin-bottom: 0; }
.footer-lic-row i { color: var(--cherrycolor); flex-shrink: 0; margin-top: 2px; }

/* ── "What We Saw / Built" mv-split overrides ───────────────── */
.mv-panel .problem-list,
.mv-panel .solution-list {
  list-style: none; padding: 0; margin: 0;
}
.mv-panel .problem-list li,
.mv-panel .solution-list li {
  display: flex; gap: 10px; align-items: flex-start;
  color: rgba(255,255,255,.8);
  line-height: 1.65; margin-bottom: 12px;
}
.mv-panel .problem-list li i { color: rgba(255,255,255,.5); flex-shrink: 0; margin-top: 2px; }
.mv-panel .solution-list li i { color: rgba(255,255,255,.75); flex-shrink: 0; margin-top: 2px; }

/* ── Footer contact list — white icon circles (match Get in Touch) ── */
.footer-contact-list li i {
  color: #fff;
  background: rgba(255,255,255,.12);
  width: 36px; height: 36px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 0;
}

/* ── Candidate circles — 3-circle organic scatter ─────────── */
/* c1 big top-left | c3 small top-right | c2 medium bottom-right */
.cand-photos { position: relative; height: 430px; width: 380px; }
.cand-c1 { width: 230px; height: 230px; top: 20px;  left: 0; }
.cand-c2 { width: 175px; height: 175px; bottom: 0;  right: 0; }
.cand-c3 { width: 130px; height: 130px; top: 0;     right: 0; }

/* ── About image mosaic (flex — reliable) ────────────────────── */
.about-mosaic {
  display: flex;
  gap: 12px;
  height: 420px;
}
.am-main {
  flex: 0 0 58%;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
}
.am-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.am-main .years-box { position: absolute; bottom: 20px; left: 20px; top: auto; left: 20px; }
.am-side {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
.am-side img {
  flex: 1;
  border-radius: var(--radius);
  object-fit: cover;
  width: 100%;
  min-height: 0;
  display: block;
}

/* ── Hiring process cards — solid visible icons ──────────────── */
.bg-white .choose-card .choose-card-icon { background: var(--maincolor); color: #fff; }
.step-num-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--cherrycolor); color: #fff;
 font-weight: 700;
  margin-bottom: 12px;
}

/* ── Footer logo bigger ──────────────────────────────────────── */
.footer-brand-wrap .logo { height: 44px !important; }
.footer-brand-wrap .nav-logo-sub { color: rgba(255,255,255,.5); }
.footer-brand-tagline {
 color: rgba(255,255,255,.4);
  margin-top: 4px; line-height: 1.5;
  font-style: italic;
}

/* ── Social icon hover — per-platform brand colors ─────────── */
.footer-social-link[aria-label="LinkedIn"]:hover,
.cic-social a[aria-label="LinkedIn"]:hover { background: #0077B5 !important; color: #fff !important; }
.footer-social-link[aria-label="X / Twitter"]:hover,
.cic-social a[aria-label="X / Twitter"]:hover { background: #000 !important; color: #fff !important; }
.footer-social-link[aria-label="Facebook"]:hover,
.cic-social a[aria-label="Facebook"]:hover { background: #1877F2 !important; color: #fff !important; }

/* ── Responsive — Tablet & Mobile ───────────────────────────── */

/* Large tablets / small laptops (< 1200px) */
@media (max-width: 1199px) {
  .section-pad { padding: 80px 0; }
  .choose-content-col { padding: 60px 44px; }
  .about-mosaic { height: 360px; }
  .cand-photos { height: 374px; width: 331px; }
  .cand-c1 { width: 200px; height: 200px; top: 17px;  left: 0; }
  .cand-c2 { width: 152px; height: 152px; bottom: 0;  right: 0; }
  .cand-c3 { width: 113px; height: 113px; top: 0;     right: 0; }
}

/* Tablets (< 992px) */
@media (max-width: 991px) {
  .section-pad { padding: 64px 0; }
  /* About mosaic: show only main image on tablet */
  .about-mosaic { height: 320px; }
  .am-side { display: none; }
  .am-main { flex: 1; }
  /* Choose section: stack */
  .choose-content-col { padding: 52px 28px; }
  /* Candidate circles: smaller cluster */
  .cand-photos { height: 310px; width: 278px; }
  .cand-c1 { width: 166px; height: 166px; top: 14px;  left: 0; }
  .cand-c2 { width: 126px; height: 126px; bottom: 0;  right: 0; }
  .cand-c3 { width: 94px;  height: 94px;  top: 0;     right: 0; }
  /* mv-split: stack */
  .mv-split { grid-template-columns: 1fr; }
  /* Team cards: 2 per row */
  .team-card { padding: 24px 18px; }
  /* Footer col adjustments */
  .footer-main .row > [class*="col-lg-2"] { min-width: 140px; }
  /* svc-img-frame */
  .svc-img-frame img { max-height: 280px; }
  /* Contact card */
  .contact-info-card { padding: 28px 24px; }
  /* Map */
  .map-frame { height: 300px; }
}

/* Large phones / small tablets (< 768px) */
@media (max-width: 767px) {
  .section-pad { padding: 52px 0; }
  /* About mosaic: hide completely, show placeholder image */
  .about-mosaic { display: none; }
  .about-mosaic-mobile { display: block !important; }
  /* Candidate circles: compact cluster */
  .cand-photos { height: 258px; width: 228px; }
  .cand-c1 { width: 138px; height: 138px; top: 12px;  left: 0; }
  .cand-c2 { width: 105px; height: 105px; bottom: 0;  right: 0; }
  .cand-c3 { width: 78px;  height: 78px;  top: 0;     right: 0; }
  /* mv-split: stack */
  .mv-split { grid-template-columns: 1fr; }
  .mv-panel { padding: 36px 28px; }
  /* Commit cards: 1 per row */
  .commit-card { padding: 22px 18px; }
  /* sector-card */
  .sector-card { padding: 20px 18px; }
  /* ep-row */
  .ep-row { padding: 14px 16px; }
  /* Hero */
  .cjr-hero { min-height: 85vh; }
  /* Choose */
  .choose-content-col { padding: 44px 20px; }
  /* Footer */
  .footer-cta-band { padding: 36px 0; }
  .footer-main { padding: 44px 0 32px; }
  /* svc-img-frame */
  .svc-img-frame { padding: 0; }
  .svc-img-frame::before { display: none; }
  .svc-num-dot { display: none; }
  /* pf-track: already handled */
  /* contact */
  .contact-info-card { padding: 24px 20px; }
  .map-frame { height: 260px; }
  .map-section { padding: 0 0 44px; }
}

/* Small phones (< 576px) */
@media (max-width: 575px) {
  .section-pad { padding: 44px 0; }
  /* Candidate circles: small phones */
  .cand-photos { height: 219px; width: 194px; }
  .cand-c1 { width: 117px; height: 117px; top: 10px;  left: 0; }
  .cand-c2 { width: 89px;  height: 89px;  bottom: 0;  right: 0; }
  .cand-c3 { width: 66px;  height: 66px;  top: 0;     right: 0; }
  /* Choose */
  .choose-content-col { padding: 36px 16px; }
  /* Branch cards */
  .branch-banner { height: 140px; }
  /* Footer */
  .footer-brand-wrap .logo { height: 36px !important; }
  /* Footer — more horizontal padding on small devices */
  .footer-cta-band .container,
  .footer-main .container,
  .footer-bottom .container { padding-left: 24px; padding-right: 24px; }
  /* Footer bottom — center both rows */
  .footer-bottom .footer-copy,
  .footer-bottom .footer-legal,
  .footer-bottom [class*="col-"] { text-align: center !important; }
  .footer-bottom .mb-2 { margin-bottom: 4px !important; }
}

/* Mobile-only about image fallback */
.about-mosaic-mobile { display: none; }

/* ── Overflow safety ─────────────────────────────────────── */
#main-wrapper { overflow-x: clip; }

/* ── Buttons: full-width stack on small screens ──────────── */
@media (max-width: 575px) {
  .d-flex.flex-wrap .btn-primary-custom,
  .d-flex.flex-wrap .btn-outline-custom,
  .d-flex.flex-wrap .btn-cherry,
  .d-flex.flex-wrap .btn-white {
    width: 100%;
    justify-content: center;
  }
  /* Hero text: more horizontal breathing room on small phones */
  .hero-content-wrap { padding-left: 20px; padding-right: 20px; }
  /* Hero CTA: keep side-by-side, reduce padding to fit */
  .hero-cta { gap: 10px; }
  .hero-cta .btn-main,
  .hero-cta .btn-outline-custom {
    padding: 9px 18px;
  }
}

/* ── Buttons: responsive sizing ──────────────────────────── */
@media (max-width: 991px) {
  .btn,
  .btn-main,
  .btn-cherry,
  .btn-primary-custom,
  .btn-outline-custom,
  .btn-white,
  .btn-outline-white {
    font-size: 0.9rem;
    padding: 9px 22px;
  }
  .btn-lg { font-size: 1rem;      padding: 11px 24px; }
  .btn-md { font-size: 0.85rem;   padding: 7px 16px; }
  .btn-sm { font-size: 0.8rem;    padding: 5px 12px; }
  .btn-xs { font-size: 0.75rem;   padding: 3px 10px; }
}

@media (max-width: 767px) {
  .btn,
  .btn-main,
  .btn-cherry,
  .btn-primary-custom,
  .btn-outline-custom,
  .btn-white,
  .btn-outline-white {
    font-size: 0.875rem;
    padding: 9px 20px;
  }
  .btn-lg { font-size: 0.9375rem; padding: 10px 22px; }
  .btn-md { font-size: 0.8125rem; padding: 7px 14px; }
  .btn-sm { font-size: 0.775rem;  padding: 4px 11px; }
  .btn-xs { font-size: 0.725rem;  padding: 3px 9px; }
}

@media (max-width: 575px) {
  .btn,
  .btn-main,
  .btn-cherry,
  .btn-primary-custom,
  .btn-outline-custom,
  .btn-white,
  .btn-outline-white {
    font-size: 0.875rem;
    padding: 8px 18px;
  }
  .btn-lg { font-size: 0.9375rem; padding: 10px 20px; }
  .btn-md { font-size: 0.8125rem; padding: 6px 14px; }
  .btn-sm { font-size: 0.775rem;  padding: 4px 10px; }
  .btn-xs { font-size: 0.725rem;  padding: 3px 8px; }
}

/*------------------------------------
  Letter-by-letter heading reveal
------------------------------------*/
.char-word {
  display: inline-block;
  white-space: nowrap;
}
.char {
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
}
.heading-reveal .char {
  animation: charReveal 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  animation-delay: calc(var(--i, 0) * 0.025s);
}
@keyframes charReveal {
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .char        { opacity: 1; transform: none; }
  .heading-reveal .char { animation: none; }
}

/*------------------------------------
  Scroll reveal — fade up from bottom
------------------------------------*/
.reveal-up {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-delay: var(--reveal-delay, 0s);
}
.reveal-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal-up { opacity: 1; transform: none; transition: none; }
}

