* {
  font-family: Verdana, Open-Sans, sans-serif;
  font-variant: normal;
  padding: 0;
  margin: 0;
}

html {
  height: 100%;
}

body {
  display: flex;
  width: 100%;
}

#wrap {
  width: 100%;
  max-width: 600px;
  margin: 20px auto;
  clear: both;	
}

form {
  width: 100%;
  clear: both;
  font-size: 15px;
}

h2 {
	font-size: 1.5em;
	color: #6c6c6c;
	text-transform: uppercase;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
h3 {
	font-size: 1.3em;
	color: #6c6c6c;
	text-transform: uppercase;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
p {
	margin-bottom: 10px;
}

.group {
  background: white;
  box-shadow: 0 7px 14px 0 rgba(49,49,93,0.10),
              0 3px 6px 0 rgba(0,0,0,0.08);
  border-radius: 4px;
  margin-bottom: 20px;
}
.header { padding: 1em; }

#receiptFooter { 
	display: none;
	clear: both; 
	width: 100%;
	font-size: 12px;
}

#receiptHeader, #receiptFooter { display: none; }
#receiptHeader .logo { width: 100%; text-align: center; }
#receiptHeader .logo img { width: 250px; }
#receiptHeader .tagline { width: 100%; text-align: center; color: #6c6c6c; text-transform: uppercase; font-size: .7em; }
#receiptFooter .contactInfo { width: 100%; text-align: center; color: #222222; text-transform: uppercase; font-size: .8em; }
#receiptFooter .finePrint { width: 100%; margin: 0 auto; padding: 1em 0; clear: both; font-size: .7em; }


.stripeLogo { float: right;  width: 130px; }
.stripeLogo img { width: 100%; margin-bottom: 1em;}
.cardBrands { float: right;  width: 375px; margin-top: 1em; }
.cardBrands img { width: 100%; }


.infogroup {
  background: #F3F3F3;
  box-shadow: 0 7px 14px 0 rgba(49,49,93,0.10),
              0 3px 6px 0 rgba(0,0,0,0.08);
  border-radius: 4px;
  margin-bottom: 20px;
  overflow: hidden;
}


label {
  position: relative;
  color: #8898AA;
  font-weight: 300;
  margin-left: 20px;
  display: block;
  overflow: hidden;
}

.infogroup label {
  position: relative;
  color: #8898AA;
  font-weight: 300;
  margin-left: 20px;
  display: block;
}

.group label:not(:last-child) {
  border-bottom: 1px solid #F0F5FA;
}

.infogroup label:not(:last-child) {
  border-bottom: 1px solid #F0F5FA;
}

label > span {
  width: 20%;
  text-align: right;
  float: left;
  font-size: .75em;
  font-weight: bold;
  text-transform: uppercase;
  padding: 12px 0;
}

.field, #card-element {
  background: transparent;
  font-weight: 300;
  border: 0;
  color: #31325F;
  outline: none;
  width: 70%;
  float: right;
}
.field { padding: 12px 10px; }

input.field {
  padding-right: 10px;
  padding-left: 10px;
  cursor: text;
}

.field-select {
  background: transparent;
  font-weight: 300;
  border: 0;
  color: #31325F;
  outline: none;
  padding-right: 0px;
  padding-left: 0px;
  cursor: text;
  width: 70%;
  height: 40px;
  float: right;
}

.field-select select { 
  background: transparent;
  font-weight: 300;
  border: 0;
  color: #31325F;
  outline: none;
  padding-right: 10px;
  height: 40px;
  float: right;
  width: 103%; 
}

.field::-webkit-input-placeholder { color: #CFD7E0; }
.field::-moz-placeholder { color: #CFD7E0; }
.field:-ms-input-placeholder { color: #CFD7E0; }

.infogroup p {
  background: transparent;
  font-weight: 300;
  border: 0;
  color: #31325F;
  outline: none;
  padding: 10px;
  width: 70%;
  min-height: 40px;
  float: right;
  line-height: 1em;
}

.feeExplain { 
	font-size: .7em; 
	font-style: italic; 
	margin-left: 1em;
}
.cardError {
	margin-left: 2em;
	color: red;
}
.recurringText { 
	font-size: .9em;
}
button, .back-button {
  display: block;
  color: white;
  box-shadow: 0 7px 14px 0 rgba(49,49,93,0.10),
              0 3px 6px 0 rgba(0,0,0,0.08);
  border-radius: 4px;
  border: 0;
  margin-top: 20px;
  font-size: 15px;
  font-weight: 600;
  height: 40px;
  line-height: 38px;
  outline: none;
  text-transform: uppercase;
}

button {
  background: #666EE8;
  float: right;
  width: 70%;
}

button.full {
  background: #666EE8;
  float: right;
  width: 100%;
}

.back-button {
  background: #787878;
  float: left;
  width: 25%;
}

button:focus {
  background: #555ABF;
}

button:active {
  background: #43458B;
}

.outcome {
  float: left;
  width: 100%;
  padding-top: 8px;
  min-height: 24px;
  text-align: center;
}

.success, .error {
  display: none;
  font-size: 13px;
}

.success.visible, .error.visible {
  display: inline;
}

.error {
  color: #E4584C;
}

.success {
  color: #666EE8;
}

.success .token {
  font-weight: 500;
  font-size: 13px;
}

.fund-selector { 
	text-align: center; 
	padding: 1em; 
}

.fund-selector input{
    margin:0;padding:0;
    -webkit-appearance:none;
       -moz-appearance:none;
            appearance:none;
}

.fund-support{background-image:url(./img/staff-support.png);}
.fund-general{background-image:url(./img/general-fund.png);}
.fund-building{background-image:url(./img/building-fund.png);}

.fund-selector input:active +.fund-icon{opacity: .9;}
.fund-selector input:checked +.fund-icon{
    -webkit-filter: none;
       -moz-filter: none;
            filter: none;
}
.fund-icon{
    cursor:pointer;
    background-size:contain;
    background-repeat:no-repeat;
    display:inline-block;
    width:26%;height:166px;
    -webkit-transition: all 100ms ease-in;
       -moz-transition: all 100ms ease-in;
            transition: all 100ms ease-in;
    -webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
       -moz-filter: brightness(1.8) grayscale(1) opacity(.7);
            filter: brightness(1.8) grayscale(1) opacity(.7);
}
.fund-icon:hover{
    -webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
       -moz-filter: brightness(1.2) grayscale(.5) opacity(.9);
            filter: brightness(1.2) grayscale(.5) opacity(.9);
}
.test-mode {
    background-color: yellow;
    padding: 5px;
    border-radius: 5px;
    width: 98%;
    text-align: center;
    float: left;
	margin: 10px auto;
}
/* Font-Awesome Spinning Icon -- shown upon button submit */
.fa {
    margin-left: -12px;
    margin-right: 8px;
	opacity: 0.0;
}

/* Styles for Printed Output */

@media print {
	#receiptHeader, #receiptFooter { display: block; }
	body { background: none; }
	button, .back-button { display: none; }
	
}