@keyframes bounce {
  0%,
  100%,
  20%,
  50%,
  80% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.m365-blue-container {
  background: linear-gradient(180deg, #d3dcfa -5.81%, rgba(243, 246, 255, 0) 81.57%), linear-gradient(85.83deg, rgba(243, 246, 255, 0.2) 49.81%, rgba(243, 246, 255, 0) 78.82%), radial-gradient(55.02% 39.81% at 31.38% 48.82%, rgba(255, 255, 255, 0.7) 0, rgba(245, 248, 254, 0) 92.98%);
}

.agreement-box {
  height: 17rem;
  overflow-y: scroll;
}

.m365-logo-title {
  background: linear-gradient(96.2deg, #ed6419 -3.08%, #9629e7 14.74%, #0860c7 72.12%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  width: fit-content;
  margin: 1.25rem auto;
  font-size: 3rem;
  font-weight: 600;
  word-break: keep-all;
}

.m365-logo-description {
  font-size: 1.5rem;
  word-break: keep-all;
}

.btn-m365 {
  padding: 10px 20px;
  border-radius: 5px;
  border-color: #464feb;
  background-color: #464feb;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  min-width: 300px;
}

.btn-m365:hover {
  color: #fff;
  background-color: #3e45c9;
}

.m365-main-bg {
  width: 100%;
  margin-top: 2rem;
  margin-bottom: 2rem;
  border-radius: 20px;
  max-width: 1200px;
}

.m365-orange-container {
  background: linear-gradient(180deg, #fff4ed 80%, #fff 100%);
}

.m365-benefit-warppaer {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 20px;
  position: relative;
}

.m365-benefit-item {
  margin-top: 5rem;
  margin-bottom: 5rem;
  display: flex;
}

.m365-benefit-item.reverse {
  flex-direction: row-reverse;
}

.m365-benefit-image {
  width: 55%;
  margin-left: 50px;
  border-radius: 40px;
  max-width: 650px;
}

.m365-benefit-image.reverse {
  margin-left: 0px;
  margin-right: 50px;
}

.m365-benefit-item-header {
  font-size: 2.25rem;
  word-break: keep-all;
}

.m365-benefit-item-description {
  font-size: 1.25rem;
  word-break: keep-all;
}

.m365-app-title {
  word-break: keep-all;
  font-size: 2rem;
  font-weight: 600;
}

.store-buttons {
  display: block;
  margin: 1rem auto;
}

.m365-qr-code {
  height: 130px;
  display: block;
  margin: 3rem auto;
}

.bg-light-3 {
  background-color: #f9f9f9;
}

.mt--3 {
  margin-top: -3px;
}

.mt--4 {
  margin-top: -4px;
}

.index-top-wrapper {
  background-size: cover;
  background-repeat: no-repeat;
  height: auto;
}

.google-storage-app-box {
  padding: 1rem 1rem;
  height: 110px;
}

.google-storage-app-box .google-app-icon {
  position: absolute;
  height: 40px;
}

.google-storage-app-box .google-storage-usage-name {
  font-size: 1.25rem;
}

.google-storage-app-box .google-storage-usage {
  font-size: 1.5rem;
  font-weight: 600;
}

.microsoft-storage-app-box {
  padding: 1rem 1rem;
  height: 110px;
}

.microsoft-storage-app-box .microsoft-app-icon {
  position: absolute;
  height: 40px;
}

.microsoft-storage-app-box .microsoft-storage-usage-name {
  font-size: 1.25rem;
}

.microsoft-storage-app-box .microsoft-storage-usage {
  font-size: 1.5rem;
  font-weight: 600;
}

.admin-contents-wrapper {
  height: calc(100vh - 139px);
  overflow-y: auto;
}

.cloud-config-body {
  border-width: 1px;
  border-style: dashed;
  border-color: #fff;
}

.cloud-config-body:hover {
  border-color: #80bdff;
  background-color: #f5f6f8;
}

.cloud-config-body > .form-group:nth-last-child(1) {
  margin-bottom: 0;
}

.edit-googleou {
  display: none;
}

.google-ou-li:hover > .edit-googleou {
  display: inline-block;
}

.delete-googleou {
  display: none;
}

.google-ou-li.active:hover > .delete-googleou.deletable {
  display: inline-block;
}

.pl-md-0 {
  padding-left: 0;
}

.my-2_5 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.custom-select {
  background-image: url("/images/select-down-gray.png");
}

.useradd-data-wrapper {
  overflow-y: auto;
  overflow-x: hidden;
  height: calc(100vh - 240px);
}

.quick-menu-item {
  background-color: #fff;
  padding: 1.25rem;
}

.quick-menu-item:hover {
  cursor: pointer;
  background-color: #f5f6f8;
}

#school-searchbox {
  position: absolute;
  top: 2.2rem;
  margin-left: 45px;
  width: calc(100% - 107px);
  z-index: 1;
}

#school-search-result {
  position: absolute;
  top: 4.25rem;
  margin-left: 45px;
  width: calc(100% - 107px);
  z-index: 1;
  background-color: #fff;
}

#school-search-result ul {
  font-size: 0.875rem;
  margin-bottom: 0;
  padding-left: 0;
}

.quick-search-result {
  max-height: 45vh;
  overflow-y: auto;
}

.quick-search-result ul {
  padding-left: 0;
  margin-bottom: 0;
}

.quick-search-result ul li {
  list-style: none;
  padding: 0.5rem;
}

.quick-search-result ul li:hover {
  cursor: pointer;
  background-color: #ececec;
}

#school-search-result ul li {
  list-style: none;
  padding: 0.5rem;
}

#school-search-result ul li:hover {
  cursor: pointer;
  background-color: #007bff;
  color: #fff;
}

.question-message p:last-child,
.question-message ul:last-child,
.question-message ol:last-child {
  margin-bottom: 0;
}

.popup-wrapper {
  position: fixed;
  z-index: 9999;
  border-radius: 5px;
  padding: 0.75rem 1rem;
}

.popup-header {
  text-align: center;
  font-weight: 600;
  font-size: 1.1rem;
}

.popup-bottom {
  text-align: center;
  font-weight: 600;
  font-size: 0.875rem;
}

.popup-bottom a:hover {
  font-weight: 600;
}

.bg-light-2 {
  background-color: #eeeeee;
}

.tooltip {
  z-index: 9999;
  word-break: keep-all;
}

.modal-m-lg {
  max-width: 650px;
}

.th-fixed-top {
  position: sticky;
  top: 0;
  background-color: #f8f9fa;
}

.th-fixed-top-two {
  position: sticky;
  top: 36px;
  background-color: #f8f9fa;
}

.admin-contents {
  transition: padding 0.1s;
}

#data-table {
  height: calc(100vh - 190px);
}

#storage-data-table {
  height: calc(100vh - 315px);
}

.table-filter {
  cursor: pointer;
  font-size: 0.875rem;
}

.useradd-header {
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
}

.form-control::placeholder {
  opacity: 0.5;
  font-size: 0.875rem;
}

.nav-left-140 {
  margin-left: -140px;
}

.mb-1-not-last:not(:nth-last-child(1)) {
  margin-bottom: 0.25rem;
}

.cloud-filter:hover {
  color: #007bff;
  cursor: pointer;
}

#popup-config-toggler:checked + label > .bi-chevron-double-up,
#useradd-desc-toggle:checked + label > .bi-chevron-double-up,
#google-ou-wrap-toggler:checked + label > .bi-chevron-double-up {
  display: none;
}

#popup-config-toggler:not(:checked) + label > .bi-chevron-double-down,
#useradd-desc-toggle:not(:checked) + label > .bi-chevron-double-down,
#google-ou-wrap-toggler:not(:checked) + label > .bi-chevron-double-down {
  display: none;
}

#user-classroom-toggler:checked + label > .bi-chevron-double-down {
  display: none;
}

#user-classroom-toggler:not(:checked) + label > .bi-chevron-double-up {
  display: none;
}

.ck-content {
  word-break: keep-all;
}

.ck-balloon-panel {
  z-index: 9998 !important;
}

.teachers-wrapper {
  height: 10rem;
  overflow: auto;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  word-break: break-all;
}

.students-wrapper {
  height: 15rem;
  overflow: auto;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  padding: 0.375rem 0.75rem;
}

.member-teacher:hover,
.member-student:hover {
  background-color: #ececec;
}

.member-delete-btn {
  display: none;
}

.member-teacher:hover .member-delete-btn,
.member-student:hover .member-delete-btn {
  display: block;
  cursor: pointer;
}

.mobile-show {
  display: none;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  cursor: pointer;
}

::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px #dadae3;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: #dadae3;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #c7c7d5;
}

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.bg-secondary-light {
  background-color: #ececec;
}

.keep-word {
  word-break: keep-all;
}

.content-subject {
  margin-bottom: 0.7rem;
  font-size: 1.25rem;
}

input[type="checkbox"]:hover {
  cursor: pointer;
}

.btn-change-ordrer.active {
  color: #dc3545 !important;
}

input[type="checkbox"].form-check-input {
  margin-top: 0.4rem !important;
}

.btn-change-ordrer:hover,
.form-check-label:hover,
.form-check-input:hover {
  cursor: pointer;
}

.search-input {
  background-image: url("/images/search-gray.png");
  background-repeat: no-repeat;
  background-position: center right 15px;
  background-size: 20px;
}

.custom-input-blue {
  border-left: 0;
  border-top: 0;
  border-right: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 2px solid #e5e5e5;
  transition: border 0.5s;
}

.custom-input-blue:focus {
  box-shadow: none;
  border-color: #80bdff;
}

.form-control:not(.custom-input-blue):focus {
  background-color: #f3f9ff !important;
  transition: background-color 0.3s;
}

.admin-nav {
  position: absolute;
  padding-top: 0.5rem;
  height: calc(100vh - 61px);
  background-color: #f0f0f0;
  padding-right: 0.5rem;
  overflow-y: auto;
}

.admin-nav:not(.shrink) {
  width: 16rem;
}

.admin-nav.shrink {
  width: 4rem;
}

.admin-nav.shrink .admin-menu-text {
  display: none;
}

.admin-menu-toggler {
  font-size: 1.2rem;
  border-radius: 50%;
  text-align: center;
  padding: 0 0 0 0.3rem;
  transition: background-color 0.2s;
}

.admin-menu-toggler:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.admin-nav li {
  list-style: none;
  padding: 0.7rem;
  border-top-right-radius: 2rem;
  border-bottom-right-radius: 2rem;
}

.admin-nav li.active {
  background-color: #d1e2ff;
  color: #007bff;
}

.admin-nav li:hover:not(.active) {
  background-color: #f9f9f9;
  cursor: pointer;
}

.admin-nav li:hover:not(.active) .color {
  display: inline-block;
}

.admin-nav li:hover:not(.active) .gray {
  display: none;
}

.admin-nav li.active .color {
  display: inline-block;
}

.admin-nav li:not(.active) .color {
  display: none;
}

.admin-nav li.active .gray {
  display: none;
}

.admin-nav li:not(.active) .gray {
  display: inline-block;
}

.admin-menu-pre {
  width: 2rem;
  display: inline-block;
  text-align: center;
}

.admin-contents:not(.shrink) {
  padding: 0.5rem 0 0.5rem 16rem;
}

.admin-contents.shrink {
  padding: 0.5rem 0 0.5rem 4rem;
}

.copy-item:hover {
  cursor: copy;
}

.popup-alert {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translate(-50%);
}

.center-padding {
  padding: 48px;
}

input[type="text"].loading {
  background-image: url("/images/loader-dark.gif");
  background-repeat: no-repeat;
  background-position: right 0.3rem center;
  background-size: auto 80%;
}

.top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
}

.min-w-400 {
  min-width: 400px;
}

.min-w-600 {
  min-width: 600px;
}

.max-w-150 {
  max-width: 150px;
}

.max-w-200 {
  max-width: 200px;
}

.max-w-300 {
  max-width: 300px;
}

.max-w-400 {
  max-width: 400px;
}

.max-w-600 {
  max-width: 600px;
}

.matched-owner-list {
  text-align: left;
  background-color: #fff;
  z-index: 1;
}

.matched-user-list,
.matched-group-list {
  position: absolute;
  text-align: left;
  background-color: #fff;
  z-index: 1;
}

.matched-user-list ul {
  overflow-y: auto;
  max-height: 425px;
  padding-left: 0;
  margin-bottom: 0;
}

.matched-group-list ul,
.matched-owner-list ul {
  padding-left: 0;
  margin-bottom: 0;
}

.matched-user-list li,
.matched-group-list li,
.matched-owner-list li {
  list-style: none;
  padding: 0.5rem 0.875rem;
}

.matched-user-list li.can-add:not(:hover) .bi {
  display: none;
}

.matched-user-list li.can-add:hover .bi {
  display: block;
}

.matched-user-list li.can-add:hover,
.matched-group-list li:hover,
.matched-owner-list li:hover {
  cursor: pointer;
  background-color: #dee2e6;
}

.searched-list-lg {
  position: absolute;
  text-align: left;
  margin-top: 3.2rem;
  width: 100%;
  background-color: #fff;
}

.searched-list-lg ul {
  padding-left: 0;
  margin-bottom: 0;
}

.searched-list-lg li {
  list-style: none;
  padding: 1rem;
}

.google-ou-wrapper {
  height: calc(100vh - 250px);
  overflow: auto;
  word-break: keep-all;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
  position: relative;
}

.google-ou-popup-wrapper {
  overflow: auto;
  word-break: keep-all;
  padding: 1rem 1rem 0 1rem;
  position: relative;
  border-top: 1px solid #e5e5e5;
  margin-top: 1rem;
}

.google-ou-wrapper ul,
.google-ou-popup-wrapper ul {
  margin-left: 0.5rem;
  margin-bottom: 0;
}

.google-ou-wrapper .wrap-shrink-icon,
.google-ou-popup-wrapper .wrap-shrink-icon {
  position: absolute;
  margin-top: 0.5rem;
  margin-left: -1rem;
}

.google-ou-wrapper .wrap-shrink-icon > input,
.google-ou-popup-wrapper .wrap-shrink-icon > input {
  display: none;
}

.google-ou-wrapper .wrap-shrink-icon > label:hover,
.google-ou-popup-wrapper .wrap-shrink-icon > label:hover {
  cursor: pointer;
}

.google-ou-wrapper .wrap-shrink-icon > input:checked + label > .bi-caret-down-fill,
.google-ou-popup-wrapper .wrap-shrink-icon > input:checked + label > .bi-caret-down-fill {
  display: none;
}

.google-ou-wrapper .wrap-shrink-icon > input:not(:checked) + label > .bi-caret-right-fill,
.google-ou-popup-wrapper .wrap-shrink-icon > input:not(:checked) + label > .bi-caret-right-fill {
  display: none;
}

.google-ou-wrapper ul:not(:nth-child(1)),
.google-ou-popup-wrapper ul:not(:nth-child(1)) {
  padding-left: 0.25rem;
}

.google-ou-wrapper ul:nth-child(1),
.google-ou-popup-wrapper ul:nth-child(1) {
  padding-left: 0rem;
}

.google-ou-wrapper li,
.google-ou-popup-wrapper li {
  list-style: none;
}

.google-ou-wrapper li > input,
.google-ou-popup-wrapper li > input {
  display: none;
}

.google-ou-wrapper li > label,
.google-ou-popup-wrapper li > label {
  display: inline-block;
  padding: 0.5rem 0.5rem;
  white-space: nowrap;
}

.google-ou-none:hover {
  background-color: #eeeeee;
}

.google-ou-none.active {
  background-color: #eeeeee;
}

.google-ou-wrapper li > label.active,
.google-ou-popup-wrapper li > label.active {
  background-color: #eeeeee;
}

.google-ou-wrapper li > label:hover,
.google-ou-popup-wrapper li > label:hover {
  cursor: pointer;
  background-color: #eeeeee;
}

.searched-list-lg li:hover {
  cursor: pointer;
  background-color: #dee2e6;
}

.active_matched_schools {
  cursor: pointer;
  background-color: #dee2e6;
}

.bordered {
  border: 1px solid #dee2e6;
}

.user-add-step {
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
  margin-left: 0.5rem;
}

.user-add-step li::before {
  position: relative;
  content: "";
  display: inline-block;
  height: 1rem;
  width: 1rem;
  border-radius: 50%;
  margin-right: 0.5rem;
  margin-bottom: -3px;
}

.user-add-step li {
  list-style: none;
  word-break: keep-all;
  white-space: nowrap;
}

.user-add-step li.active {
  font-weight: 600;
}

.user-add-step li.active::before {
  background-color: #007bff;
}

.user-add-step li:not(.active)::before {
  background-color: #fff;
  border: 2px solid #ced4da;
}

.step-h-line {
  margin: 0.8rem 1rem 0.5rem 1rem;
  height: 10px;
  width: 100px;
  border-top: 2px solid #ced4da;
}

.step-indicator-wrapper {
  margin-bottom: 1rem;
  word-break: keep-all;
}

.step-indicator-wrapper ul {
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
}

.step-indicator-wrapper li {
  list-style: none;
  padding: 0.5rem 0;
  width: 33.3%;
  text-align: center;
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.step-indicator-wrapper li:nth-last-child(1),
.step-indicator-wrapper li:nth-child(1) {
  border-left: 1px solid #dee2e6;
  border-right: 1px solid #dee2e6;
}

.step-indicator-wrapper li.active {
  background-color: #007bff;
  color: #fff;
}

.step-indicator-wrapper li:not(.active) {
  background-color: #f8f9fa !important;
}

.cloudid-table tr {
  border: 2px solid #dee2e6;
}

.agreement-wrapper,
.create-step-wrapper,
.admin-step-wrapper {
  padding: 1rem;
  border: 1px solid #dee2e6;
}

.admin-step-wrapper.bg-light {
  color: #b0b3b8 !important;
}

.agreement-wrapper.active,
.create-step-wrapper.active,
.admin-step-wrapper.active {
  border-color: #007bff;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-width: 2px;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"] {
  -webkit-appearance: none;
  -moz-appearance: textfield;
  appearance: none;
}

#admin-modal-loader,
#main-modal-loader {
  display: none;
  text-align: center;
  margin-top: 2rem;
  color: #337ab7;
}

.mobile-spacer {
  display: none;
}

.carousel-control-next,
.carousel-control-prev {
  width: 10% !important;
}

.nav-item > a {
  font-size: 1.25rem !important;
}

.nav-item:hover {
  color: #337ab7;
  border-bottom: 3px solid;
  margin-bottom: -3px;
}

.nowrap {
  white-space: nowrap;
  word-break: keep-all;
}

.carousel-item img {
  /* IE 호환을 위해 반투명 이미지로 덮음 */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 430px;
}

.carousel-indicators {
  top: 0.1rem !important;
}

.inner-carousel-text-subject {
  position: absolute;
  z-index: 1;
  text-align: center;
  padding-top: 2rem;
  border-radius: 5px;
  width: 100%;
  text-align: center;
  font-weight: 900;
  color: #337ab7;
  font-size: 3rem;
  text-shadow: 2px 2px 3px #fff;
}

.inner-carousel-text-description {
  position: absolute;
  z-index: 1;
  text-align: center;
  margin-top: 6.5rem;
  width: 100%;
  text-align: center;
  font-size: 1.5rem;
  text-shadow: 2px 2px 3px #fff;
}

.carousel-inner {
  max-height: 500px;
  min-height: 300px;
}

.welcome-wrapper {
  margin-top: -2rem;
  margin-left: 10px;
  margin-right: 10px;
}

.help-wrapper {
  margin-top: 2.5rem;
  margin-left: 10px;
  margin-right: 10px;
}

.iconset-wrapper {
  background-color: #fff;
  border-radius: 20px;
  padding: 1rem;
  max-width: 1100px;
}

.main-bottom-wrapper {
  background-image: url("/images/bg-classroom-pat.png");
  background-repeat: repeat;
  padding-bottom: 3rem;
}

.main-text-b {
  font-size: 1.75rem;
  font-weight: 600;
  color: #337ab7;
}

.footer-links li {
  list-style: none;
  word-break: keep-all;
}

.footer-links li a {
  color: inherit;
}

.cloud-svc-wrapper {
  float: left;
  width: 156px;
  margin-bottom: 1.25rem;
  margin-right: 1rem;
  border-radius: 20px;
  background-color: #ffffff;
  text-align: center;
  padding: 15px;
}

.cloud-svc-wrapper:hover {
  background-color: #f2f2f2;
  cursor: pointer;
}

.cloud-svc-wrapper:hover .cloud-svc-logo {
  animation-name: bounce;
  -moz-animation-name: bounce;
}

.cloud-svc-logo {
  height: 70px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}

.cloud-svc-desc {
  margin-bottom: 0;
  font-size: 0.875rem;
  word-break: keep-all;
}

.cloud-item-wrapper {
  display: flex;
  width: 350px;
  border-radius: 10px;
  padding: 2rem 1rem;
  background-color: #f5f6f8;
}

.cloud-item-wrapper:not(:nth-child(1)) {
  margin-left: 0.5rem;
}

.cloud-item-wrapper:not(:nth-last-child(1)) {
  margin-right: 0.5rem;
}

.cloud-item-outer-wrapper {
  display: flex;
}

.cloud-item-inner-wrapper {
  display: flex;
  width: 100%;
}

.cloud-item-inner-wrapper div:nth-child(1) {
  /* 로고 */
  margin-right: 1.5rem;
}

.font-size-small {
  font-size: 0.875rem;
}

.cloud-item-name {
  font-size: 1.3rem;
  font-weight: 600;
}

.cloud-item-hover-img-text {
  font-size: 1rem;
}

.cloud-item-hover-img {
  height: 1.5rem;
}

.cloud-item-wrapper:hover {
  cursor: pointer;
  background-color: #ededee;
  background-image: url("/images/right-arrow-w.png");
  background-repeat: no-repeat;
  background-position: right;
}

.cloud-item-wrapper:hover .cloud-item-logo {
  animation-name: bounce;
  -moz-animation-name: bounce;
}

.cloud-item-wrapper:hover .cloud-item-name,
.cloud-item-wrapper:hover .cloud-item-hover-img-text {
  color: #337ab7;
}

.cloud-item-logo {
  height: 70px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}

.colored-divider {
  border-top: 5px solid;
  border-image: linear-gradient(to right, rgba(251, 252, 185, 0.745), rgba(255, 205, 243, 0.667), rgba(101, 211, 255, 0.667));
  border-image-slice: 1;
}

.user-item-wrapper {
  padding: 0.5rem;
}

.user-item-wrapper img {
  height: 170px;
  border-radius: 50%;
  background-color: rgba(51, 121, 183, 0.118);
  padding: 10px;
}

.user-item-wrapper p {
  margin-top: 0.5rem;
  font-size: 1.25rem;
}

.user-item-wrapper:hover {
  background-color: rgba(51, 121, 183, 0.314);
  cursor: pointer;
  border-radius: 10px;
}

.user-item-wrapper:hover p {
  color: #fff;
}

.user-select-spacer {
  width: 3rem;
}

.nav-item:hover > a {
  color: #337ab7 !important;
}

.nav-item:not(:nth-last-child(1)) {
  margin-right: 2rem;
}

.pad-spacer {
  display: none;
}

.pad-show {
  display: none;
}

.md-show {
  display: none;
}

.text-right-md {
  text-align: right;
}

.asm-sync-icon {
  margin: 0.9rem 0;
}

@media screen and (max-width: 1755px) {
  .asm-sync-icon {
    margin: 0.4rem 0;
  }
}

@media screen and (max-width: 1620px) {
  .asm-sync-auto {
    display: none;
  }
}

@media screen and (max-width: 1199px) {
  .m365-logo-title {
    font-size: 2rem;
  }

  .m365-logo-description {
    font-size: 1rem;
  }

  .m365-main-bg {
    width: 100%;
    border-radius: 0px;
  }

  .m365-benefit-warppaer {
    width: 93%;
  }

  .m365-benefit-item {
    display: block;
    text-align: center;
  }

  .m365-benefit-item-header {
    font-size: 1.5rem;
  }

  .m365-benefit-item-description {
    font-size: 1rem;
  }

  .m365-benefit-image {
    width: 85%;
    margin-left: 0;
  }

  .m365-benefit-image.reverse {
    margin-right: 0;
  }

  .m365-app-title {
    font-size: 1.5rem;
  }

  .m365-qr-code {
    height: 100px;
  }

  .asm-sync-auto {
    display: block;
  }

  .md-show {
    display: none;
  }

  .md-mt-0_5 {
    margin-top: 0.5rem;
  }

  .md-mt-1 {
    margin-top: 1rem;
  }
}

/* 태블릿 MD*/
@media screen and (max-width: 991px) {
  .step-h-line {
    width: 50px;
  }

  .md-show {
    display: block;
  }

  .admin-nav li {
    padding: 0.7rem;
  }

  #data-table {
    height: calc(100vh - 190px);
  }

  .pad-mt-0_5 {
    margin-top: 0.5rem;
  }

  .pad-mt-1 {
    margin-top: 1rem;
  }

  .pad-hide {
    display: none;
  }

  .pad-show {
    display: block;
  }

  .admin-contents.shrink {
    padding-left: 4rem;
  }

  .pad-sticky-left {
    position: sticky;
    left: 0;
  }

  .pad-bg-white {
    background-color: #fff;
  }

  .pad-center {
    text-align: center;
  }

  .pad-spacer {
    display: block;
  }

  .cloud-item-inner-wrapper div:nth-child(1) {
    /* 로고 */
    margin-right: 0;
    margin-bottom: 1rem;
  }

  .cloud-item-name {
    font-size: 1.2rem;
  }

  .carousel-item img {
    height: 350px;
  }

  .cloud-item-inner-wrapper {
    display: block;
    text-align: center;
  }

  .inner-carousel-text-subject {
    font-size: 2rem;
  }

  .inner-carousel-text-description {
    margin-top: 5rem;
    font-size: 1.1rem;
  }

  .nav-item:not(:nth-last-child(1)) {
    margin-right: 0;
  }
}

/* 핸드폰 가로 */
@media screen and (max-width: 767px) {
  .google-storage-app-box .google-app-icon {
    height: 20px;
    opacity: 0.5;
  }

  .google-storage-app-box .google-storage-usage-name {
    font-size: 0.875rem;
  }

  .google-storage-app-box .google-storage-usage {
    font-size: 1.25rem;
  }

  .microsoft-storage-app-box .microsoft-app-icon {
    height: 20px;
    opacity: 0.5;
  }

  .microsoft-storage-app-box .microsoft-storage-usage-name {
    font-size: 0.875rem;
  }

  .microsoft-storage-app-box .microsoft-storage-usage {
    font-size: 1.25rem;
  }

  .admin-contents-wrapper {
    height: calc(100vh - 115px);
  }

  #storage-data-table {
    height: calc(100vh - 325px);
  }

  .user-add-step {
    display: none;
  }

  .useradd-data-wrapper {
    height: calc(100vh - 190px);
  }

  .admin-nav li {
    padding: 0.6rem;
  }

  .mobile-mt-0_5 {
    margin-top: 0.5rem;
  }

  .mobile-mt-1 {
    margin-top: 1rem;
  }

  .text-right-md {
    text-align: left;
  }

  #data-table {
    height: calc(100vh - 200px);
  }

  .nav-left-140 {
    margin-left: 0;
  }

  .mobile-hide {
    display: none;
  }

  .mobile-show {
    display: block;
  }

  .admin-name {
    display: none;
  }

  .google-ou-wrapper {
    margin-top: 0;
    border-top: 0;
    border-bottom: 1px solid #e5e5e5;
  }

  .max-w-150 {
    max-width: 0;
  }

  .min-w-400 {
    min-width: 0;
  }

  .min-w-600 {
    min-width: 0;
  }

  .max-w-200 {
    max-width: 100%;
  }

  .max-w-300 {
    max-width: 100%;
  }

  .max-w-400 {
    max-width: 100%;
  }

  .max-w-600 {
    max-width: 100%;
  }

  .welcome-wrapper {
    margin-top: -10rem;
  }

  .carousel-item img {
    height: 300px;
  }

  .inner-carousel-text-subject {
    font-size: 1.5rem;
  }

  .inner-carousel-text-description {
    margin-top: 4.5rem;
    font-size: 1rem;
  }
}

/* 핸드폰 세로 */
@media screen and (max-width: 576px) {
  .google-storage-app-box .google-storage-usage-name {
    color: rgba(255, 255, 255, 0);
  }

  .google-storage-app-box .google-storage-usage {
    font-size: 1rem;
  }

  .microsoft-storage-app-box .microsoft-storage-usage-name {
    color: rgba(255, 255, 255, 0);
  }

  .microsoft-storage-app-box .microsoft-storage-usage {
    font-size: 1rem;
  }

  .pl-md-0 {
    padding-left: 15px;
  }

  hr {
    margin-top: 0.875rem;
    margin-bottom: 0.875rem;
  }

  .admin-nav li {
    padding: 0.4rem;
  }

  .center-padding {
    padding: 24px;
  }

  .user-item-wrapper img {
    height: 150px;
  }

  .bg-light-trans-xs {
    background-color: rgba(255, 255, 255, 0.6);
  }

  .cloud-item-outer-wrapper {
    display: block;
  }

  .cloud-item-wrapper {
    width: 100%;
    padding: 1rem 1rem;
  }

  .cloud-item-wrapper:not(:nth-child(1)) {
    margin-left: 0;
    margin-top: 1rem;
  }

  .cloud-item-wrapper:not(:nth-last-child(1)) {
    margin-right: 0;
  }

  .cloud-item-inner-wrapper {
    display: flex;
    text-align: left;
  }

  .cloud-item-inner-wrapper div:nth-child(1) {
    margin-right: 1.5rem;
    margin-bottom: 0;
  }

  .mobile-spacer {
    display: block;
  }

  .carousel-item img {
    height: 250px;
  }

  .inner-carousel-text-subject {
    font-size: 1.3rem;
  }

  .inner-carousel-text-description {
    margin-top: 4rem;
    font-size: 1rem;
  }
}

@media screen and (max-height: 835px) {
  .admin-nav li {
    padding: 0.7rem;
  }
}

@media screen and (max-height: 800px) {
  .admin-nav li {
    padding: 0.6rem;
  }
}

@media screen and (max-height: 750px) {
  .admin-nav li {
    padding: 0.5rem;
  }
}

@media screen and (max-height: 710px) {
  .admin-nav li {
    padding: 0.4rem;
  }
}
