/*
 Theme Name:  Go - Portland Community College
 Theme URI:   https://www.pcc.edu/go/
 Description: A custom theme for PCC Campaigns. Child of pcc.
 Author:      Portland Community College
 Author URI:  https://www.pcc.edu/
 Version:     7.0
 Template:    pcc
*/
/* ----------------------------------------------------------------
    header - logo, hero image, intro text
---------------------------------------------------------------- */
header#hero {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 37.5rem;
  padding: 4.375rem;
}
header#hero h1 {
  margin: 0;
  max-width: 12.5rem;
}
header#hero h1 a:focus:not(:hover) img {
  outline: 0.0625rem solid #ffffff;
}
header#hero h1 a:hover img {
  outline: none;
}
header#hero h2, header#hero p {
  color: #ffffff;
  max-width: 65%;
  text-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.4);
}
header#hero h2 {
  font-family: open_sansbold, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 3.8125em;
  line-height: 1.1;
  margin-top: 2.8125rem;
}
header#hero p {
  font-family: open_sanssemibold, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 1.4375em;
  margin-top: 0.625rem;
}

/*----- medium screens -----*/
@media only screen and (min-width: 40em) and (max-width: 63.9375em) {
  header#hero {
    height: 25rem;
    padding: 2.5rem;
  }
  header#hero h1 {
    max-width: 9.375rem;
  }
  header#hero h2, header#hero p {
    max-width: 100%;
  }
  header#hero h2 {
    font-size: 2.875em;
    margin-top: 1.25rem;
  }
  header#hero p {
    font-size: 1em;
  }
}
/*----- small screens -----*/
@media only screen and (max-width: 39.9375em) {
  header#hero {
    height: 12.5rem;
  }
  header#hero h1 {
    margin: 0 auto;
  }
  header#hero h2, header#hero p {
    max-width: 100%;
  }
}
/* ----------------------------------------------------------------
    content area
---------------------------------------------------------------- */
#main {
  background: #ffffff;
  border-radius: 0.625rem;
  box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.4);
  margin: -6.25rem auto 6.25rem;
  max-width: 62.5rem;
  padding: 2.5rem;
}
#main #content {
  padding: 0;
}
#main #content > .grid-container {
  padding: 0.625rem 0.3125rem;
}

/*----- large and medium screens -----*/
@media only screen and (min-width: 40em) {
  #content-area .card-50 + h4, #content-area h3 + h4 {
    margin-top: 0;
  }
}
/*----- medium screens -----*/
@media only screen and (min-width: 40em) and (max-width: 63.9375em) {
  #main {
    margin-top: -3.75rem;
    max-width: 90%;
  }
}
/*----- small screens -----*/
@media only screen and (max-width: 39.9375em) {
  #main {
    border-radius: 0;
    margin: 0;
    padding: 0 1.25rem 1.875rem;
  }
  #main h2 {
    line-height: 1.1;
    margin: 0 0 0.625rem;
  }
  #main h3 {
    line-height: 1.1;
    margin-bottom: 0.625rem;
  }
}
/* ----------------------------------------------------------------
    typography
---------------------------------------------------------------- */
h2, p {
  width: 100%;
}

/* --------------------------------------
    blockquotes
-------------------------------------- */
#main blockquote {
  border: none;
  margin: 0.625rem -0.625rem 0;
  padding: 0 0.625rem !important;
}
#main blockquote cite {
  padding-top: 0.625rem;
  text-align: left;
}

/*----- small screens -----*/
@media only screen and (max-width: 39.9375em) {
  #main blockquote {
    margin: 0 !important;
    padding: 0 !important;
  }
  #main blockquote img {
    margin-bottom: 0.625rem !important;
  }
}
/* --------------------------------------
    features
-------------------------------------- */
h3.visually-hide + .features {
  margin-top: 0;
}

/* ----------------------------------------------------------------
    cards
---------------------------------------------------------------- */
.card-heading + h5 {
  margin-top: 1.25rem !important;
}

/* --------------------------------------
    cards as links not in card-columns
-------------------------------------- */
.card-50 > a {
  display: block;
  margin-bottom: -1.25rem !important;
  padding: 0 0 2.5rem;
  text-decoration: none;
}
.card-50 > a .card-heading {
  padding: 0 1.25rem;
}
.card-50 > a p {
  padding: 0 1.25rem;
}
.card-50 > a::after {
  color: #008099;
  content: "\f105";
  font-family: FontAwesome;
  font-size: 1.625em;
  bottom: 0.625rem;
  position: absolute;
  right: 1.125rem;
  transition: right 0.2s ease;
}
.card-50 > a:hover, .card-50 > a:focus {
  background: rgb(207.5, 207.5, 207.5);
}
.card-50 > a:hover::after, .card-50 > a:focus::after {
  right: 0.75rem;
  transition: right 0.2s ease;
}
.card-50 > a:focus:not(:hover)::after {
  outline: 0.0625rem solid #008099 !important;
}

/* ----------------------------------------------------------------
    forms
---------------------------------------------------------------- */
.gform_footer {
  padding-top: 0.625rem !important;
}

/* --------------------------------------
    slate forms
-------------------------------------- */
#slate-form p[style="font-weight: bold;"] {
  font-family: open_sanssemibold, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
}

#slate-form form {
  padding: 1.875rem 1.5625rem;
}
#slate-form form .form_label span {
  font-family: open_sanssemibold, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
  color: #333333 !important;
  font-size: 1em !important;
}
#slate-form form .form_label span[style="font-size: 14px;"] {
  font-family: open_sansregular, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
}
#slate-form form .form_label span[style="color:#990000;"] span {
  color: #9e0c0f !important;
}
#slate-form form label, #slate-form form fieldset .form_label {
  font-family: open_sansbold, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
  color: #333333;
  font-size: 1em;
}
#slate-form form input[type=radio], #slate-form form input[type=checkbox] {
  margin: 0;
}
#slate-form form input[type=radio] + label, #slate-form form input[type=checkbox] + label {
  font-family: open_sansregular, Helvetica, Arial, sans-serif;
  font-style: normal !important;
  font-weight: normal !important;
}
#slate-form form div[data-type=birthdate] .form_responses {
  display: flex;
}
#slate-form form button.form_button_submit {
  font-size: 1em !important;
  padding: 0.75rem 1.25rem 0.8125rem 1.25rem;
}
#slate-form form div.form_question[data-required="1"] div.form_label::after, #slate-form form div.form_question[data-required="1"] > label::after {
  color: #9e0c0f;
  content: "*";
  padding-left: 0.1875rem;
}

/* --------------------------------------
    small screens: slate forms
-------------------------------------- */
@media only screen and (max-width: 39.9375em) {
  #slate-form form {
    padding: 1.25rem 0.625rem;
  }
}
