/* Configure base font size for HD ready and Full HD resolutions, as well as 4K. */
@media only screen and (min-width:  300px) { html { font-size: 10.0px; } }
@media only screen and (min-width:  500px) { html { font-size: 13.0px; } }
@media only screen and (min-width: 1000px) { html { font-size: 15.0px; } }
@media only screen and (min-width: 1500px) { html { font-size: 16.0px; } }
@media only screen and (min-width: 2000px) { html { font-size: 17.0px; } }

.icon-block {
  padding: 0 15px;
}
.icon-block .material-icons {
	font-size: inherit;
}

.progress
{
	height: 0.25rem !important;
}

/* Disable materialize-css junk. */
span.thumb { display: none; }
input[type=range] { border: 0; }

/* Fix materialize-css pixel size for buttons. */
.btn, .btn-large, .btn-small, .btn-flat
{
	height: 3rem;
	line-height: 3rem;
	padding: 0;
	font-size: 0.75rem;
}

/* ... */
.input-field { margin-top: 0.67rem; margin-bottom: 0.67rem; }
.input-field .prefix ~ input
{
	box-sizing: border-box;
	padding: 0rem 0.25rem;
	width: calc(100% - 4rem);
}

#contributionComment,
#contributionName
{
	padding-left: 0.5rem;
}

.input-field .prefix ~ label
{
	margin-left: 3.5rem;
}


/** Animations **/
@keyframes horizontalBackgroundMovement
{
	from { transform: translate(-4rem, 0); }
	to { transform: translate(-8rem, 0); }
}

html
{
}

textarea
{
	resize: none;
}

hr
{
	margin-block-start: 0em;
	margin-block-end: 0em;
	line-height: 1.5;

	clear: both;
	display: block;
	position: relative;
	border: 0;
	padding: 0;
	margin: 0.5rem 0rem 1rem 0rem;
	height: 0.25rem !important;
	width: 100%;
	border-radius: 2px;
	background-color: lightgrey;
}

#recipientList
{
	margin: 0;
	padding: 0;
	list-style-type: none;
	list-style-position: inside;
}

#recipientList > li
{
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;

	margin-bottom: 1rem;
}
#recipientList > li > a
{
	font-size: 0;
	position: relative;
	padding: 0;
	margin: 0;
	color: black;
}
#recipientList > li > a > span
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3rem;

	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;

	padding: 0rem 1rem;
	margin: 0;

	color: white;
	background-color: rgba(0, 0, 0, 0.50);

	color: black;
	background-color: rgba(255, 255, 255, 0.67);

	border-bottom-left-radius: 1rem;
	border-bottom-right-radius: 1rem;
}
#recipientList > li > a > span > b,
#recipientList > li > a > span > i
{
	font-size: 0.85rem;
}


#recipientList > li > a
{
	margin: 0rem 0.10rem;
}

#recipientList > li > a > img
{
	display: inline-block;
	width: 100%;

	border-radius: 1rem;
	margin: 0;
	padding: 0;
	background-color: white;
	box-shadow: inset 0rem 0.1rem 0.2rem rgba(0, 0, 0, 0.31);
}

#track-delivery {
	display: block;
    margin-bottom: 2em;
    font-size: 1.4em;
    text-overflow: ellipsis;
    overflow: hidden;
}

.sorting-button {
	cursor: pointer;
	user-select: none;
}

#contributionList
{
	margin: 0;
	padding: 0;
	list-style-type: none;
	list-style-position: inside;
}

#contributionList > li
{
	display: flex;
	flex-direction: row;
	padding: 0;
	margin: 0;

	margin-bottom: 1rem;
}
#contributionList > li > span
{
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;

	font-size: 1rem;
	word-break: break-word;

	margin: 0rem;
	padding: 0rem;
	padding-left: 0.67rem;

	background-color: rgba(255, 255, 255, 0.67);
}

.contributionDisplay
{
	position: relative;
	display: block;
	height: 4rem;
	width: 4rem;
	overflow: hidden;
	z-index: 3;

	border-radius: 999rem;
	margin: 0;
	padding: 0rem;
	border: 0;
	background-color: transparent;
	box-shadow: inset 0rem 0.1rem 0.2rem rgba(0, 0, 0, 0.31), 0 0 0 1rem rgb(255, 255, 255);
}
.contributionWaves
{
	content: '';
	position: absolute;
	display: block;
	height: 4rem;
	width: 16rem;
	z-index: 1;

	background-image: url('../img/water.png');
	background-repeat: repeat-x;
	background-size: contain;
	background-position: 0 4rem;

	animation-name: horizontalBackgroundMovement;
	animation-timing-function: linear;
	animation-duration: 6s;
	animation-iteration-count: infinite;
	will-change: transform;
}

#contributionList > li > div
{
	box-sizing: border-box;
	display: block;
	position: relative;
	overflow: hidden;
	height: 4rem;
	width: 5rem;
}

#contributionList > li > div > span
{
	position: absolute;
	top: 0;
	left: 0;

	display: block;
	height: 4rem;
	width: 4rem;

	line-height: 4rem;
	text-align: center;
	border-radius: 999rem;

	background-color: rgba(255, 255, 255, 0.31);

	padding-left: 0.33rem;
	padding-top: 0.10rem;
	font-family: monospace;
	font-size: 1.15rem;
	font-weight: bold;
	z-index: 2;
}

#contributionList > li > span > span
{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	z-index: 2;
}

#contributionList > li > span > q
{
	text-align: left;
	font-size: 0.80rem;
	color: rgba(0, 0, 0, 0.42);
}

#contributionList > li > span > small
{
	color: rgba(0, 0, 0, 0.42);
}

#donateField
{
	transition: all 1s ease-in-out;
	background-color: honeydew;
	border-radius: 0.25rem;
	padding: 1em;
	margin: 5px 0;
	border: 1px solid rgba(0, 0, 0, 0.31);
}

#donateField.pending
{
	background-color: khaki;
}

#donateField.failed
{
	background-color: tomato;
}

#donateStatus,
#donateForm,
#donateSection
{
	transition: all 1s ease-in-out;
	opacity: 1;
	max-height: 65rem;
	padding: 0;
	overflow: hidden;

}

#donateStatus {
	max-height: 10rem;
}
#sharingActions
{
	margin-top: 0.5rem;
}
#sharingActions > a
{
	color: black;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
}
#sharingActions > a > i
{
	margin-left: 1rem;
	margin-right: 0.25rem;
	vertical-align: -15%;
}
#fullfillmentLink
{
	max-width: 16ex;
	padding-right: 1ex;
	overflow: hidden;
	text-overflow: ellipsis;
}

#donateField.fullfilled
{
	font-size: 1.5rem;
}

#donateSection
{
	margin-top: 1rem;
}

#donateStatus.hidden,
#donateForm.hidden,
#donateSection.hidden {
	margin-top: 0rem;
	max-height: 0;
    border: 0;
    padding: 0;
    margin: 0;
}
#donateSection.hidden {
    max-height: unset;
    min-height: unset;
    margin-top: 1rem;
}
#donateSection.hidden > div {
    border: 0 !important;
    padding: 0 !important;
}

/* Weird hide mechanic to allow web-wallet private-key force show. */
#donateSection.hidden #web-wallet:not(.force-show),
#donateSection.hidden > div > .tabset .tab-buttons,
#donateSection.hidden > div > :not(.tabset) {
    display: none;
}
#donateSection.hidden > div > .tabset .tab-container {
    min-height: unset;
    border: unset;
    background-color: #F0FFF0;
}
#donateSection.hidden > div > .tabset {
    margin-top: unset;
}

/* Make the range slider handle larger. */
input[type=range]::-webkit-slider-thumb
{
	margin-top: -0.56rem;
	height: 1.33rem;
	width: 1.33rem;
}

input[type=range]::-ms-thumb
{
	margin-top: -0.56rem;
	height: 1.33rem;
	width: 1.33rem;
}

input[type=range]::-moz-range-thumb
{
	margin-top: -0.56rem;
	height: 1.33rem;
	width: 1.33rem;
}

.page-footer li
{
	padding: 0.33rem 0rem;
}

/**/
.clouds
{
	background-color: white;
	background-image: url(../img/clouds.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left 2em;
}

.grass
{
	background-image: url(../img/grass.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left 325px;
	border-top: 2rem solid rgb(237,250,252);
}

.background
{
	background: linear-gradient(180deg, rgba(256,256,256,0) 0%, rgba(256,256,256,0) 500px, rgba(216,255,214,1) 500px, rgba(216,255,214,1) 100%);
	margin-top: -2rem;
	padding-bottom: 2rem;
}

/* Site header */
#header > h1
{
	font-family: 'Cairo';
	color: #4cca47;
	color: rgb(28, 172, 171);
	letter-spacing: 0.13rem;
	padding-right: 1.25rem;
	text-shadow:
		-0.05rem -0.05rem 0 rgba(0, 0, 0, 0.65),
		0.05rem -0.05rem 0 rgba(0, 0, 0, 0.65),
		-0.05rem 0.05rem 0 rgba(0, 0, 0, 0.65),
		0.05rem 0.05rem 0 rgba(0, 0, 0, 0.65);
}

#header > h1 > span
{
	font-size: 4.75rem;
}

#header > h1 > img
{
	display: inline-block;
	position: relative;
	top: 0.75rem;
	height: 5.25rem;
}

#header > p
{
	font-family: 'Cairo';
	font-size: 1.33rem;
	padding: 0rem 1.5rem;
}

/* Site content */
main
{
	background-color: white;
	border-radius: 1em;
	margin-top: 2rem;
	padding: 1.50rem 0.75rem;
}

/* Campaign overview */
#overview i,
#overview b,
#overview span > span
{
	margin-right: 0.25rem;
}
#overview div
{
	margin-bottom: 0.40rem;
}

#overview .progress
{
	height: 0.25rem;
	background-color: lightgrey;
}

#overview #campaignProgressBar
{
	height: 0.25rem;
	background-color: limegreen;
}

#overview #campaignContributionBar
{
	height: 0.25rem;
	background-color: khaki;
	transition: left 0.75s ease-in-out;
}

/* Campaign form */
fieldset > .input-field
{
	margin: 0;
}

/* Campagin content */
#campaignAbstract
{
	margin-top: 1rem;
	text-align: left;
}

#campaignDetails
{
	padding: 0em;
	margin: 0;
	text-align: left;
}

#campaignDetails > *:last-child
{
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Campaign sidebase */
aside i,
aside b,
aside span > span
{
	margin-right: 0.25rem;
}
aside b
{
	font-size: 1rem;
	margin-left: 0.11rem;
}
aside div
{
	margin-bottom: 0.40rem;
}
aside > section > h3
{
	font-size: 1rem;

	margin: 0;
	margin-bottom: 0.40rem;
}

/* Translate button */
#languageSelector ul .btn-floating
{
	transition: all 0.25s ease-in;
	opacity: 0;
	transform: scale(0.4) translateY(40px) translateX(0px);
}
#languageSelector.active ul .btn-floating
{
	opacity: 1 !important;
	transform: scale(1) translateY(0px) translateX(0px);
}

#currentLanguage
{
	width: auto;
	height: 4rem;
	line-height: 4rem;
	padding: 1rem;

	font-size: 1.15rem;
	vertical-align: middle;

	text-shadow: 0px 0px 7px white,
	             0px 0px 5px white,
	             0px 0px 3px white,
	             0px 0px 2px white,
	             0px 0px 1px white;
}

#donateStatus {
    text-align: center;
}

#donateForm .input-field {
    padding: 0;
    margin-top: -0.5rem;
    overflow: visible;
    max-height: none;
}

#donateForm .input-field:nth-child(2) {
    text-align: center;
}
#donateForm .input-field:nth-child(3) {
    padding: 0 0.75rem;
    margin: 0.75rem 0rem;
}

#donateForm #donateButton {
    width: 100%;
    padding: 0;
    margin: 0rem;
}

#donateForm .satoshis-container,
#donateForm .dollars-container {
    display: flex;
    align-items: baseline;
}
#donateForm .satoshis-container .icon,
#donateForm .dollars-container .icon {
    height: 1rem;
    margin-right: 0.5rem;
}
#donateForm .satoshis-container input,
#donateForm .dollars-container input {
    width: auto;
    flex-grow: 1;
}

#donateForm .input-field i.icon-attach_money {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    text-align: center;
    opacity: 0.5;
    font-size: 2.25rem;
    line-height: 3.25rem;
}

#donateForm input.slider {
    height: 3rem;
    padding: 0;
    display: block;
    margin: auto;
}

#donateSection #donateAliasContainer {
    float: none;
}

#web-wallet {
    text-align: center;
    margin-top: 1em;
    margin-bottom: 2em;
}
#web-wallet.hidden {
    display: none;
}
#web-wallet.force-show {
    display: block !important;
}
.hidden #web-wallet.force-show .web-wallet-info,
.hidden #web-wallet.force-show .address {
    display: none !important;
}

#web-wallet a {
    display: block;
}

#web-wallet .private-key-button {
    cursor: pointer;
    margin: 1em;
    border: solid 1px #abf4a8;
    background-color: #d8ffd5;
    padding: 0.5em;
    font-size: 0.8em;
}
#web-wallet .private-key {
    font-weight: bold;
    padding: 0.5em;
    font-size: 0.75em;
}
#web-wallet .private-key.hidden {
    display: none;
}

#web-wallet .address {
    text-align: center;
    margin-top: 1em;
}

#revokeToken {
    text-align: center;
    margin-top: 2em;
}
#revokeToken.hidden {
    display: none;
}
.fullfilled #revokeToken {
    display: none !important;
}

#web-wallet .web-wallet-warning {
    border: solid 1px #FEB3B3;
    background-color: #FFCCCC;
    margin: 1em;
    font-weight: bold;
    font-size: 0.85em;
}
#web-wallet .web-wallet-warning.hidden {
    display: none;
}

#revokeToken .refund-address {
    display: block;
    text-align: center;
    margin-top: 1em;
    margin-bottom: 1em;
    border: solid 1px #BFEDBF;
    font-size: 0.9em;
    box-shadow: none;
}
#revokeToken .refund-address.invalid {
    border-color: #FF0000;
}
#revokeToken .refund-address.disabled {
    border-color: #CCCCCC;
    background-color: #EEEEEE;
}

#revokeToken .transaction-hex {
    word-wrap: break-word;
    max-width: 300px;
    padding: 0.5em;
    font-family: monospace;
    margin: auto;
    margin-top: 1em;
    margin-bottom: 1em;
    font-size: 0.75em;
    border: solid 1px #BFEDBF;
    text-align: left;
}

#revokeToken .refund-info {
    font-size: 0.85em;
    font-style: italic;
    margin-top: 2em;
}
#revokeToken .refund-warning {
    font-size: 0.85em;
    font-weight: bold;
    margin-top: 0.5em;
}
#revokeToken .disable-button {
    display: block;
    border: solid 1px #FEB3B3;
    width: fit-content;
    padding: 0.5em;
    border-radius: 0.5em;
    margin: auto;
    background-color: #FFCCCC;
    cursor: pointer;
    font-size: 0.85em;
    font-weight: bold;
}


#ec-plugin .plugin-step {
    margin-top: 0.75rem;
}
#ec-plugin .plugin-step > small {
    display: inline-block;
    width: 100%;
    text-align: center;
}
#ec-plugin .plugin-step > textarea {
    height: 7rem;
    font-family: monospace;
    font-size: small;
    margin: 0;
    margin-top: 0.5rem;
    padding: 1rem;
    background-color: white;
}
#ec-plugin .plugin-step > button {
    width: 100%;
}
#ec-plugin .plugin-step > p {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: small;
    height: 7rem;
    padding: 1rem;
    margin-bottom: 7px;
    margin-top: 0.5rem;
    border: 1px solid rgb(169, 169, 169);
}
#ec-plugin .plugin-step > div.button-container {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
#ec-plugin .plugin-step > div.button-container > .btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-color: transparent;
    color: black;
    box-shadow: none;
}
#ec-plugin .plugin-step > div.button-container > .btn > span {
    margin-left: 0.25rem;
}

#ec-plugin-info {
    margin: auto;
    text-align: center;
    margin-bottom: 1em;
    margin-top: 2em;
    font-style: italic;
}

.tabset {
    margin-top: 2rem;
}
.tabset .tab-buttons {
    display: flex;
}
.tabset .tab-buttons .tab-label {
    display: inline-block;
    width: 50%;
    box-sizing: border-box;
    border: solid 1px #EEEEEE;
    text-align: center;
    padding: 0.5rem;
    cursor: pointer;
    background-color: #EEEEEE;
    border-radius: 5px 5px 0 0;
}
.tabset .tab-buttons .tab-label.active {
    background-color: #FFFFFF;
    border-bottom: 0;
}
.tabset .tab-container {
    padding: 5px;
    border: solid 1px #EEEEEE;
    border-top: 0;
    min-height: 515px;
}
.tabset .tab-container .tab:not(.active) {
    display: none !important;
}
