/* ************************************ */
/*************** Common CSS *************/
/* ************************************ */

select.form-control:not([size]):not([multiple]) {
  height: 44px;
  padding-top: 4px;
  padding-bottom: 4px;
}

/* Input CSS */
select,
input,
textarea {
  border: 1px solid #d9dadc !important;
  border-radius: 8px !important;
}
label {
  color: #626f70 !important;
}
a:focus {
  color: #37c0c9;
}

textarea.floating_input {
  height: auto;
  min-height: 90px;
}

.floating_group {
  position: relative;
  margin-bottom: 24px;
}

.floating_input,
.floating_select {
  display: block;
  position: relative;
  padding: 8px 16px;
  width: 100%;
  box-sizing: border-box;
  color: #161717;
  font-size: 16px;
  line-height: normal;
  font-weight: 400;
  outline: 0;
  border: 1px solid #d9dadc;
  border-radius: 8px;
  height: 44px;
  background-color: #fff;
  box-shadow: none;
  -webkit-transition: all 0.4s ease-out 0s;
  transition: all 0.4s ease-out 0s;
}

.marina-text-area {
  height: auto;
}

.floating_input_large,
.floating_select_large {
  max-width: 384px;
  min-width: 384px;
  width: 100%;
}

.floating_input_medium_large,
.floating_select_medium_large {
  max-width: 220px;
  min-width: 220px;
  width: 100%;
}

.floating_input_medium,
.floating_select_medium {
  max-width: 180px;
  min-width: 180px;
  width: 100%;
}

.floating_input_small,
.floating_select_samll {
  max-width: 105px;
  min-width: 105px;
  width: 100%;
}

.floating_label {
  position: absolute;
  pointer-events: none;
  left: 16px;
  top: 8px;
  transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -webkit-transition: 0.2s ease all;
  color: #626f70;
  font-size: 16px;
  font-weight: 400;
}

.floating_input:focus ~ .floating_label,
.floating_input:not(:placeholder-shown) ~ .floating_label,
.floating_select:focus ~ .floating_label,
.floating_select:not([value=""]):valid ~ .floating_label {
  font-size: 12px;
  line-height: 10px;
  color: #626f70;
  top: -5px;
  left: 22px;
  background: #fff;
  padding: 0 5px;
}

.floating_select:focus {
  outline: none;
}

.floating_select:focus ~ label,
.floating_select:not([value=""]):valid ~ label {
  top: -18px;
  font-size: 14px;
}

/* active state */
.floating_select:focus ~ .bar:before,
.floating_select:focus ~ .bar:after {
  width: 50%;
}

/* active state */
.floating_select:focus ~ .highlight {
  -webkit-animation: inputHighlighter 0.3s ease;
  -moz-animation: inputHighlighter 0.3s ease;
  animation: inputHighlighter 0.3s ease;
}

/* animation */
@-webkit-keyframes inputHighlighter {
  from {
    background: transparent;
  }
  to {
    width: 0;
    background: transparent;
  }
}
@-moz-keyframes inputHighlighter {
  from {
    background: transparent;
  }
  to {
    width: 0;
    background: transparent;
  }
}
@keyframes inputHighlighter {
  from {
    background: transparent;
  }
  to {
    width: 0;
    background: transparent;
  }
}

.checkbox-wrapper {
  padding: 0;
  list-style: none;
  display: flex;
  gap: 12px;
  margin: 0;
}

.checkbox-wrapper li label {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  cursor: pointer;
}

input[type="checkbox"] {
  /*position: relative;*/
  border: 1px solid #d9dadc;
  border-radius: 2px;
  background: none;
  cursor: pointer;
  line-height: 0;
  margin: 0 0.6em 0 0;
  outline: 0;
  padding: 0 !important;
  vertical-align: text-top;
  height: 16px;
  width: 16px;
  -webkit-appearance: none;
  border-radius: 0 !important;
}

input[type="checkbox"]:checked {
  background-color: #37c0c9;
  border: 2px solid #37c0c9;
}

input[type="checkbox"]:before {
  content: "";
  position: absolute;
  right: 50%;
  top: 50%;
  width: 6px;
  height: 12px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  margin: -1px -1px 0 -1px;
  transform: rotate(45deg) translate(-50%, -50%);
  z-index: 2;
}

.floating_select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  background-image: url("../images/icon-expand_more.svg");
  background-repeat: no-repeat;
  background-size: 16px;
  padding: 9px 34px 9px 16px !important;
  background-position: right 16px center !important;
}

/* Radio Box CSS*/
.mooring-hookup-radio-wrapper {
  display: flex;
  gap: 80px;
  flex-wrap: wrap;
}

.mooring-hookup-radio {
  display: flex;
  gap: 12px;
}

.radio-label {
  display: flex;
  cursor: pointer;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
}

.radio-label input {
  position: absolute;
  left: -9999px;
}

.radio-label input:checked + .radio-span:before {
  box-shadow: inset 0 0 0 0.31em #37c0c9;
}

.radio-label .radio-span {
  display: flex;
  align-items: center;
  border-radius: 99em;
  transition: 0.25s ease;
  color: #626f70;
  font-size: 16px;
  line-height: 26px;
}

.radio-label .radio-span:before {
  display: flex;
  flex-shrink: 0;
  content: "";
  background-color: #fff;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  margin-right: 0.375em;
  transition: 0.25s ease;
  box-shadow: inset 0 0 0 0.125em #d4eef0;
}

.mooring-container {
  width: 100%;
  display: flex;
  align-items: center;
}

/* Buttons */
.common_btn {
  display: inline-block;
  font-size: 12px;
  line-height: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background-color: #37c0c9;
  color: #fff;
  border-radius: 10px;
  padding: 10px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all 0.5s;
  border: none;
  height: auto;
  vertical-align: bottom;
}

.common_btn:hover,
.common_btn:focus {
  color: #fff;
  background-color: #249da5;
}

.common_btn_disabled {
  display: inline-block;
  font-size: 12px;
  line-height: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background-color: #d9dadc;
  color: #416168;
  border-radius: 10px;
  padding: 10px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: all 0.5s;
  border: none;
  height: auto;
  vertical-align: bottom;
}

.common_btn_border {
  font-size: 12px;
  line-height: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 10px;
  padding: 9px 16px;
  text-align: center;
  display: inline-block;
  text-transform: uppercase;
  transition: all 0.7s;
  color: #626f70;
  border: 1px solid #626f70;
  background-color: #fff;
}

.common_btn_border:hover,
.common_btn_border:focus {
  background: #626f70;
  color: #fff;
}

/* button */
.d-none {
  display: none;
}

.gap-16 {
  display: flex;
  gap: 16px;
}

.common-text {
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  color: #000;
}

.common-text-18-23-500 {
  font-size: 18px;
  line-height: 23px;
  font-weight: 500;
}

.common-text-18-26-400 {
  font-size: 18px;
  line-height: 26px;
  font-weight: 500;
}

.marina-title {
  color: #272a2e;
  font-weight: 400;
  line-height: 40px;
  font-size: 32px;
  margin-bottom: 24px;
}

i {
  display: block;
}
i::before {
  content: "";
  display: block;
  background-size: cover !important;
}
.icon_calender::before {
  background: url("../images/icon_calender.svg") no-repeat;
  width: 16px;
  height: 16px;
}

.background-input:after {
  content: "";
  background-image: url("../images/icon_calender.svg");
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 16px;
  top: 12px;
}

/* Spacing */

.padding {
  padding: 30px;
}

.mt-24 {
  margin-top: 24px;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-14 {
  margin-bottom: 14px;
}

.mb-24 {
  margin-bottom: 24px;
}

/* Typography */
.font-16 {
  font-size: 16px;
}

.line-height-20 {
  line-height: 20px;
}

/* Font-weight */
.font-400 {
  font-weight: 400;
}
.font-500 {
  font-weight: 500;
}
.font-600 {
  font-weight: 600;
}
.font-700 {
  font-weight: 700;
}

/* Color */
.text-black {
  color: #000;
}

.text-light-grey {
  color: #416168;
}

.text-thin-grey {
  color: #83a7b2;
}

.text-161717 {
  color: #161717;
}

.text-aqua {
  color: #37c0c9;
}

/* Border Separator */
.marina-separator {
  border-bottom: 1px solid #d4eef0;
}

/*************** Common CSS End**********/

#employer-post-new-job .res-steps-container .res-steps {
  width: 50%;
  float: left;
  cursor: pointer;
  text-align: left;
}

#employer-post-new-job .res-steps-container .res-steps .marina-step-counter {
  -webkit-border-radius: 50% !important;
  -moz-border-radius: 50% !important;
  -ms-border-radius: 50% !important;
  border-radius: 100% !important;
  background: #83a7b2;
  min-height: 24px;
  min-width: 24px;
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  width: 24px;
}

#employer-post-new-job
  .res-steps-container
  .res-steps.active
  .marina-step-counter {
  background: #416168;
}

#employer-post-new-job
  .res-steps-container
  .res-steps.active
  .res-step-bar
  .marina-step-title {
  color: #416168;
}

#employer-post-new-job
  .res-steps-container
  .res-steps
  .res-step-bar
  .marina-step-title {
  width: 100%;
  display: inline-block;
  color: #83a7b2;
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

#employer-post-new-job .res-steps-container .res-steps .res-progress-title {
  text-align: center;
  font-size: 15px;
  padding-top: 10px;
  display: block;
}

#employer-post-new-job .res-steps-container .res-steps .res-progress-bar {
  height: 1px;
  background: #83a7b2;
  width: 44%;
  margin: -12px 0 0 52%;
  float: left;
}

#employer-post-new-job
  .res-steps-container
  .res-steps.res-step-two
  .res-progress-bar {
  display: none;
}
#employer-post-new-job .res-steps-container .res-step-four .res-progress-bar {
  width: 50%;
  margin-right: 50%;
}

#employer-post-new-job .res-step-form {
  display: none; /* Hide all forms initially */
  position: relative; /* Position relative to maintain flow */
}

#employer-post-new-job .res-step-form.active {
  display: block; /* Show the active form */
}

#employer-post-new-job .res-form-one {
  display: block; /* Display the first form by default */
}

#employer-post-new-job .res-form-two,
#employer-post-new-job .res-form-three,
#employer-post-new-job .res-form-four {
  left: auto; /* Reset any previous position-based values */
}

#employer-post-new-job .res-step-bar {
  display: flex;
  align-items: center;
  gap: 8px;
}

#employer-post-new-job .active .res-progress-title {
  color: #0aa7e1;
}

.res-steps-container {
  width: 42%;
  margin-bottom: 30px;
}

.marina-button-wrapper {
  position: absolute;
  top: -66px;
  z-index: 1;
  right: 0;
}

.marina-form-input-box {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.note-message {
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  margin: 8px 0px 0;
  color: #416168;
}

.note-message > span {
  font-weight: 500;
}

/* Marina Step 2 */

.marina-jetty-input-block {
  display: flex;
  justify-content: space-between;
  /* flex-wrap: wrap; */
}

.marina-how-many-jetty-block {
  background: #f2fafb;
  display: flex;
  flex-wrap: wrap;
  border-radius: 16px;
  align-items: center;
  gap: 34px;
  padding: 16px 24px;
}

.marina-jetty-added {
  border-radius: 16px;
  border: 1px solid #d4eef0;
  padding: 27px 24px;
  background: #fcfcfc;
}

.marina-jetty-right-box {
  width: 13%;
}

.jetty-links {
  font-size: 14px;
  line-height: 18px;
  font-weight: 600;
  color: #37c0c9;
  text-transform: uppercase;
  text-decoration: underline;
  letter-spacing: 0.01em;
  display: inline-block;
  margin-top: 10px;
}

.marina-form-flex {
  display: flex;
  flex-wrap: wrap;
  column-gap: 24px;
}

.marina-direction {
  display: flex;
  column-gap: 13px;
  flex-wrap: wrap;
}

.marina-direction p {
  width: 75px;
}

.marina-arm-item {
  display: flex;
  column-gap: 60px;
  margin-bottom: 10px;
  align-items: center;
}

.marina-arm-details ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  /* align-items: center; */
  /* column-gap: 10px; */
  flex-direction: column;
}

.marina-cancel-button {
  border: none;
  background: transparent;
  padding: 0;
  width: 32px;
  height: 32px;
}

.marina-arm-items {
  margin-top: 10px;
}

.marina-arm-box {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}

/* Image Upload */
.marina-album-name {
  display: none;
}
.upload__box {
  display: flex;
  align-items: center;
}
.upload__btn-box {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 10px;
}
.upload__btn {
  position: relative;
  display: inline-block;
  text-align: center;
  padding: 28px;
  transition: all 0.3s ease;
  cursor: pointer;
  background-color: #eff6f6;
  border-radius: 10px;
  margin-bottom: 0;
}
.upload__inputfile {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}
.upload__img-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.upload__img-box {
  width: 80px;
}
.upload__img-close {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: url("/images/marina-image-close.svg") no-repeat center;
  background-size: cover;
  position: absolute;
  top: -5px;
  right: -5px;
  text-align: center;
  z-index: 1;
  cursor: pointer;
}
.img-bg {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  padding-bottom: 54%;
  border-radius: 10px;
  width: 80px;
}

.add-new-artist-portfolio .upload__btn {
  padding: 29px 49px;
  border: 1px dashed #83a7b2;
}
.add-new-artist-portfolio .upload__btn img {
  width: 20px;
  height: 20px;
}
.add-new-artist-portfolio .upload__img-box {
  width: 120px;
}
.add-new-artist-portfolio .img-bg {
  width: 120px;
  height: 80px;
}
.update-profile-picture .upload__btn img {
  width: 30px;
  height: 30px;
}
.update-profile-picture .upload__btn {
  padding: 43px;
  border-radius: 14px;
}

/* ************************************ */
/* ******* Responsive CSS Start ******* */
/* ************************************ */

@media only screen and (min-width: 1200px) {
  .res-steps-container {
    width: 70%;
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 1299px) {
  #employer-post-new-job .res-steps-container .res-steps .res-progress-bar {
    width: 40%;
    margin: -12px 0 0 51%;
  }
}

@media only screen and (min-width: 1399px) {
  #employer-post-new-job .res-steps-container .res-steps .res-progress-bar {
    width: 48%;
    margin: -12px 0 0 48%;
  }
  .marina-jetty-right-box {
    width: 13%;
  }
}

@media only screen and (min-width: 1499px) {
  #employer-post-new-job .res-steps-container .res-steps .res-progress-bar {
    width: 52%;
    margin: -12px 0 0 42%;
  }
}

@media only screen and (min-width: 1599px) {
  #employer-post-new-job .res-steps-container .res-steps .res-progress-bar {
    width: 52%;
    margin: -12px 0 0 42%;
  }
}

@media only screen and (min-width: 1699px) {
  #employer-post-new-job .res-steps-container .res-steps .res-progress-bar {
    width: 62%;
    margin: -12px 0 0 34%;
  }
}

/* Max Width */

@media only screen and (max-width: 1499px) {
  .app-aside,
  .app-aside .scroll {
    width: 13rem;
  }

  .app-aside:not(.hide) ~ .app-content {
    margin-left: 13rem;
  }

  .navside .nav > li > a .nav-text {
    font-size: 14px;
  }
}

@media only screen and (max-width: 1299px) {
  .marina-jetty-input-block {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

/* ************************************ */
/* ******** Responsive CSS End ******** */
/* ************************************ */
