/* copy of big orange button from desktop site*/
.bpt_bigorangebutton {
  border: 1px solid #d97e36;
  background-color: #dd7727;
  color: #ffffff;
  font-family: Helvetica, Arial, Sans-serif;
  font-size: 16px;
  font-weight: bold;
  padding: 8px 22px 6px 22px;
  cursor: pointer;
  -moz-box-shadow: 1px 1px 2px #b8b8b8;
  -webkit-box-shadow: 1px 1px 2px #b8b8b8;
  box-shadow: 1px 1px 2px #b8b8b8;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
}
.bpt_bigorangebutton:hover {
  background: #ef7d21;
  cursor: pointer;
}
.bpt_orangebutton {
    border: 1px solid #d97e36;
    background: #dd7727;
    color: #ffffff;
    font-family: Helvetica, Arial, Sans-serif;
    font-size: 14px;
    font-weight: bold;
    padding: 6px 18px 5px 18px;
    cursor: pointer;
    -moz-box-shadow: 1px 1px 2px #b8b8b8;
    -webkit-box-shadow: 1px 1px 2px #b8b8b8;
    box-shadow: 1px 1px 2px #b8b8b8;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
}
.bpt_orangebutton:hover {
    background: #ef7d21;
}
/* main container for GDPR related pages */
#main_container {
  display: block;
  max-width: 980px; /* There's certain points where because of how this is injected into the existing page that a flat width of 980px breaks alignment with the header. tsetting this to a max-width of 980px fixes that*/
  font-family: Helvetica, Arial, sans-serif;
  margin: 10px 0 25px;
  padding: 0 10px 0 20px;
}
#main_container * {
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
#main_container > div {
  display: table;
}

body#mobile-container #main_container #policy_content {
  -moz-user-select: text;
  -webkit-user-select: text;
  user-select: text;
}

#main_container .page_header {
  margin: 20px 0;
  font-weight: bold;
  text-align: left;
  color: #552502;
  font-size: 25px;
}

#main_container .page_subheader {
  font-size: 20px;
  padding-top: 10px;
}
#main_container .page_lead_content {
  margin: 15px 25px auto auto;
  font-size: 15px;
  line-height: 1.4;
}
#main_container .body_content {
  margin-top: 10px;
  padding-top: 10px;
}
#main_container .body_content p{
  font-size: 15px;
  line-height: 1.4;
}
#main_container .body_content .page_subheader:first-of-type {
  padding-top: 20px;
}
/*center content */
#main_container .center_content {
  width: 100%;
  margin: 10px auto;
  text-align: center;
}
#main_container .center_content table{
  margin: 10px auto 20px;
  text-align: left;
}

#main_container .page_note {
  font-style: italic;
  font-size: 12px;
}
#main_container hr {
  width: 100%;
  border-bottom: 0;
  height: 1px;
  color: #666;
}
#main_container .align_right {
    text-align: right;
}
#main_container .bold {
  font-weight: 600;
}
#main_container .capitalize {
  text-transform: capitalize;
}
#main_container .uppercase {
  text-transform: uppercase;
}
#main_container .unordered_list > li,
#main_container .ordered_list > li {
  font-size: 15px;
  padding-bottom: 10px;
  line-height: 1.4;
}
#main_container .unordered_list > li {
  list-style-type: circle;
}
#main_container .unordered_list .ordered_list,
#main_container .ordered_list .unordered_list, {
  padding-top: 10px;
}
#main_container .ordered_list .alpha_list {
  list-style: lower-alpha;
}
#main_container .indent_block {
  margin-left: 35px;
}

/* Forms */
.button_basic {
  border: 1px solid black;
  background:white;
  color: black;
  font-family: Helvetica, Arial, Sans-serif;
  font-size: 14px;
  font-weight: bold;
  padding: 6px 18px;
  cursor: pointer;
  border-radius: 8px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
}
#main_container form {
  margin: 10px 20px 10px 0;
  padding-top: 10px;
}
#main_container textarea {
  font-family: inherit
}
#main_container .form_row {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
#main_container .form_column {
  padding: 10px 20px 10px 0;
  width: 400px;
}
#main_container .form_column.full_width {
  width: 100%;
}
#main_container  .form_label {
  display: block;
  font-weight: 600;
  padding-bottom: 7px;
  font-size: 15px;
  max-width: 550px; /* prevents text from overflowing past full width form elements */
}
#main_container p.form_label {
  margin: 0;
  font-size: 15px;
}

/*ensure that inputs can be selected */
#main_container input,
#main_container textarea {
  user-select: text;
  -moz-user-select: text;
  -webkit-user-select:text;
  -ms-user-select: text;
}

#main_container .form_select {
  min-width: 250px;
  height: 28px;
  padding: 2px 0;
  line-height: 1;
  font-size: 15px;
}
#main_container .form_input {
  min-width: 250px;
  line-height: 1;
  font-size: 15px;
}
#main_container .full_width .form_textarea {
  min-width: 250px;
  max-width: 100%;
  width: 550px; /*matches two column inputs */
  min-height: 80px;
  line-height: 1;
  font-size: 15px;
  max-height: 200px;
  resize: vertical;
}

#main_container .count_char_textarea {
  padding-top: 5px;
  font-size: 13px;
  min-width: 250px;
  max-width: 90%;
  width: 550px; /*matches form_textara */
  text-align: right;
}

#main_container .count_char_textarea span:after {
  content: " ";
}

#main_container .form_horizontal_grouping {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  font-size: 15px;
}
#main_container .form_horizontal_grouping > div {
    margin-top: 10px;
}
#main_container .form_horizontal_grouping > div:first-of-type {
  margin-top: 0;
}
#main_container .form_checkbox_row {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 10px;
  padding-top: 10px;
}
#main_container .form_checkbox {
  min-width: 300px;
  max-width: 100%;
  width: 100%;
}
#main_container .form_checkbox label {
  font-size: 15px;
}
/* #main_container .form_checkbox input { */
  /* float: left; */
  /* margin-left: 0px;
  display: inline-block;
  min-width: 10px;
  width: 10%;
  max-width: 44px;
  vertical-align: middle; */
/* } */
/* #main_container .form_checkbox label { */
  /* display: block;
  float: left;
  max-width: 90%;
  padding-left: 5px;
  line-height: 1.5;
  font-size: 15px;
  padding-top: 10px; */
  /* display: inline-block;
  max-width: 90%;
  line-height: 1.5; */
  /* display: inline-block;
  max-width: 90%;
  line-height: 1.5;
  max-width: calc(90% - 44px);
  font-size: 15px; */
/* } */
#main_container .has_nested_input {
  width: 25px;
  margin-right: 10px;
}
#main_container .nested_select_menu {
  width: 150px;
  height: 28px;
  padding: 2px 0;
  line-height: 1;
  font-size: 1rem;
}
#main_container .nested_input {
  margin-left: 4px !important;
  width: 150px;
  line-height: 1;
  font-size: 1rem;
}
#main_container input[type="radio"],
#main_container input[type="checkbox"] {
  cursor: pointer;
}

#frm_unsubscribe .table_checkbox_row input[type='checkbox'] {
  height: 30px;
  width: 30px;
}

/* #main_container input[type="checkbox"] { */
  /* min-height: 44px;
  min-width: 44px;
} */
/* #main_container .form_checkbox label {
  display: inline-block;
  max-width: 90%;
  line-height: 1.5;
  max-width: calc(90% - 44px);
  font-size: 15px;
} */
.checkbox_hanging label,
#main_container .form_checkbox label  {
  display: inline-block;
  max-width: 90%;
  line-height: 1.5;
  max-width: calc(90% - 44px);
}
.checkbox_hanging input[type='checkbox'],
#main_container .form_checkbox input {
  margin-left: 0px;
  display: inline-block;
  min-width: 20px;
  width: 10%;
  max-width: 44px;
  max-height: 44px;
  min-height: 20px;
  height: 44px;
  vertical-align: top;
}
/* Buttons */
#main_container button {
  min-height: 44px; /* accessibility standard for touch */
}
#main_container .button_single {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-start;
  margin-top: 10px;
}
#main_container .button_single_center {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  margin-top: 10px;
}

#main_container .button_group,
#policy_buttons .button_group
 {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-start;
}
#main_container .button_group.centered,
#policy_buttons .button_group.centered
 {
  justify-content: center;
}
#main_container .button_group button {
  font-weight: 600;
  margin-right: 20px;
  margin-top: 10px;
  min-width: 250px;
}
/* this is on the same level as form buttons, optional part of form pattern for navigation */
#main_container .form_link {
  align-self: flex-end;
  margin: auto 0 auto auto;
}
/* Flex Grid Helpers for Forms */
#main_container p.pseudo_new_row_margin {
 margin-top: 30px;
}
/* Form Error Handling */
#main_container .error_container {
  color: #cc0000;
  font-weight: bold;
  font-size: 13px;
}
#main_container .error_container {
  padding-top: 5px;
}
.error_text {
  color: #cc0000;
}
/* Form Required */
#main_container .form_required_indicator {
  text-align: right;
  font-size: 12px;
}
#main_container span.required_icon {
  font-size: 18px;
}

#main_container .required_icon,
#main_container span.required_icon {
	color: #cc0000;
}

input[type="submit"].submitLink {
  background-color: transparent;
  text-decoration: underline;
  border: none;
  font-weight: bold;
  color: #339999;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
}

input[type="submit"].submitLink:focus {
  outline: none;
}

/* Tables */
#main_container table,
.borderless_table {
  border-collapse : collapse;
  border-style: hidden;
  min-width: 80%; /*80% of container element */
}

#main_container .table_th,
.borderless_table  .table_th {
  padding: 10px;
  text-align: left;
  font-weight: 600;
  padding-bottom: 10px;
  font-size: 15px;
  hyphens:none;
}
#main_container .table_td,
.borderless_table .table_td {
  padding: 10px;
  font-size: 15px;
  font-weight: 500;
  hyphens: none;
}

#main_container .table_checkbox_row {
  width: 30px;
}

/* if there's multiple tables in the body we should add space between them */
#main_container table {
  margin-bottom: 20px;
}
/* zebra tables */
#main_container table.zebra {
  margin-top: 10px;
}

#main_container .zebra tr:nth-of-type(2n),
#main_container .zebra thead {
  background-color: #eee;
}
table.zebra,
#main_container table.zebra {
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  border-left: 1px solid #eee;
}
table.zebra .table_td {
  border : 1px solid #eee;
}

/* Cookie Tables require some extra styles to control variable widths and content */
#main_container .cookie_table tr > td.table_td {
  width: 20%;
  line-height: 1.4;
  vertical-align: top;
  word-break: break-word;
  hyphens: auto;
}
#main_container .cookie_table tr > td.table_td:first-of-type {
  font-weight: 600;
  width: 30%;
}
#main_container .cookie_table tr > td.table_td:last-of-type {
  width: 50%;
}


/* Policy Pages and Policy Nav */
#policy_nav,
#policy_buttons,
#policy_content {
  /* max-width: inherit !important; */
  width: 95%;
  max-width: 90vw;
}
#policy_nav,
#policy_content,
#policy_buttons {
  margin-left: 15px;
}
#policy_nav .nav_header {
  font-size: 16px;
  font-weight: bold;
  padding: 20px 0 0 0;
  text-align: left;
}
#policy_nav ul {
  padding: 0 0 35px !important;
  clear: both;
  content: '';
  margin: 0;
}
#policy_nav ul li {
  display: block;
  padding: 7px 0 0 0;
}
#policy_nav ul li:first-of-type {
  padding-top: 0;
}

#policy_nav ul li a {
  display: block;
  color: #000;
  padding: 10px 8px 5px 0;
  text-decoration: none;
  font-weight: 500;
  text-rendering: optimizelegibility;
}
#policy_nav ul li a:hover {
  color: #000;
  font-weight: 500;
  text-decoration: underline;
  background-color: transparent;
}
#policy_nav ul li .active_link,
#policy_nav ul li .active_link:hover,
#policy_nav ul li a.active_link:active{
  color: #13AEBF;
  font-weight: 600;
  text-decoration: underline;
  background-color: transparent;
}
#policy_buttons {
  margin-bottom: 35px;
  padding: 200px 5px 20px; /* extending top padding to show more of the transparent gradient */
  background: rgba(255,255,255,0.9);
  background: linear-gradient( to top, white 30%, rgba(255, 255, 255, 0) );
}

#mobile-container #policy_buttons {
  padding: 80px 5px 20px; /* extending top padding to show more of the transparent gradient */
  background: rgba(255,255,255,0.9);
  background: linear-gradient( to top, #efefef 45%, rgba(255, 255, 255, 0) );
}

/* Cookie Page - floating Accept Button */
#policy_content .policy_button_container {
  position: relative;
  top: 0px;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
#policy_content .scroll_container {
  overflow: auto;
  height: 70vh;
}

/* container position to bottom of screen, will not go past footer */
.sticky_consent_button {
  position: sticky;
  bottom: 0;
  z-index: 45;
}
/* allow overflow to scroll for containers with allow_scroll */
#main_container.allow_scroll {
  overflow-x : scroll !important;
}

/* Extra Margins */
.margin_top_5 {
  margin-top: 5px !important;
}
.margin_top_10 {
  margin-top: 10px !important;
}
.margin_top_15 {
  margin-top: 15px !important;
}
.margin_top_20 {
  margin-top: 20px !important;
}
.margin_bottom_5 {
  margin-bottom: 5px !important;
}
.margin_bottom_10 {
  margin-bottom: 10px !important;
}
.margin_bottom_15 {
  margin-bottom: 15px !important;
}
.margin_bottom_20 {
  margin-bottom: 20px !important;
}

@media screen and (min-width: 420px) {
  #main_container {
    max-width: 980px; /* desktop version of the site isn't prepared to use viewport heights as a max width, it causes the page to get really long. Only using it as a default so mobile version can see it */
  }
  .scroll_container #main_container {
    max-width: 100%; /* override 980px for modal use */
  }
  #main_container + div {
    clear: both;
    content: '';
  }
  #policy_nav,
  #policy_content,
  #policy_buttons {
    float: left;
    display: inline;
    margin-left: 0;
  }
  #policy_nav {
    width: 25%;
  }
  #policy_nav .nav_header {
    padding-bottom: 10px;
  }
  #policy_content,
  .nav_present#policy_buttons {
    width: 75%;
  }
  .nav_present#policy_buttons {
    margin-left: 25%;
  }
  #mobile-container .nav_present#policy_buttons {
    margin-left: 0;
    width: 100%;
    text-align: center;
    max-width: 100vw;
  }
  #policy_nav ul li:first-of-type {
    padding-top: 7px;
  }
  #policy_nav ul {
    padding: 0 0 22px !important;
  }
  /** clearing mobile versions of inputs ***/

  #main_container .form_checkbox input,
  .checkbox_hanging input[type='checkbox'] {
    max-width: 20px;
    height: 20px;
  }
  #main_container .form_checkbox label,
  .checkbox_hanging label {
    padding-top: 0;
    max-width: calc(90% - 20px);
  }

  #main_container .count_char_textarea,
  #main_container .full_width .form_textarea {
    max-width: 100%;
  }
}
@media screen and (max-width: 420px) {
  #main_container .table_checkbox_row input[type='checkbox'] {
    height: 44px;
    width: 44px;
  }
  #main_container .form_select,
  #main_container .form_input {
    height: 44px;
  }

  .checkbox_hanging label,
  #main_container .form_checkbox label  {
    padding-top: 10px;
  }
  /* most of the time we're centering buttons on small screens, but in the case of unsubscribe we do not want that */
  #main_container div.button_group.keep_left,
  #main_container div.button_group {
    margin: 10px 0;
    flex-direction: column;
  }
  #policy_buttons .button_group button {
    margin: 0 auto;
  }
  #main_container .form_link {
    text-align: left; /* left any text that accompanies buttons on a form (button_group) */
  }
  #main_container {
    overflow-x: hidden;
    word-wrap: break-word;
    hyphens: auto;
    margin-right: 20px;
  }
  #main_container > div > * {
    max-width: 80%;
  }
  #main_container .page_lead_content {
    margin-left: 0;
  }

  .cookie_table .table_td {
    display: block;
    padding-left: 0;
  }
  .cookie_table thead {
    display: none;
  }
  #main_container .cookie_table tr > td.table_td,
  #main_container .cookie_table tr > td.table_td:first-of-type,
  #main_container .cookie_table tr > td.table_td:last-of-type {
    width: 100%;
  }
  table.zebra,
  #main_container table.zebra,
  table.zebra .table_td,
  #main_container table.zebra .table_td {
    border: none;
  }
  #main_container table.zebra tr:nth-of-type(2n) {
    background-color: transparent;
  }


}
@media screen and (max-width: 635px) {
  #main_container .align_right {
    margin-top: 15px;
    text-align: left;
  }
  #main_container .form_required_indicator {
    text-align: left;
  }
  #main_container .form_select,
  #main_container .form_input {
    min-width: 100%;
    max-width: 100%;
    width: 90%;
  }
  #main_container .form_column,
  #main_container .full_width {
    max-width: 100vw;
    width: 90% !important;
  }
  #main_container .form_link {
    width: 100%;
    align-self: flex-start;
    margin: 10px auto auto auto;
  }
  /* mobile view should be readable without scroll. Some of the GDPR pages (read: unsubscribe from mailing lists) have tables you can horizontally scroll, but we still want the lead text to only be visible for the viewport width
  this isn't a problem in desktop version since that has a forced width */
  #main_container.allow_scroll .page_lead_content {
    max-width: 90vw;
    margin: 0;
  }
}
