html { 
  font-size: 13px; 
  font-family: 'Roboto', arial, Helvetica, sans-serif;
}

@media all and (min-width: 500px) {
  html { font-size: 14px; }
}

@media all and (min-width: 950px) {
  html { font-size: 15px; }
}

@media all and (min-width: 1400px) {
  html { font-size: 16px; }
}

::-webkit-scrollbar {
  display: none;
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 5px;
  background: #ccc;
  background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
  background: #aaa;
  background-clip: content-box;
}

::-webkit-scrollbar-thumb:active {
  background: #666;
  background-clip: content-box;
}

b { 
  font-weight: 500; 
}

p {
  line-height: 1.8;
}

p + p { 
  margin-top: 2rem; 
}

.list-text + p {
  margin-top: 3rem;
}

.site-header {
  position: relative;
  z-index: 2; 
  border-bottom: 1px solid #dadada; 
}

.is-scrolling .site-header { 
  background: rgba(255,255,255,0.9);
}

.top-nav {
  padding-top: 1.25rem;
  padding-bottom: .75rem;
}

.top-nav-column {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top-nav-list {
  display: flex;
  align-items: center;
}

.top-nav-item {
  position: relative;
  padding: .8rem 1.5rem;
  font-size: .85rem;
  color: #888;
  text-align: center;
  cursor: pointer;
  transition: color .2s, background .2s;
}

[viewport=mobile] .top-nav-item {
  padding-right: .75rem;
  padding-left: .75rem
}

.top-nav-item + .top-nav-item:before {
  content: "|";
  position: absolute;
  left: -1px;
  color: #dfdfdf;
  font-weight: 300;
}

.top-nav-item:hover { background: #f4f4f4; }

.top-nav-button-item {
  margin-left: 1rem;
}

.top-nav-list__button {
  font-size: .9rem;
}

.top-nav-list__button + .top-nav-list__button {
  margin-left: .5rem;
}

.top-nav-list__dropdown {
  margin-left: .5rem;
}

.site-nav {
  width: 100%;
  position: static;
  left: 0;
  top: -63px;
}

[viewport=mobile] .site-nav {
  padding-top: .75rem;
  padding-bottom: .75rem;
}

.is-scrolling .site-nav {
  position: fixed;
  top: 0;
  background: rgba(255,255,255,0.9);
   box-shadow: 0 4px 12px 0 
    rgba(0,0,0,.07), 0 1px 10px 0 
    rgba(0,0,0,.07), 0 2px 4px -1px 
    rgba(0,0,0,.07);
  transition: top .4s ease;
}

[viewport='mobile'] .site-nav .brand-image {
  height: 2.5rem;
}

.site-nav-column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-nav-menu-button {
  font-size: 2.75rem;
  line-height: 1;
}

.site-nav-menu-button i{
  vertical-align: middle;
}

.mobile-site-nav {
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  transition: left .3s, opacity .3s;
}

.mobile-site-nav.is-visible {
  left: 0;
  opacity: 1;
}

.mobile-site-nav-container {
  height: 100%;
  padding: 4rem 1rem 5rem 1rem;
  overflow-y: scroll;
}

.mobile-site-nav-divider {
  margin-top: 4rem;
}

.mobile-site-nav-divider:first-child {
  margin-top: 2.5rem;
}

.mobile-site-nav__brand {
  margin-bottom: 2rem;
}

.mobile-site-nav-item {
  position: relative;
}

.mobile-site-nav-item + .mobile-site-nav-item {
  border-top: 1px dashed #dfdfdf;
}

.mobile-site-nav-link {
  display: block;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; 
  padding-left: 1.5rem;
  font-size: 1.2rem;
  font-family: "Google Sans";
  font-weight: 500;
}

.mobile-site-nav-link.is-active {
  font-weight: 700;
}

.mobile-site-nav-bar {
  position: absolute;
  top: 0;
  left:0;
  width: 4px;
  height: 100%;
}

.mobile-site-nav__sns-list {
  justify-content: space-evenly;
}

.mobile-site-nav__sns-list .sns-icon {
  width: 2.5rem;
  height: 2.5rem;
}

.mobile-site-nav-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: .75rem;
  padding-bottom: .75rem;
  background: #222;
}

.mobile-site-nav-sub-list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-site-nav-sub-item {
  text-align: center;
}

.mobile-site-nav-sub-item + .mobile-site-nav-sub-item {
  margin-left: 1.5rem;
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255, 255, 255, .3);
}

.mobile-site-nav-sub-link {
  font-size: 1rem;
  color: #fff;
}

.mobile-site-nav-close-button {
  position: absolute;
  top: .5em;
  left: .25em;
  font-size: 1.1em;
}

.tool-list {
  display: flex;
}

.tool-item + .tool-item {
  margin-left: .5rem;
}

.tool-item__text-icon {
  font-size: 1.2rem;
}

.tool-icon {
  font-size: 1.6rem;
}

.browser-list {
  display: flex;
}

.browser-item  { 
  text-align: center; 
}

.browser-item + .browser-item {
  margin-left: 10%;
}

.browser-item img {
  width: 100%;
}

.browser-item-text {
  display: block;
  margin-top: 1.5rem;
  margin-bottom: .5rem;
  font-family: 'Google Sans';
  font-weight: 600;
}

.browser-item-version {
  font-weight: 500;
  color: #888;
}

.comparison__heading-tertiary {
  margin-bottom: 3rem;
  text-align: center;
}

.comparison-table {
  line-height: 1.8;
}

.comparison-caption-column-item:before {
  content: "\A";
  display: inline-block;
  margin-right: .5rem;
  width: .75rem;
  height: .75rem;
  border-radius:50%;
  background: #ccc;
  vertical-align: middle;
}

[viewport=desktop] .comparison-caption-column {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.comparison-caption-column-item {
  list-style: circle;
}

.comparison-table {
  width: calc(100% - 2px);
  border: 1px solid #eaeef1;
}

.comparison-table caption {
  margin-bottom: 2rem;
  line-height: 2rem;
}

[viewport=mobile] .comparison-table thead,
[viewport=mobile] .comparison-table tbody {
  font-size: .9em;
}

.comparison-table th {
  padding: .75em;
  border: 1px solid rgba(255, 255, 255, .4);
  color: #fff;
  text-align: center;
}

[viewport=desktop] .comparison-table th {
  padding: 1em;
}

.comparison-table td {
  padding: .75rem;
  border: 1px solid #dfdfdf;
}

[viewport=desktop] .comparison-table td {
  padding: 1em;
}

.comparison-table td:first-child {
  font-weight: 500;
}

.comparison-table [colspan] {
  background: #f3f3f3;
  font-family: 'Google Sans';
  font-size: 1.05em;
  font-weight: 600;
}

.assist {
  margin-top: 5rem;
  padding: 1.5em 3em;
  border-radius: 12px;
} 

.assist-column {
  justify-content: center;
  align-items: center;
}

.assist-item {
  display: flex;
  justify-content: center;
}

[viewport=desktop] .assist-item + .assist-item {
  margin-left: 3em;
}

.assist-text {
  font-family: 'Google Sans';
  font-size: 1.05em;
  font-weight: 600;
  text-align: center;
}

.resource-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

.resource-item {
  width: 45%;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.resource-item:nth-child(even) {
  margin-left: 10%;
}

.resource-loader {
  display: block;
  height: 10rem;
}

.resource-thumbnail {
  position: relative;
  display: block;
  height: 10rem;
  border: 1px solid #dfdfdf;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f0f0f0;
  cursor: pointer;
}

.video-thumbnail {
  background-size: cover;
}

.pdf-thumbnail {
  background-size: contain;
}

.resource-thumbnail:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: rgba(0, 0, 0, .5);
  background-position: center;
  background-repeat: no-repeat;
  transition: opacity .2s;
}

.video-thumbnail:after {
  background-image: url(../images/icon-youtube-white.svg);
  background-size: 25%;
}

.pdf-thumbnail:after {
  background-image: url(../images/icon-download-white.svg);
  background-size: 20%;
}

.resource-thumbnail:hover:after { 
  opacity: 1; 
}

.resource-column {
  display: flex;
  margin-top: 1rem;
}

.resource-icon {
  width: 1.25rem;
  margin-top: .2rem;
  margin-right: .75rem;
}

.resource-heading {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.6;
}

.resource-description {
  margin-top: 1rem;
  color: #888;
  font-size: .95em;
  line-height: 1.3;
}

.video {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0,0,0,.5);
  z-index: 5;
}


.video-container {
  position: absolute;
  top:0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 65%;
  max-width: 1100px;
  height: 50%;
  margin: auto;
  background: rgba(0, 0, 0, .7);
}

.video__loading-spinner { 
  z-index: 0;
}

.video-iframe {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.site-body {
  position: relative;
}

.site-footer {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  background: #f8f8f8;
}

.site-footer-column {
  justify-content: space-evenly;
}

.site-footer-button-group {
  display: flex;
  justify-content: center;
}

.site-footer__contact {
  color: #666;
  font-size: .85rem;
}

.site-footer__contact .contact-name {
  margin-bottom: .75rem;
}

.site-footer__contact .contact-list {
  margin-top: 1.25rem;
}

.site-footer__contact .contact-list-item + .contact-list-item {
  margin-top: 1rem;
}

.sns {
  display: flex;
  align-items: center;
}

.sns-text {
  margin-right: 1rem;
}

.sns-list {
  display: flex;
}

.sns-item + .sns-item {
  margin-left: 1.5rem;
}

.sns-link {
  display: inline-block;
  opacity: 1;
  transition:  opacity .2s;
}

.sns-link:hover {
  opacity: .7;
}

.sns-icon {
  width: 1.8rem;
  height: 1.8rem;
}

.contact + .contact {
  padding-top: 4rem;
}

.contact-heading {
  margin-bottom: 2.25rem;
  font-size: 1.6em;
  font-family: 'Google Sans';
  font-weight: 500;
  line-height: 1.6;
}

.contact-map {
  margin-top: 3rem;  
}

.contact-name {
  display: block;
  margin-bottom: .75rem;
  font-family: 'Google Sans';
  font-size: 1.3em;
  font-weight: 600;
  line-height: 1.6;
}

#footer-contact .contact-name {
  font-size: 1.2rem;
}

.brand + .contact-name {
  margin-top: 2rem;
}

.contact-job-title {
  font-family: 'Google Sans';
}

.contact-list {
  margin-top: 2rem;
}

.contact-list-item {
  display: flex;
  flex-wrap: wrap;
}

.contact-list-item + .contact-list-item {
  margin-top: 1.75rem;
}

.contact-icon {
  margin-right: .75rem;
  color: rgba(0, 0, 0, .3);
  font-size: 1.4em;
  vertical-align: middle;
}

#footer-contact .contact-icon {
  font-size: 1.4rem;
}

.contact-phone-item + .contact-phone-item {
  margin-top: .5rem;
}

.address {
  
}

.site-micro-footer {
  position: relative;
  z-index: 1;
  padding-top: .6rem;
  padding-bottom: .6rem;
  background: #333;
  color: #fff;
  font-size: .8rem;
  text-align: center;
}

.site-micro-footer-list {
  display: flex;
  justify-content: center;
}

.site-micro-footer-item {
  position: relative;  
}

.site-micro-footer-item + .site-micro-footer-item {
  padding-left: 1.5rem;
  margin-left: 1.5rem;
}

.site-micro-footer-item + .site-micro-footer-item:before {
  content: "|";
  position: absolute;
  left: -1px;
  color: rgba(255, 255, 255, 0.2);
  font-weight: 300;
}

.site-micro-footer-text {
  color: rgba(255, 255, 255, .6);
  cursor: pointer;
  transition: color .2s, background .2s;
}

.support-icon-container {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.support__icon-outline {
  padding: 1.8rem;
  border-width: 6px;
  color: #dfdfdf;
  border-color: #dfdfdf;
  font-size: 3.8em;
  pointer-events: none;
}

.summary {
  margin-top: 4rem;
}

.summary-item {
  position: relative;
  opacity: 0;
}

[viewport=mobile] .summary-item {
  display: flex;
  align-items: center;
}

[viewport=mobile] * + .summary-item {
  margin-top: 4rem;
}

[viewport=desktop] * + .summary-item {
  padding-right: 1rem;
  padding-left: 1rem;
}

.summary-icon {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 8em;
  height: 8em;
  border-radius: 50%;
  background-size: 55%;
  background-position: center;
  background-repeat: no-repeat;
}

[viewport=desktop] .summary-icon {
  margin-right: auto;
  margin-bottom: 1.5rem;
  margin-left: auto;
}

.summary-icon--donation {
  background-image: url(../images/icon-hands-white.svg);
}

.summary-icon--tax-credit {
  background-image: url(../images/icon-money-white.svg);
}

.summary-icon--reduce-tax {
  background-image: url(../images/icon-tax-white.svg);
}

.summary-icon--donation-cost {
  background-image: url(../images/icon-smile-white.svg);
}

.summary-icon--heirs {
  background-image: url(../images/icon-family-white.svg);
}

.summary-text {
  font-weight: 600;
  line-height: 1.6rem;
}

[viewport=mobile] .summary-text {
  margin-left: 2rem;
}

[viewport=desktop] .summary-text {
  text-align: center;
}

.summary-number {
  font-size: 1.3em;
  font-weight: 700;
  vertical-align: middle;
}

[viewport=mobile] .summary-text > span:first-child {
  margin-right: .5rem;
} 

[viewport=desktop] .summary-text > span:first-child {
  display: block;
  margin-bottom: .75rem;
}

.summary-text-icon {
  vertical-align: middle;
  cursor: help;
}

.summary-arrow {
  position: absolute;
  background: #ddd;;
}

[viewport=mobile] .summary-arrow {
  top: 50%;
  left: calc(4rem - 5px);
  width: 10px;
  height: 0;
}

[viewport=desktop] .summary-arrow {
  top: calc(4rem - 5px);
  left: 50%;
  width: 0;
  height: 10px;
}

.summary-arrow:after {
  content: "";
  position: absolute;
  border: 12px transparent solid;
}

[viewport=mobile] .summary-arrow:after {
  top: 100%;
  left: -7px;
  border-top-color: #ddd;
}

[viewport=desktop] .summary-arrow:after {
  top: -7px;
  left: 100%;
  border-left-color: #ddd;
}

.tax-info { 
  display: flex;
  padding: 1.5em;
  margin-top: 4rem;
  justify-content: space-evenly;
  border-radius: 10px;
  border: 1px dashed #ccc;
  font-family: 'Google Sans';
}

[viewport=mobile] .tax-info-item {
  text-align: center;
}

.tax-info-text {
  font-size: 1.15em;
  font-weight: 600;
  vertical-align: middle;
}

[viewport=mobile] .tax-info-text {
  display: block;
  margin-bottom: .5rem;
}

[viewport=desktop] .tax-info-text {
  margin-right: .5rem;
}

.tax-info-number {
  font-size: 1.3em;
  font-weight: 700;
  vertical-align: middle;
}

#google_translate_element {
  width: 0 !important;
  height: 0 !important;
  visibility: hidden;
}

.page {
  position: absolute;
  top: -99999px;
  left: -3rem;
  visibility: hidden;
  opacity: 0;
}

.page.is-shown {
  position: relative;
  top: 0;
  left: 0;
  visibility: visible;
  opacity: 1;
  animation: move-from-feft .4s, left .4s;
}

@keyframes move-from-feft {
  0% {
      opacity: 0;
  }

  100% {
      opacity: 1;
  }
}

@keyframes move-from-feft {
  0% {
      left: -4rem;
  }

  100% {
      left: 0;
  }
}

.page-header {
  margin-bottom: 5rem;
}

.page-header-icon {
  margin-left: 1rem;
  font-size: 1.8em;
  cursor: pointer;
}

.page-header-desc { 
  color: #666;
}

.page-sub-header {
  position: relative;
  padding-bottom: .5rem;
  margin-bottom: 5rem;
  border-bottom: 1px solid #ccc;
}

.page-sub-header-column {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-sub-header-column-item + .page-sub-header-column-item {
  margin-left: 1rem;
}

.page-sub-header__dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 1.3rem);
}

.page-sub-header__heading-secondary {
  margin-bottom: 0;
}

.email-template {
  padding: 0 !important;
}

.email-template-container {
  padding: 1.5rem !important;
  border: none !important;
}

.email-template-heading {
  font-family: 'Google Sans';
  font-size: 1.6em;
  line-height: 1.6;
}

.email-template-name {
  font-family: 'Google Sans';
  font-size: 1.2em;
  line-height: 1.6;
}

.email-template-brand img {
  max-width: 100%;
  max-height: 100%;
}

[viewport=desktop] .page-column {
  display: flex;
}

[viewport=desktop] .page-column-item {
  flex-shrink: 0;
}

[viewport=desktop] [app-result=false] .page-column-item:first-child {
  width: 100%;
}

[viewport=mobile] .page-column-item:last-child {
  margin-top: 8rem;
}

[viewport=desktop] .page-column-item:last-child {
  padding-left: 7.5%;
}

[app-result=false] .page-column-item:last-child {
  height: 0;
  overflow: hidden;
}

[viewport=desktop] #give-now[app-result=true] .page-column-item:first-child {
  width: 30%;
}

[viewport=desktop] #give-now .page-column-item:last-child {
  width: 70%;
}

[viewport=desktop] #give-later[app-result=true] .page-column-item:first-child {
  width: 30%;
}

[viewport=desktop] #give-later .page-column-item:last-child {
  width: 70%;
}

[viewport=desktop] #endowment[app-result=true] .page-column-item:first-child {
  width: 25%;
}

[viewport=desktop] #endowment .page-column-item:last-child {
  width: 75%;
}

.page-body-divider {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.report {
  border-radius: 1rem;
  border: 2px dashed #dfdfdf;
}

[viewport=mobile] .report {
  padding: 1.5rem;
}

[viewport=desktop] .report {
  padding: 3rem;
}

.report p,
.report li {
  line-height: 2.4;
}

.report__heading-tertiary {
  margin-bottom: 3rem;
  text-align: center;
}

.social-media-share-list {
  display: flex;
}

.social-media-share-item {
  flex: 1 1 0;
}

.social-media-share-item + .social-media-share-item {
  margin-left: 12.5%;
}

.share-sociela-link {
  cursor: pointer;
}

.social-media-share-image {
  width: 100%;
  opacity: 1;
  transition: opacity .2s;
}

.social-media-share-image:hover {
  opacity: .6;
}

.social-media-share-text {
  display: block;
  margin-top: 1rem;
  font-family: 'Google Sans';
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

.language-button {
  position: relative;
}

.language-button-text {
  position: absolute;
  top: -.1rem;
  right: -.25rem;
  z-index: 0;
  color: #666;
  font-size: .7rem;
  font-weight: 700;
}

[data-org=name],
[data-org=the-name] {
  word-break: keep-all;
} 

.result-button {
  position: relative;
  visibility: hidden;
  opacity: 0;
  margin-top: 5em;
  left: -3em;
  transition: left .3s, opacity .3s, color .2s;
}

[app-result=true] .result-button {
  display: none;
}

.result-button.is-shown {
  left: 0;
  visibility: visible;
  opacity: 1;
}

.url-item + .url-item {
  margin-top: 4em;
}

.url-link-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 1.25rem 1.5rem 2rem;
  background: #fafafa;
  border-radius: 1rem;
}

.url-link {
  word-break: break-all;
  color: #888;
}

.url-icon {
  margin-left: 1rem;
  font-size: 1.4em;
  cursor: pointer;
  transition: opacity .2s;
}

.url-icon:hover {
  opacity: 1;
}

.location__brand {
  margin-bottom: 3rem;
}

.location__brand .brand-image {
  height: 5rem;
}