@charset "UTF-8";

/*
typekit fonts
font-family: "proxima-nova", sans-serif;
font-family: "ff-meta-serif-web-pro", serif;
*/

*, html, body {
    font-family: "proxima-nova", sans-serif;
}

html {
    font-size: 17px;
    letter-spacing: .5px;
}

body {
    background-color: #f2f2f8;
    font-size: 17px;
    margin: 0 0 100px 0;
}

#footer {
    margin-bottom: -1px;
    z-index: 5;
}

.heart-icon {
 font-size: 1rem;
 font-weight: 900;
}

h1 {
  font-family: "ff-meta-serif-web-pro", serif;
  /*text-transform: uppercase;*/
}

a {
    color: #ffffff;
}


/* the mainContainer holds the background image, update the image URL here */
#mainContainer {
    width: 100%;
    background-image: url(https://image.e.tufts.edu/lib/fe9e13727664067f74/m/1/15a59be7-a792-4609-bd87-575b8dcedf96.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-size: cover;
    border-bottom: 10px solid #000;
    line-height: 1.25;
}


/*containers*/
.container-1470 {
  width: 100%;
  max-width: 1470px;
}

.panel-container {
  margin: 150px auto 0 auto;
}

.search-container {
  margin: 0 auto 150px auto;
  background-color: #F37121;
}

.nameGroupContainer-bg {
    width: 100%;
    background-color: #f2f2f8;
    padding: 100px 0;
}

.description-container {
    width: 100%;
    background-color: #f2f2f8;
    border-top: 1px solid #000;
    padding: 100px 0;
}


#panel {
    width: 100%; /*was 70%*/
    background-color: #002E6D; /*was #D25D12*/
    padding: 50px 0; /*was 60px 50px*/
    margin: 0 auto 0 auto;
    z-index: 2;
    text-align: center;
    opacity: 1;
    transition: min-height 0.5s;
    cursor: default;
    min-height: 160px;
}

#panel h1 {
    color: #fff;
    font-size: 3.2rem;
    margin: 0;
    font-style: normal;
    font-weight: 500;
}

#panel h2 {
    color: #fff;
    font-size: 2rem;
    margin: 0;
    font-style: normal;
    font-weight: 500;
}

#panel h2.section-title {
 line-height: 1.25;
 font-size: 2.5rem;
}
#panel h2.dollar-amount {
 font-weight: 300;
}

#panel h3 {
    color: #fff;
    font-size: 1.5rem;
    line-height: 32px;
    margin: 0;
    font-style: normal;
    font-weight: 300;
}

#panel h3, #head p {
 line-height: 25px;
}

#head {
  max-width: 980px;
  margin: 0 auto;
}

#head p {
    color: #fff;
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    margin: 0.5rem auto 2rem;
    line-height: 36px;
}

.large {
    font-size: 1.6rem;
    font-weight: 700;
}

#footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    background-color: #002E6D;
    display: flex;
    align-items: center;
    min-height: 100px;
    border-top: solid 3px #F2F2F8;
}

#footer span:last-child {
    float: right;
    color: #fff;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    margin-left: auto;
}

#footer img {
    width: auto;
    float: left;
    width: 100%;
    max-width: 354px;
    height: auto;
    /*max-height: 54px;*/
}

.name {
    padding-right: 30px;
}

#nameGroupContainer {
    opacity: 1;
    transition: opacity 0.5s ease;
    margin: 0 auto;
    line-height: 1.75;
    padding: 0 0;
    max-width: 1080px;
}

.nameGroup {
    font-size: 1.5rem;
    color: #000;
    font-style: normal;
    font-weight: 400;
    display: inline;
}

.nameGroup:not(:first-child) {
    display: none;
}

#description {
    font-size: 1.25rem;
    line-height: 1.33;
    color: #000;
    font-style: normal;
    font-weight: 300;
    padding: 0 0;
    text-align: center;
    max-width: 780px;
    margin: 0 auto;
}

.description-container p a {
  color: #000;
}

.nameGroup:last-child {
    /*color: #fff;
    padding-bottom: 85px;*/
}

.hour {
    color: #932f35;
    padding: 0 10px;
    display: none;
    /* disabling this in favor of placing hours in main panel */
}

.active {}

.ucm-scrollbar-container {
  text-align: center;
}

#scrollbarContainer {
    margin: 30px auto 0 auto;
    text-align: center;
    left: 0%;
    cursor: move;
    max-width: 980px;
}

.slider {
    background-color: #ffffff;
    height: 9px;
    border: none;
}

.scrollbarSegment {
    height: 9px;
    margin: 0;
    width: 12.5%;  /* 100/x (Note: x=number of segments; Examples: 8 bars=12.5%, 9 bars=11.11%, 10 bars=10%, 11 bars=9.09%, 12 bars=8.33% */
    box-sizing: border-box;
    padding: 0;
    float: left;
    border-right: #002e6d solid 2px;
    z-index: 999;
}

#description p.key-label {
    margin-top: 0;
    margin-bottom: 0;
}

.donor-key {
    list-style: none;
    margin-top: 0;
    padding-left: 0;
}

.ui-slider .ui-slider-handle {
    border: 0 !important;
    top: -11px;
    cursor: move;
    height: 30px;
    width: 30px;
    background-image: url(https://image.e.tufts.edu/lib/fe9e13727664067f74/m/5/02a29a85-f51a-48be-8627-2991a5a5b1f3.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: transparent;
    border-radius: 50%;
}

#dragContainer {
    position: fixed;
    top: 10%;
    vertical-align: top;
    background-color: red;
    height: 120px;
    width: 100%;
    min-width: 800px;
    left: 0;
    right: 0;
    margin: 285px auto 0 auto;
    cursor: move;
    z-index: 2;
}

input {
    border: 0;
    background-color: #F37121; /*was #DDDDDD*/
    background-repeat: no-repeat;
    background-position: right;
    height: 95px;
    font-size: 2.5rem;
    color: #000;
    width: 70%;
    margin: 0 auto 0 auto; /*was 6px auto 8% auto;*/
    padding: 3px 80px 3px 20px;
    transition: background 0.3s ease;
    transition-delay: 0.5s;
    display: block;
    font-style: normal;
    font-weight: 400;
}

input:focus~#footer {
    opacity: 0;
    transition: opacity 0.5s ease;
}

input:focus~#panel {
    opacity: 0;
    transition: opacity 0.5s ease;
}

input:focus~#panelTop {
    opacity: 0;
    transition: opacity 0.5s ease;
}

input::placeholder {
    color: #000000;
}

input::-webkit-input-placeholder {
    color: #000000;
}

input:-moz-placeholder {
    /* Firefox 18- */
    color: #000000;
}

input::-moz-placeholder {
    /* Firefox 19+ */
    color: #000000;
}

input:-ms-input-placeholder {
    color: #000000;
}

input:-input-placeholder {
    color: #000000;
}

#intro {
    font-size: 1.06rem;
    color: #fff;
    padding: 25px 0 0 0;
    display: none;
    font-style: normal;
    font-weight: 400;
}

.slider-instructions {
    padding-left: 5px;
    font-size: 18px;
    line-height: 32px;
}

#standby {
    font-size: 1rem;
    color: rgba(255, 255, 255, 1);
    padding: 25px 0 0 0;
    display: none;
    font-style: normal;
    font-weight: 400;
}

#curvedarrow {
    display: inline-block;
    position: relative;
    top: -14px;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-right: 9px solid white;
    -webkit-transform: rotate(-110deg);
    -moz-transform: rotate(-110deg);
    -ms-transform: rotate(-110deg);
    -o-transform: rotate(-110deg);
    transform: rotate(-110deg);
}

#curvedarrow:after {
    content: "";
    position: absolute;
    border: 0 solid transparent;
    border-top: 3px solid white;
    border-radius: 20px 0 0 0;
    top: -12px;
    left: -9px;
    width: 12px;
    height: 12px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

h5 {
    font-size: 0.8rem;
    font-weight: 300;
    content: AM;
    margin: 0;
    display: inline;
    opacity: 1;
    padding-left: 3px;
}

b, strong {
    font-weight: 700;
}


/* media query for 991px and lower */
@media screen and (max-width: 991px) {

 #footer img {
  height: auto;
  width: 100%;
 }

}


/* ----------- Non-Retina Screens ----------- */
@media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) {

    #footer {
        z-index: 5;
        padding: 10px 20px;
    }

    #mainContainer {
        /*background-image: none;*/
        /*border-bottom: none;*/
    }

    input {
        /*margin: 0;*/
        width: 100%;
        max-width: 1080px;
        max-height: 60px;
        font-size: 1.25rem;
        border-radius: 0;
        box-sizing: border-box;
    }

    #panel {
        /*margin: 0 auto 0 auto;*/
        width: 100%;
        height: auto;
        /* padding: 30px 0; */
    }

    #scrollbarContainer {
        
    }

    #panel h1 {
        font-size: 3.2rem;
    }

    #panel h2.section-title {
     font-size: 2.5rem;
    }

    #panel h2 {
        font-size: 2rem
    }

    #description {
        font-size: 1.1rem;
        /*padding: 0 30px;*/
    }

    #nameGroupContainer {
        /*margin-top: 12px*/
    }

}


/* ----------- Retina Screens ----------- */
@media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) {

}


@media screen and (max-device-width: 800px) and (orientation : portrait) {

    #panel {}

    #nameGroupContainer {
        /*padding: 0 4%;*/
    }

    .nameGroup {
        /*font-size: 250%;*/
    }

    #description {
        /*font-size: 200%;*/
    }

    #intro, #head p, #panel h3 {
        /*font-size: 200%;*/
        line-height: initial;
    }
    
    #panel h1 {
     /*font-size: 333%;*/
    }
    #panel h2 {
     /*font-size: 250%;*/
    }

    input {
        /*font-size: 225%;*/
    }

    .ui-slider .ui-slider-handle {
        top: -22px;
        width: 45px;
        height: 45px;
    }

    #footer {
        z-index: 5;
        /*padding-bottom: 40px;
        padding-top: 40px;*/
    }

    #footer span:last-child {
        /* font-size: 200%; */
    }

}


/* Media query for screens less than 1470px wide */
@media screen and (max-width: 1470px) {

  #head {
    padding-left: 20px;
    padding-right: 20px;
  }

  #nameGroupContainer {
    width:94%;
  }

}


/*mobile*/
@media screen and (max-width: 979px) {

  .nameGroupContainer-bg, .description-container {
    padding: 50px 0;
  }

  .description-container {
    margin-bottom: 110px;
  }

  #scrollbarContainer {
    margin-left: 30px;
    margin-right: 30px;
  }

  .donor-key, .report-note {
    padding-left: 20px;
    padding-right: 20px;
  }

  #mainContainer {
    width: 100%;
    background-image: none;
  }

  .panel-container {
    margin-top: 0;
  }

  .search-container {
    margin-bottom: 0;
  }

  div#panel div#head p {
    text-align: left;
    font-size: 20px;
    line-height: 32px;
  }

  .nameGroup {
    font-size: 20px;
  }

  #description ul.donor-key li, #description p.report-note {
    font-size: 18px;
  }

  input {
    font-size: 2rem;
  }

}


/*start of Back to Top CSS*/
html {
  scroll-behavior: smooth;
  overscroll-behavior: none;
}
.hideBackToTop {
  display: none;
  opacity: 0;
  animation: FadeOut 0.75s ease-in-out;
}
#backToTopImg {
  position: fixed;
  bottom: 130px;
  right: 30px;
  z-index: 9999;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  width: 44px;
  height: 44px;
  display: none;
  opacity: 0;
  animation: FadeOut 0.75s ease-in-out;
  &.showBackToTop {
    display: block;
    opacity: 1;
    animation: FadeIn 0.75s ease-in-out;
  }
}
@keyframes FadeIn {
  0% {display: none; opacity: 0;}
  1% {display: block; opacity: 0;}
  100% {opacity: 1;}
}
@keyframes FadeOut {
  0% {display: block; opacity: 1;}
  99% {display: block; opacity: 0;}
  100% {display: none; opacity: 0;}
}
@media screen and (max-width: 480px) {
  #backToTopImg {
    bottom: 110px;
    right: 15px;
    width: 40px;
    height: 40px;
  }
}
/*end of Back to Top CSS*/
