:root {
  --root-bg-color: #ecf0f3;
  --user-department-color: transparent;
  --reserved-bg-color: rgb(192, 192, 192);
  --reserved-hover-bg-color: #167df0;
  --seat-selected-bg-color: #a7e6f0;
}
html,
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue",
    sans-serif;
  font-size: 16px;
  line-height: 1.5;
  height: 100%;
  background: var(--root-bg-color);

  display: flex;
  min-height: 100vh;
  flex-direction: column;
}
nav.navbar {
  border-top: 4px solid #276cda;
  margin-bottom: 0.75rem;
}
.navbar-item.brand-text {
  font-weight: 300;
}
.navbar-item,
.navbar-link {
  font-size: 14px;
  font-weight: 700;
}
.okta-image {
  display: inline-block;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAclBMVEUAAABGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+lGs+n///9CTjTpAAAAJXRSTlMAAAYZNEpaYmYJKEtfZwMjUGgLPWMRTFFgW2FGJxUOHUcNGh4WByZSugAAAAFiS0dEJcMByQ8AAAAHdElNRQfmAggNIiLJt70nAAABJUlEQVQ4y42U2bKCMAyGG0QIlEAriCyKor7/M1qODds4Z5IrmH7zZ49SbADBITxGMWIcHcNDAKD2BpCkOkPyhplOkz0GeWHQukdvRBZNkcNG5lRWdiY8Z6vytIgBnGvaIV+5+syUYy72BzOJXTzlfNW/mYmqvx4hL1e+fHLLbzlFD1BUS1IWm7ZtcFGmqnBSkBg7I11/vQ3D7dp3M2ZN4qAUiaXNPYc/8fxu2CdhCirQlpnHuCQ8PpiyOlDPjH/MuC7dyFFQ9lSh90bda90rgFfnHzBUmoX6TadcZXqW0iqiOb4tNGdEkYr9V/PeD8a78U+xYrwd9tDQshMZJHInClxUAlExRW0RNVg0KrKhk4yvaBFkKyVaTtmayw6G7PQIj9j/5/ADF1gpiYVMyrEAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDhUMTM6MzQ6MzIrMDA6MDCMt2vFAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA4VDEzOjM0OjMyKzAwOjAw/erTeQAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
}
.okta-admin {
  background-size: 24px 24px;
  width: 24px;
  height: 24px;
  vertical-align: top;
  filter: grayscale(1);
}
.okta-navbar {
  background-size: 28px 28px;
  width: 28px;
  height: 28px;
}
.ot-login-user-name {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 4px;
  text-decoration-color: var(--user-department-color);
}
.columns {
  width: 100%;
  height: 100%;
  margin-left: 0;
}
.column .columns {
  width: auto;
  margin-left: -0.75rem;
}
.menu-label {
  color: #8f99a3;
  letter-spacing: 1.3;
  font-weight: 700;
}
.menu-list a {
  color: #0f1d38;
  font-size: 14px;
  font-weight: 700;
}
.menu-list a:hover {
  background-color: transparent;
  color: #276cda;
}
.menu-list a.is-active {
  background-color: transparent;
  color: #276cda;
  font-weight: 700;
}
.card {
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.18);
  margin-bottom: 2rem;
}
.card-header-title {
  color: #8f99a3;
  font-weight: 400;
}
.info-tiles {
  margin: 1rem 0;
}
.info-tiles .subtitle {
  font-weight: 300;
  color: #8f99a3;
}
.hero.welcome.is-info {
  background: #36d1dc;
  background: -webkit-linear-gradient(to right, #5b86e5, #36d1dc);
  background: linear-gradient(to right, #5b86e5, #36d1dc);
}
.hero.welcome .title,
.hero.welcome .subtitle {
  color: hsl(192, 17%, 99%);
}
.card .content {
  font-size: 14px;
}
.card-footer-item {
  font-size: 14px;
  font-weight: 700;
  color: #8f99a3;
}

.card-table .table {
  margin-bottom: 0;
}
.events-card .card-table {
  max-height: 250px;
  overflow-y: scroll;
}

.b-table {
  width: 314px;
}
.b-table .table-wrapper.has-sticky-header {
  height: 60vh;
}
.b-table .cancel-seat td.checkbox-cell {
  vertical-align: middle;
}

.b-slider .b-slider-thumb {
  white-space: nowrap;
}

div#app {
  flex: 1;
}

footer.footer {
  font-size: 0.5rem;
  padding: 0.5rem;
  color: white;
  background-color: rgba(39, 108, 218, 0.8);
}

.footer .content {
  min-height: 1rem;
}

.svg-float {
  position: absolute;
  padding: 1rem;
  opacity: 1;
  background-color: gray;
  border-radius: 15px;
  opacity: 0.5;
  transition: opacity 0.3s, transform 0.3s;
  background-color: #c0c0c0d0;
  transform: scale(0.5);
  /*transform-origin: left top;*/
}

.svg-float.is-warning {
  background-color: #ffdd57d0;
}

.svg-float.is-danger {
  background-color: #f14668d0;
}

.svg-float:hover,
.hero.main--hero .svg-float {
  opacity: 1;
  transform: scale(1);
}

.ot-seat-reserved-blink {
  animation: blinkFrames linear alternate 0.5s 6;
}

@keyframes blinkFrames {
 from  { filter: invert(0); }
 to  { filter: invert(1); }
}

.ot-seat--rainbow {
  animation: fillRainbowFrames linear 3s infinite;
}

@keyframes fillRainbowFrames {
 0%  { fill : red }
 14%  { fill : orange }
 28%  { fill : yellow }
 43%  { fill : green }
 57%  { fill : aqua }
 71%  { fill : blue }
 86%  { fill : purple }
 100%  { fill : red }
}

.svg-seat {
  height: calc(100vh - 11rem);
  padding: 6px;
  border: solid #c4c0c0 1px;
  margin: 6px;
  -webkit-overflow-scrolling: touch;
}

.svg-seat > svg {
  border-style: solid;
  border-width: 1px;
  border-color: lightgray;
  border-radius: 4px;
}

svg > text {
  pointer-events: none;
}

g.ot-seat-bg-reserved:not(.ot-seat-bg-inherit) > rect {
  fill: var(--reserved-bg-color);
}

rect.reservable:hover {
  /* fill:  yellow; */
  filter: contrast(200%);
  /* fill-opacity: 0.7; */
  /* stroke: blue; */
  cursor: pointer;
  /* opacity: 0.5; */
}

rect.reservable + .ot-seat-reservable-hover:hover {
  opacity: 1;
  cursor: pointer;
}

g.deletableSeat:hover > * {
  cursor: pointer;
  opacity: 1 !important;
}

g.deletableSeat:hover > rect {
  fill: var(--reserved-hover-bg-color);
}

g.deletableSeat:hover > text {
  fill: #ffffff;
}

g.deletableSeat:hover span {
  color: #ffffff;
}

.ot-seat-reservation-label--breakable {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  word-break: break-all;
}

[v-cloak] {
  display: none;
}

.ot-cursor-default:hover {
  cursor: default;
}

.ot-autocomplete-modal > .dropdown-menu {
  position: relative;
  top: 0px;
}

.ot-taginput-modal {
  margin-bottom: 220px;
}

.ot-cancel-modal .ot-checkbox-button-wrap > .control {
  display: flex;
}

.ot-cancel-modal .ot-checkbox-button-wrap .field.has-addons {
  flex-wrap: wrap;
}

.ot-cancel-modal .ot-checkbox-button-wrap .field .b-checkbox.checkbox.button {
  border-radius: 4px;
  margin-right: 4px;
  margin-bottom: 4px;
}

.ot-presentation {
  position: fixed;
  bottom: -8px;
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: baseline;
  padding-left: 10px;
  padding-right: 10px;
}

.ot-presentation .is-info {
  border: solid 1px;
}

.ot-slack-state-card .content h3 {
  font-size: 0.75rem;
  margin-bottom: 3px;
}

.ot-slack-state-card .content > div {
  font-size: 0.5rem;
}

.ot-slack-state-card h3:before {
  background: rgba(var(--sk_foreground_low_solid, 221, 221, 221), 1);
  display: block;
  content: "";
  position: absolute;
  width: 4px;
  /* top: 0; */
  /* left: 0; */
  height: 1rem;
  margin-left: -0.5rem;
}

.seat-highlighted {
  fill: var(--seat-selected-bg-color) !important;
}

.table tr.is-selected {
  background-color: var(--seat-selected-bg-color);
  color: #fff;
}

th.of-hidden-table-header {
  display: none;
}

.ot-seat-area {
  max-width: 100vw;
}

.ot-calendar-tab nav.tabs {
  max-width: 350px;
}

.ot-tag-user-times {
  background-color: #ffffff;
  border: solid 1px gray;
  color: #363636 !important;
  min-width: 3rem;
  padding: 0em 0.4em;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}

.ot-tag-user-tools {
  background-color: #ffffff;
  border: solid 1px gray;
  color: #363636 !important;
  min-width: 3rem;
  padding: 0em 0.4em;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}

.ot-tag-user-attendees {
  background-color: #ffffff;
  border: solid 1px gray;
  color: #363636 !important;
  min-width: 3rem;
  padding: 0em 0.4em;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}

.ot-tag-user-attendees-name {
  background-color: #ffffff;
  border: solid 1px gray;
  color: #363636 !important;
  min-width: 3rem;
  padding: 0em 0.4em;
  margin: 0.3rem 0.5rem 0 0;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}

.ot-tag-user-department {
  cursor: pointer;
  border: solid 1px gray;
  color: #363636 !important;
  padding: 0em 0.4em;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}

.ot-tag-user-behalf {
  cursor: help;
  border: solid 1px gray;
  color: #363636 !important;
  padding: 0em 0.4em;
  border-radius: 4px;
  display: inline-block;
  text-align: center;
}

.ot-profile .ot-profile-sidebar img {
  width: 200px;
  height: 200px;
  margin: 0 auto;
}

.ot-profile .ot-profile-sidebar .ot-profile-row {
  display: flex;
  align-items: center;
  margin-top: 0.25rem;
}

.ot-profile .ot-profile-office-rate {
  position: relative;
  min-height: 200px;
}

.ot-profile .ot-profile-office-rate .ot-profile-office-rate-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.ot-profile .ot-profile-office-rate .ot-profile-office-rate-text .title.is-1 {
  font-size: 6rem;
}

@media screen and (min-width: 1024px) {
  /* .ot-seat-area {
    width: calc(100% - 500px);
  } */
  .ot-profile .ot-profile-sidebar .ot-profile-row {
    max-width: 200px;
  }
  .navbar-item.is-hoverable:hover .navbar-dropdown {
    display: none;
  }
  .navbar-item.is-hoverable:hover .navbar-item.has-dropdown {
    padding: 0px;
  }
  .navbar-item.is-hoverable:hover .navbar-item.has-dropdown .navbar-link {
    padding-left: 1rem;
    /*padding-right: 3rem;*/
    width: 100%;
  }
  .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link {
    background-color: inherit;
    color: #4a4a4a;
  }
  .navbar-item.is-hoverable:hover > .navbar-dropdown {
    display: block;
  }
  .navbar.is-white .navbar-item.has-dropdown:hover > .navbar-link {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar-item.is-hoverable:hover .navbar-item.is-hoverable:hover > .navbar-dropdown {
    top: 0px;
    left: 100%;
  }

  .ot-seat-main-area {
    flex: 1;
    width: calc(100% - 500px);
  }  
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 1023px) {
  .navbar-item.is-hoverable.ot-dropdown-collapse .navbar-dropdown {
    display: none;
  }
  .svg-seat-wrapper {
    overflow-x: scroll;
  }
  .svg-seat {
    width: 1000px;
    height: auto;
  }
  .b-table {
    width: auto;
  }
  .b-table .table-wrapper.has-sticky-header {
    height: auto;
    max-height: 60vh;
  }
  .b-table article.media {
    display: flex;
  }
  .datepicker .dropdown.is-inline .dropdown-menu {
    display: flex;
    justify-content: center;
  }

  .ot-dropdown-collapse .navbar-link:not(.is-arrowless)::after {
    transform: rotate(135deg);
  }
  .ot-dropdown-collapse__icon {
    width: 2.5em;
    right: 0px;
    top: 0px;
    position: absolute;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .navbar-item.is-hoverable .navbar-item.has-dropdown {
    padding-right: 0px;
  }
  .navbar-item.is-hoverable .navbar-item.has-dropdown .navbar-link {
    padding-left: 1.5rem;
    margin-left: -1.5rem;
  }
}

div.ot-header-columns {
  margin-bottom: 1px;
  overflow-x: scroll;
}

div.ot-announcement .notification {
  padding: 4px 8px;
}

div.ot-announcement .notification:not(:last-child) {
  margin-bottom: 4px;
}

div.ot-announcement .column {
  padding-bottom: 0.1rem;
}
div.ot-announcement .media-content {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
@media screen and (min-width: 1920px) {
  div.ot-announcement {
    /*
     calc(X + ((1vw – Y)*Z))
     x->文字サイズに指定したい最小値
     y->最小値を適用したい横幅の1%
     z->文字サイズの最大値と最小値の差/（最大値を適用したい横幅の1% – 最小値を適用したい横幅の1%）
     */
    font-size: calc(16px + ((1vw - 19.2px)*0.83));
  }
}
@media screen and (min-width: 3840px) {
  div.ot-announcement {
    font-size: 32px; /* 最大値 */
  }
}

div.ot-announcement-scroll {
  width : 100%;
  border: none;
  padding: 0px 3px;
  overflow : hidden;
}

.ot-announcement-scroll-contents {
  display : inline-block;
  padding-left: 100%;
  white-space : nowrap;
  line-height : 1em;
  animation : ot-announcement-scroll 10s linear infinite;
}

.ot-announcement-scroll-contents > * {
  display: inline-block;
}

@keyframes ot-announcement-scroll{
  0% { 
    transform: translateX(0)
  }
  100% {
    transform: translateX(-100%)
  }
}

div.ot-announcement-scroll::-webkit-scrollbar {
  display: none;
}

div.ot-header-columns .columns {
  margin: 0px;
}

.ot-header-columns::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.ot-header-columns {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

.main--hero {
  height: calc(100vh - 2rem);
}
.main__svg-seat--hero {
  height: calc(100vh - 3rem);
}

.ot-admin-colors .ot-admin-colors-departments .field.has-addons {
  flex-direction: column;
}

.ot-admin-departments-list {
  height: 70vh;
  overflow-y: scroll;
}

nav.tabs.is-boxed.is-small i.mdi {
  font-size: 1.25rem;
}

svg a.area-link {
  opacity: 0;
  transition: opacity .3s;
}

svg a.area-link:hover {
  opacity: 0.6;
}

.ot-clip-circle {
  clip-path: inset(0 round 25%)
}

.dropdown-full-menu .dropdown-menu {
  top: auto;
  bottom: 100%;
}

.section__timeline {
  color: #363636;
  font-family: fot-udkakugo-large-pr6n, sans-serif;
  padding-top: 1.5rem;
}

.section__timeline__headeres {
  position: sticky;
  top: 0;  
}

@media screen and (max-width: 768px) {
  .section__timeline__headeres > div {
    flex-direction: column;
  }
}


.section__timeline__headeres__empty,
.section__timeline__contents__seat {
  text-decoration: underline 0.25rem;
  text-underline-offset: 0.25rem;
  word-break: break-all;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 0.75rem;
  margin-right: 5px;
  width: 4rem;
}

.section__timeline__contents__seat:hover {
  cursor: pointer;
}

.section__timeline__contents__header {
  width: max-content;
  background: var(--root-bg-color);
  position: sticky;
  top: 0;
}

.section__timeline__contents__seat__label {
  background: var(--root-bg-color);
  position: sticky;
  left: 0;
}

.section__timeline__headeres__times__wrapper {
  border: solid 1px transparent;
  pointer-events: none;
  display: grid;
}

.section__timeline__headeres__times__wrapper__time {
  /* writing-mode: vertical-lr; */
  flex-grow: 1;
  flex-shrink: 1;
  pointer-events: none;
  font-weight: bold;
  /* transform: rotate(10deg); */
}

.section__timeline__contents__seat__timebox {
  /* border: solid 1px; */
  display: flex;
  border-radius: 5px;
}

.section__timeline__contents__seat__timebox-base {
  height: 4rem;
  flex-grow: 1;
  flex-shrink: 1;
}

.section__timeline__contents__seat__timebox-base:nth-child(n) {
  /* border-right: solid 1px; */
  border-right: dotted 0.5px gray;
  border-top: solid 1px gray;
  /* border-left: solid 1px gray; */
  border-bottom: solid 1px gray;
}

.section__timeline__contents__seat__timebox-0minutes {
  border-left: solid 1px;
}

.section__timeline__contents__seat__timebox > div:hover {
  background-color: var(--reserved-hover-bg-color);
}

.section__timeline__contents__seat__timebox-reserved {
  background-color: var(--reserved-bg-color);
  cursor: not-allowed;
}

.section__timeline__contents__seat__timebox-select {
  background-color: var(--seat-selected-bg-color);
  border: dotted 1px #449559 !important;
}

.section__timeline__contents__seat__timebox-current {
  width: 2px;
  height: 100%;
  background-color: red;
}
.section__timeline__contents__seat__timebox-base__name {
  position: absolute;
  display: inline-block;
  margin-top: 3px;
  margin-left: 3px;
  font-size: 10px;
  word-break: break-all;
}

.section__timeline__contents__user {
  flex-basis: 4rem;
  text-decoration: underline 0.5rem;
  text-underline-offset: 0.25rem;
  width: 4rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.transition-line-item {
  display: inline-block;
}

.transition-line-move {
  transition: all .3s ease-in-out;
}

.transition-line-item {
  transition: all .3s ease-in-out;
}

.transition-line-enter,.transition-line-leave-to {
  opacity: 0;
  transform: translateY(-1rem);
}

.transition-line-leave-active {
  position: absolute;
  width: 100%;
}

.field-body:has(.ot-emoji-active) {
  min-height: 500px;
}

.ot-seat-legend {
  position: absolute;
  bottom: 1rem;
  display: flex;
  flex-direction: row;
  gap: 0.25rem;
  font-size: 12px;
  border: solid 1px;
  background-color: #fff;
  padding: 0.25rem;
  flex-wrap: wrap;
  margin: 0 0.875rem;
}

.ot-seat-legend__section {
  gap: 5px;
  align-items: center;
  cursor: pointer;
}

.ot-seat-legend__item {
  width: 1.2em;
  height: 1.2em;
  border: solid 1px;
  opacity: 0.9; 
}

.ot-flex-items-center {
  display: flex;
  align-items: center;
  column-gap: 0.5em;
  flex-wrap: wrap;
}

.ot-table-event-content {
  width: 400px; 
  word-break: break-all;
}

.column.ot-seat-master {
  overflow-y: scroll;
  height: 80vh;
}

/** カレンダーの色設定を調整 */

/* 土曜 */
.datepicker-table .datepicker-body .datepicker-row .datepicker-cell:nth-child(7) {
  background-color: #e1f5fe;
  color: #0288d1;
}

/* 日曜 */
.datepicker-table .datepicker-body .datepicker-row .datepicker-cell:nth-child(1) {
    background-color: #ffebee;
    color: #d32f2f;
}

/** 複数日予約のチェックボックスの色 */

/* 土曜 */
.checkbox-label-saturday {
  color: #0288d1;
}

/* 日曜 */
.checkbox-label-sunday {
  color: #d32f2f;
}
