@media (max-width: 479px) {
  .portrait {
    text-align: center;
    font-weight: 700;
    height: 100%;
  }
  .landscape {
    display: none;
  }

  #show-feedback-label {
    bottom: 40px;
  }

  input[type=checkbox]:checked ~ #feedback-menu {
    bottom: 80px;
  }
}

@media (min-width: 480px) {
  .portrait {
    display: none;
  }

  #show-feedback-label {
    bottom: 20px;
  }

  input[type=checkbox]:checked ~ #feedback-menu {
    bottom: 60px;
  }
}

@media (max-width: 570px) {
  .two, .three, .four {
    width: 75%;
  }
}

@media (min-width: 571px) and (max-width: 960px) {
  #openings {
    white-space: nowrap;
  }
  .two, .three, .four {
    width: 50%;
  } /* .four 30%? */
}

@media (max-width: 749px)  {
  input, textarea, select {
    padding: 15px 5%;
    width: 90%;
  }
  header input {
  margin-bottom: 2%;
}
#logo {
    margin: 16px 0 0 5vw;
  }
  #top-login {
    padding-right: 5vw;
  }
  #menu {
    position: absolute;
    display: none;
  }
  .show-menu {
    display: block;
  }
  .lines {
    height: 22px;
  } /* needs changing: shouldn't be space on the left */
  .line {
    display: block;
    position: relative;
    background: black;
    height: 3px;
    width: 20px;
    border-radius: 3px;
    animation-fill-mode: forwards;
    animation-duration: 600ms;
    -webkit-box-shadow: 1px 2px 10px 0 rgba(0,0,0,0.3);
    -moz-box-shadow: 1px 2px 10px 0 rgba(0,0,0,0.3);
    box-shadow: 1px 2px 10px 0 rgba(0,0,0,0.3);
  }

  .line-one {
    animation-name: reverseOne;
  }

  .line-two {
    top: 6px;
    animation-name: show;
  }

  .line-three {
    top: 12px;
    animation-name: reverseTwo;
  }

  .slant1 {
    animation-name: down;
  }

  .slant2 {
    animation-name: up;
  }

  .hideLine {
    animation-name: hide;
  }

  @keyframes down {
    0%   {top: 0px}
    25%  {top: 4px}
    50%  {top: 8px;transform: rotate(0deg)}
    75%  {top: 8px}
    100% {top: 8px;transform: rotate(45deg)}
  }

  @keyframes up {
    0%   {top: 12px}
    25%  {top: 8px}
    50%  {top: 2px;transform: rotate(0deg)}
    75%  {top: 2px}
    100% {top: 2px;transform: rotate(135deg)}
  }

  @keyframes hide {
    0%   {transform: scale(1); opacity: 1}
    50%  {transform: scale(.5)}
    100% {transform: scale(0); opacity: 0}
  }

  @keyframes reverseOne {
    0%   {top: 8px;transform: rotate(45deg)}
    25%  {top: 8px}
    50%  {top: 8px;transform: rotate(0deg)}
    75%  {top: 9px}
    100% {top: 0px}
  }

  @keyframes reverseTwo {
    0%   {top: 4px;transform: rotate(135deg)}
    25%  {top: 4px}
    50%  {top: 4px;transform: rotate(0deg)}
    75%  {top: 8px}
    100% {top: 12px}
  }

  @keyframes show {
    0%   {transform: scale(0); opacity: 0}
    50%  {transform: scale(.5)}
    100% {transform: scale(1); opacity: 1}
  }

  input[type=checkbox]:checked ~ #menu {
    display: block;
    position: fixed;
    border: 1px solid #000;
    background-color: #fff;
    margin: 22px 0 0 -10vw;
    padding: 25px 25px 25px 0;
    line-height: 1.5em;
    border-radius: 1em;
  }

  #forgot, #login-menu {
    display: none;
  }
  input[type=checkbox]:checked ~ #login-menu {
    display: block;
    position: absolute;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
    top: 70px;
    left: 0px;
    background-color: #fff;
    padding: 3%;
    line-height: 1.5em;
    width: 94%;
  }
  #login-menu button {
    float: left;
    padding: 12px 5%;
    line-height: 1em;
    font-size: 1em;
  }
  .show-menu {
    padding: 0 12px;
    font-size: 15px;
    line-height: 30px;
  }
  .forgot-link {
  float: right;
  margin-top: 13px;
  line-height: 1;
}
  #header-forgot {
    display: none;
  }
  footer {
    padding: 1vh 5vw;
  }
}

@media (min-width: 750px)  {
  input:not([type="checkbox"]), textarea, select {
    padding: 15px 3%;
    width: 94%;
  }
  #menu li {
    display: inline-block;
  }
  header .forgot-link {
    display: none;
  }
  .show-menu, .show-menu3 {
    display: none;
  }
  #logo {
    margin: 16px 0 0 3vw;
  }
  #top-login {
    padding-right: 3vw;
  }
  #top-login input, #top-login button, #header-forgot {
    padding: 0 12px;
    font-size: 15px;
    line-height: 30px;
  }
  #top-login input {
    width: 175px;
  }
  #login-menu {
    white-space: nowrap;
  }


#header-forgot {
  position: absolute;
  margin-top: 1px;
  margin-left: 330px;
  height: 0;
  width: 0;
}
}

#top-login {
  float: right;
  padding-top: 18px;
}

@media (max-width: 960px) {
  #calendar-nav {
    padding-right: 7%;
  }
  #left, #right, .padding {
    width: 7vw;
    min-width: 40px;
  }
}

@media (min-width: 961px) {
  #calendar-nav {
    padding-right: 5.2%;
  }
  #openings {
    white-space: nowrap;
  }
  #left, #right, .padding {
    width: 5%;
  }
  .two {
    width: 50%;
  }
  .three, .four {
    width: 30%;
  }
}
html, body {
  margin: 0;
  font: 100% Inter, Helvetica, Arial, sans-serif;
  color: #222;
  height: 100%;
  overflow: auto;
}

#min-height {
  position: relative;
  min-height: 100%;
}

#padding-bottom {
  padding-bottom: 64px;
}

header {
  position: fixed;
  z-index: 10;
  background: #fff;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
  width: 100%;
}

a {
  text-decoration: none;
  color: #222;
}

h1 {
  font-size: 0;
}

h2:not(.calendar) {
  margin: 0 0 1em 0;
}

h2.calendar {
  margin: 5px 0 0 9%;
}

h3 {
  margin: 0;
}

header input[type=checkbox] {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

header a:hover, section a:hover:not(.instagram-follow), footer a:hover {
  border-bottom: 1px solid;
}

span {
  display: inline-block;
}

section button {
  font-size: 1em;
  padding: 7px 5% 10px;
  line-height: 1.5;
  width: 100%;
}

section button:disabled {
  background-color: #444;
  cursor: default;
}

a.disabled {
  background-color: #444;
  cursor: default;
}

#right button {
  border: 0;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  background-color: initial;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

img {
  max-width: 100%;
}

button, .show-menu {
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: #000;
  border-radius: 1em;
}

input, textarea, select {
  border-radius: 1em;
  border: 1px solid #dadada;
  font: 1em Inter, Helvetica, Arial, sans-serif;
}

section input, textarea, select {
  margin-bottom: 24px;
}

input[type=search] {
  -webkit-appearance: textfield;
}

::-webkit-input-placeholder {
  color: #8e8e8e;
}

:-moz-placeholder {
  color: #8e8e8e;
  opacity: 1;
}

::-moz-placeholder {
  opacity: 1;
}

:-ms-input-placeholder {
  color: #8e8e8e;
}

::placeholder {
  color: #8e8e8e;
}

#business_signup_form select, .state select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: white;
  background-image: url(/images/arrow-down.png);
  background-repeat: no-repeat;
  background-attachment: local;
  background-position: right 1em center;
  border: 1px solid #dadada;
}

select:invalid {
  color: #8e8e8e;
}

.state select, .business-select select {
  width: 100%;
}

p {
  margin: 0;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

dt {
  margin-bottom: 5px;
}

dd {
  margin-bottom: 10px;
}

table {
  text-align: center;
}

table, th, td {
  border: 1px solid lightgray;
  border-collapse: collapse;
}

th, td {
  padding: 1vw;
}

#top {
  padding: 22px 3vw 0 3vw;
  height: 42px;
}

#logo {
  float: left;
  background: url(/images/logo.png) center no-repeat;
  background-size: 23px 33px;
  height: 33px;
  width: 23px;
}

.left {
  float: left;
}

.right {
  float: right;
}

#calendar-nav {
  text-align: right;
  width:100%;
  position:fixed;
  z-index:9;
  height:52px;
  background-color:#fff;
  padding-top:76px;
}

/* save button that shows when Javascript disabled */
#calendar-nav button.no-script {
  width: 15%;
}

#invite {
  margin-top: 70px;
  background-color: #f70;
  text-align: center;
  font-size: 0.9em;
  font-weight: 600;
  color: #fff;
  height: 64px;
}

.nav-height {
  height: 70px;
}

.nav-calendar-height, .nav-invite-height {
  height: 128px;
}

.nav-position {
  top: 70px;
}

.nav-calendar-position, .nav-invite-position {
  top: 128px;
}

.circle {
  background-color: green; /* change */
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  text-align: center;
  color: #fff;
  height: 30px;
  width: 30px;
}

a.no-underline a, a.no-underline:hover {
  border:0 !important;
}

.vertical-align {
  vertical-align: middle;
  height: 100%;
}

#menu li {
  margin-left: 25px;
  position: relative;
}

#menu li a, .logout-text-style {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
}

#menu li a:hover, .logout-text-style:hover {
  border-bottom: 1px solid;
}

#menu4 {
  position: absolute;
  display: none;
}

.show-menu4 {
  cursor: pointer;
}

input[type=checkbox]:checked ~ #menu4 {
  display: block;
  position: fixed;
  border: 1px solid #000;
  background-color: #fff;
  padding: 15px;
  line-height: 1.5em;
  border-radius: 1em;
}

#left, #right {
  position: fixed;
  z-index: 2;
  background-color: #fff;
  text-align: center;
  height: 100%;
}

#right {
  right: 0;
}

.table {
  position: absolute; /* is there another way? float left from position sticky div? */
  display: table;
  width: 100%;
  z-index: 1;
}

.padding {
  display: table-cell;
}

#main {
  margin: 0 auto;
  padding-top: 3%;
  width: 90%;
} /* needs changing */

#main-small, .main-small {
  margin: 0 auto;
  padding-top: 3%;
  width: 75%;
  max-width: 500px;
}

.tab-flex-box {
    display: flex;
    flex-direction: row;
}

.columns {
  display: inline-block;
  vertical-align: top;
  text-align: left;
}

.sticky {
  position: -webkit-sticky;
  position: -moz-sticky;
  position: -ms-sticky;
  position: -o-sticky;
  position: sticky;
}

.checkbox {
  cursor: pointer;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -o-transition: all .5s ease;
  -ms-transition: all .5s ease;
  transition: all .5s ease;
}

.checkbox label {
  display: block;
  cursor: pointer;
}

.no-touch .checkbox:hover, .checkbox input[type=checkbox]:checked + label {
  background: blue;
}

/* Business signup ~ also styles investor signup page */
#business_signup_form input, #business_signup_form select {
  box-sizing: border-box;
  width: 100%;
}

#business_signup_form_name {
  display: flex;
}

#business_signup_form input[name$=name]:last-child {
  margin-left: 2%;
}

#business_signup_form button {
  margin-top: 1em;
}

#tutorial-modal .modal-content {
  width: 40%;
  min-width: 150px;
  z-index: 1000;
}

#tutorial-modal input {
  margin-bottom: .75em;
}

#tutorial-modal #buttons {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
  margin: auto;
}

#tutorial-modal button {
  font-size: .75em;
  padding: .4em .2em;
  min-width: 45px;
}

#business-verif-code-modal .modal-content {
  width: 20%;
  min-width: 150px;
}

#business-verif-code-modal input {
  margin-bottom: .75em;
}

#business-verif-code-modal #buttons {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
  margin: auto;
}

#business-verif-code-modal button {
  font-size: .75em;
  padding: .4em .2em;
  min-width: 45px;
}

/* Investor signup form */
#borough {
  display: none;
  min-width: 5em;
}

.disclaimer {
  font-size: 0.9em;
}

/* Openings */

.resume-format {
  font-size: x-small;
  margin-top: .5em;
  margin-bottom: .2em;
}

.cover-letter {
  width: 100%;
}

/* Career */
.career p {
  margin-bottom: 1em;
}

.career a {
  text-decoration: underline;
}

.career a:hover {
  border: none;
}

#jobs_display {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid lightgray;
  border-left: 1px solid lightgray;
}

.job_info, .jobs_heading {
  padding: 1vw;
  text-align: center;
  border-top: 1px solid lightgray;
  border-right: 1px solid lightgray;
}

.career-form {
  display: flex;
  justify-content: center;
}

.career form {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

.career button {
  width: 30%;
}

.career-submission {
  border: 1px solid lightgray;
  padding: 0 .5em;
  margin-top: 2em;
}

#applicants_display {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 1px solid lightgray;
  border-left: 1px solid lightgray;
}

/* Home */
.date {
  margin: 2em 0 1em 0;
  font-size: 0.9em;
}

.event {
  display: flex;
  border: 1px #ececec solid;
  border-radius: 1em;
  padding: 1em;
  background-color: #f8f8f8;
  max-width: 750px;
}
    
.event-time {
  width: 20%;
  font-size: 0.8em;
}
    
.activity {
  line-height: 1.5em;
  width: 60%;
}

.activity p {
  padding-top: .3em;
  font-size: 0.9em;
  line-height: 1.5em;
}
    
.response {
  width: 20%;
  display: flex;
  justify-content: right;
  align-items: center;
}
    
.circle-button {
      width: 30px;
      height: 30px;
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      background-color: transparent;
      padding: 0;
      margin-right: 1em;
      border-radius: 50%; /* Add this to ensure the circle shape */
      border: 1px solid; /* Add border style */
    }
    
    .circle-button-container {
      display: flex;
      align-items: center;
    }
    
    .accept-button {
      border-color: #34c759;
      color: #34c759;
    }
    
    .accept-button:hover, .Accepted {
      background-color: rgba(52, 199, 89, 0.1);
    }
    
    .accept-button .icon {
      position: relative;
      width: 14px;
      height: 10px;
    }
    
    .checkmark {
      position: absolute;
      top: 45%;
      left: 50%;
      transform: translate(-40%, -60%) rotate(45deg);
      display: block;
      width: 6px;
      height: 12px;
      border-bottom: 1px solid #34c759;
      border-right: 1px solid #34c759;
    }
    
    .decline-button {
      border-color: #ff3b30;
      color: #ff3b30;
    }
    
    .decline-button:hover, .Declined {
      background-color: rgba(255, 59, 48, 0.1);
    }
    
    .decline-button .icon {
      position: relative;
      width: 12px;
      height: 12px;
    }
    
    .decline-button .icon::before,
    .decline-button .icon::after {
      content: '';
      position: absolute;
      width: 12px;
      height: 1px;
      background-color: #ff3b30;
      top: 50%;
      left: 0;
    }
    
    .decline-button .icon::before {
      transform: translateY(-50%) rotate(45deg);
    }
    
    .decline-button .icon::after {
      transform: translateY(-50%) rotate(-45deg);
    }

    .response label {
      margin-right: 1em;
    }

/* Calendar */
@media (max-width: 570px) {
  .y-axis {
    left: 40px;
  }
}

@media (min-width: 571px) and (max-width: 960px) {
  .y-axis {
    left: 7%;
  }
}

@media (min-width: 961px) {
  .y-axis {
    left: 5%;
  }
}

.portrait {
  position: absolute;
  text-align: center;
  width: 100%;
}

#calendar {
  display: table-cell;
  min-width: 700px;
  background: #FFF;
}

#calendar input[type=checkbox] {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.y-axis {
  z-index: 2;
  padding: 0 1em 22px 0; /* padding-right could be lower in lower res */
  background-color: #fff;
  vertical-align: top; /* for table-cell */
  line-height: 44px;
  text-align: right;
  font-size: 0.8em;
  width: 3em;
}

.x-axis {
  background-color: #fff;
}

.weekend {
  background-color: #eef;
}

.day {
  float: left;
  text-align: center;
  width: 14.25%;
  min-width: 100px;
}

.time label {
  height: 22px;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}

/* Categories */
.business-categories-list input[type=checkbox], .user-interests-list input[type=checkbox], .jobseeker-skills-list input[type=checkbox] {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#categories-search-bar, #interests-search-bar, #skills-search-bar {
  box-sizing: border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing: border-box;
  margin-bottom: 2%;
  width: 100%;
}

.business-categories-list .checkbox input[type=checkbox]:not(:checked) + label, .user-interests-list .checkbox input[type=checkbox]:not(:checked) + label, .jobseeker-skills-list .checkbox input[type=checkbox]:not(:checked) + label {
  background: lightgray;
}

.business-categories-list .checkbox input[type=checkbox]:checked + label, .user-interests-list .checkbox input[type=checkbox]:checked + label, .jobseeker-skills-list .checkbox input[type=checkbox]:checked + label {
  background: #7EB8CB;
}

#categories, #interests, #skills {
  margin: 0 auto;
  padding-top: 3%;
  width: 75%;
  max-width: 500px;
}

.category, .interest, .skill {
  font-size: 1.25em;
  color: #fff;
}

.category label, .interest label, .skill label {
  padding: 1em;
  height: 1em;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}

.interest.checkbox:not(.friends-interest) input[type=checkbox]:checked + label::after {
  content: "None of your friends have this interest";
  font-size: .6em;
  color: #FFE9E5;
}

.checkbox input[type=checkbox] + label {
  justify-content: space-between;
}

.checkbox.friends-interest input[type=checkbox]:not(:checked) + label::after {
  content: "Your friends have this interest";
  font-size: .6em;
  color: #39A75E;
}

.checkbox.friends-interest input[type=checkbox]:checked + label::after {
  content: "Your friends have this interest";
  font-size: .6em;
  color: #39A75E;
}

.skill.checkbox:not(.friends-skill) input[type=checkbox]:checked + label::after {
  content: "None of your friends have this skill";
  font-size: .6em;
  color: #FFE9E5;
}

.checkbox.friends-skill input[type=checkbox]:not(:checked) + label::after {
  content: "Your friends have this skill";
  font-size: .6em;
  color: #39A75E;
}

/* Invite */
.import-contacts {
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: #000;
  font-size: 1em;
  padding: 7px 5% 10px;
  line-height: 1.5;
  width: 100%;
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
}

#invite-code, #invite-code-form {
  display: none;
}

#invite-code:checked ~ #invite-code-form {
  display: block;
  }

.one-line {
  overflow: hidden;
  white-space: nowrap;
}

/* Friends */
/* Delete Placeholder friends */
#del-phFr {
  color: #000;
  cursor: pointer;
}

#del-phFr:hover {
  border-bottom: 1px solid;
}

#del-phFr-chkbx {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#confirm-del-phFr {
  display: none;
}

#confirm-del-phFr a {
  color: green;
}

#confirm-del-phFr a:hover {
  border: none;
}

input[type=checkbox]:checked ~ #confirm-del-phFr {
  display: block;
  position: absolute;
  top: 55px;
  z-index: 10;
  background-color: #f7f7f7;
  padding: 1.5%;
  line-height: 1.5em;
  border: 1px solid #ccc;
}

#confirm-del-phFr-btns {
  display: flex;
  justify-content: space-around;
  margin-top: .5em;
}

#confirm-del-phFr-btns label {
  color: crimson;
}

/* Admin Dashboard */
/* Invite Code Page */
#create-invite-code, #update-invite-code, #delete-invite-code, #invite_code_form, #update_code_form, #delete_code_form {
  display: none;
}

#create-invite-code:checked ~ #invite_code_form {
  display: block;
}

#update-invite-code:checked ~ #update_code_form {
  display: block;
}

#delete-invite-code:checked ~ #delete_code_form {
display: block;
}

/* Menus and Modals */

/* Context menu */
.context-menu {
  display: none;
  position: fixed;
  z-index: 10;
  padding: 12px 0;
  width: 240px;
  background-color: #fff;
  border: solid 1px #dfdfdf;
  box-shadow: 1px 1px 2px #cfcfcf;
  max-width: 160px;
}

.context-menu__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.context-menu__item {
  display: block;
  margin-bottom: 4px;
  cursor: pointer;
}

.context-menu__item:last-child {
  margin-bottom: 0;
}

.context-menu__link {
  display: block;
  padding: 4px 12px;
  color: #0066aa;
  text-decoration: none;
}

.context-menu__link:hover {
  color: #fff;
  background-color: #0066aa;
}

/* The Modal (background) */
.modal {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed; /* Stay in place */
  z-index: 3; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: hidden; /* Hide scroll */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
  border: 1px solid #888;
  padding: 20px;
  background-color: #fefefe;
}

#mobileModal .modal-content{
  width: 40%;
}

.startField {
  margin-bottom: .5em;
}

.modal-content select {
  width: auto;
  margin: 0;
  margin-top: .2em;
}

#mobileBusinessSaveBtn, .mobileMenu button {
  margin-top: .5em;
  margin-left: 45%;
}

/* Modal Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 18px;
  font-weight: bold;
}

.close:hover, .close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* Business Calendar Modal */
.bCalendar-categories-list {
  border:2px solid #ccc;
  width: 90%;
  overflow-y: scroll;
  height: auto;
  max-height: 70vh;
}

.bCalendarCapacity {
  margin-bottom: 7px;
  width: 90%;
}

#bCalendarSaveBtn {
  margin:auto;
  display:block;
}

/* Spinner/Loading Icon */
#spinnerContainer {
  margin-top: 40px;
  margin-bottom: 64px;
}

/* Notification Modal */
#notificationModalContainer {
  position: fixed; /* Stay in place */
  z-index: 10; /* Sit on top, but not over Feedback form */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: hidden; /* Hide scroll */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  display: flex;
  justify-content: center;
}

#notificationModal {
  align-self: center;
  background-color: #fefefe;
  border: 1px solid #888;
  padding: 20px;
  width: 20%;
  min-width: 150px;
}

#notificationModalMsg {
  overflow-wrap: break-word;
}

[type=checkbox]:not(:checked) ~ #notificationModalContainer, #showNotificationModal {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.label-btn {
  display: block;
  background-color: #fff;
  border: 1px solid #000;
  cursor: pointer;
  color: #000;
  font-size: 1em;
  padding: 7px 5% 10px;
  line-height: 1.5;
  text-align: center;
}

.error-highlight {
  outline-color: red;
}

/* Feedback Form Section */

#feedback-menu {
  display: none;
}

#show-feedback-label {
  display: block;
  position: fixed;
  right: 10px;
  height: auto;
  z-index: 9999;
  text-align: left;
}

#show-feedback-menu {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

#comment {
  width: 88%;
  margin-bottom: 2%;
  padding: 15px 5%;
}

#feedback_submit {
  border: 1px solid #000;
  background-color: #fff;
  cursor: pointer;
  color: #000;
  font-size: 1em;
  padding: 13px 5% 17px;
  line-height: 1.5;
  width: 100%;
}

.show-feedback-menu {
  color: #000;
  padding: 5px 7px 5px 7px;
  border: 1px solid #000;
  background-color: #fff;
  z-index: 100;
}

/*mobile screen size*/
@media (max-width: 560px) {
  .feedback-container {
    padding: 0 1em;
  }
}

/*desktop screen size */
@media (min-width: 561px) {
  .feedback-container {
    position: absolute;
    right: 10px;
  }
}

footer.nav-height {
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3;
}

footer {
  position: absolute;
  bottom: 0;
  text-align: center;
  font-size: 0.9em;
  box-sizing: border-box;
  width: 100%;
}

footer.nav-height.cal_footer {
  position: fixed;
  z-index: 0;
}

.show-feedback-menu:hover {
  cursor: pointer;
}

input[type=checkbox]:checked ~ #feedback-menu {
  display: block;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #000;
  position: fixed;
  right: 10px;
  width: 15%;
  height: auto;
  min-width: 280px;
  z-index: 100;
  text-align: left;
}

/* Utility classes */
.hide {
  display: none;
}

.hidden {
  display: none;
}

.center {
  text-align: center;
}

.width25 {
  width: 25%;
}

@media only screen and (max-width: 424px) {
  #invite-columns {
    flex-direction: column;
    align-items: center;
  }
}

@media only screen and (max-width: 454px) {
  footer.nav-height {
    flex-direction: column-reverse;
  }
  .feedback-container {
    align-self: flex-end;
    margin-bottom: 1.5em;
  }

  .footer-container {
    margin-bottom: 1em;
  }
}

@media only screen and (max-width: 660px) {
  #confirm-del-phFr {
    width: 72%;
  }

  .interest, #interests-search-bar {
    min-width: 184px;
  }

  .interest label {
    font-size: .65em;
    height: 1.5em;
  }

  .checkbox.friends-interest input[type=checkbox]:not(:checked) + label {
    justify-content: space-between;
  }

  .checkbox.friends-interest input[type=checkbox]:not(:checked) + label::after {
    margin-left: 1em;
  }
}

@media only screen and (max-width: 660px) {
  #confirm-del-phFr {
    width: 72%;
  }

  .skill, #skills-search-bar {
    min-width: 184px;
  }

  .skill label {
    font-size: .65em;
    height: 1.5em;
  }

  .checkbox.friends-skill input[type=checkbox]:not(:checked) + label {
    justify-content: space-between;
  }

  .checkbox.friends-skill input[type=checkbox]:not(:checked) + label::after {
    margin-left: 1em;
  }
}

/* target mobile devices only */
@media only screen and (max-width: 960px) and (hover: none) {
  #top {
    padding-top: 1em;
    padding-bottom: .35em;
  }
  #business_signup_form select, .state select {
    border-radius: 5px;
    -webkit-appearance: searchfield;
    -moz-appearance: searchfield;
    border: 1px solid black;
  }

  #business_signup_form select {
    border: 1px solid #dadada;
  }
}

.waitingModal {
    display:    none;
    position:   fixed;
    z-index:    1000;
    top:    0;
    left:   0;
    height:     100%;
    width:  100%;
    background: rgba( 255, 255, 255, .8 )
        url(/images/spinner.gif)
        50% 50%
        no-repeat;
}

.waitingModal .centerScreen {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -130px;
  margin-top: -60px;
  font-weight: bold;
  font-size: 18px;
}

/* Extra city & state selector class */

#cityStateSelector {
    list-style: none;
    width: 100%;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

#cityStateSelector > input {
    display: inline-block;
    width: 65%;
    -webkit-appearance: none;
    -moz-appearance: none;
}

#cityStateSelector > select {
  display: inline-block;
  width: 25%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  background: white;
  background-image: url(/images/arrow-down.png);
  background-repeat: no-repeat;
  background-attachment: local;
  background-position: right 1em center;
  border: 1px solid #dadada;
}

#country, .business-select select {
  display: inline-block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: white;
  background-image: url(/images/arrow-down.png);
  background-repeat: no-repeat;
  background-attachment: local;
  background-position: right 1em center;
  border: 1px solid #dadada;
}