/* ==========================================================================
   GLOBAL
   ========================================================================== */

*                                   { box-sizing: border-box; }
html                                { overflow-x: hidden; }
body                                { font-family: 'Lato', Helvetica, Arial, sans-serif; font-size: 14px; color: #545554;  }
h1, h2, h3, h4                      { font-family: 'Cormorant Garamond', serif; }
h1                                  { font-weight: 700; font-size: 28px; margin: 0 0 16px; padding: 0 0 16px; border-bottom: 1px solid #dee2e6; }
h2                                  { font-size: 22px; margin: 0 0 16px; }

@media only screen and (min-width: 860px) {
body                                { font-size: 16px; }
h1                                  { font-size: 38px; margin: 0 0 16px; padding: 0 0 32px; }
h2                                  { font-size: 28px; }
}

hr                                  { border: 0; border-bottom: 1px solid #dee2e6; background: none; margin: 20px 0; }

[ng\:cloak], [ng-cloak], .ng-cloak  { display: none; }

/* ==========================================================================
   LAYOUT
   ========================================================================== */

.page-inner                         { max-width: 1100px; padding: 0 20px; margin: 0 auto; }
.page-content                       { padding: 32px 0; }
.row                                { }
.row [class^=col]                   { }

@media only screen and (min-width: 860px) {   
.page-content                       { padding: 32px 0; }
}

/* ==========================================================================
   PAGE HEADER
   ========================================================================== */

.page-header                        { background: #e5732a; padding: 16px 0; }
.page-header__content               { display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
.page-header__logo                  { width: 120px; padding: 0 0 16px; }
.page-header__nav                   { text-align: right; }
.page-header a                      { color: #fff; }

@media only screen and (min-width: 860px) { 
.page-header                        { padding: 32px 0; }
.page-header__content               { flex-direction: row; }
.page-header__logo                  { width: 140px; }
}

/* ==========================================================================
   FORMS
   ========================================================================== */

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Firefox */
input[type=number] { -moz-appearance: textfield; }

input[type="text"], input[type="number"], input[type="email"], select { display: block; width: 100%; padding: 8px; line-height: 1; border: 1px solid #ccc; border-radius: 4px; margin: 4px 0 0; }
input[type="text"]:focus, input[type="number"]:focus, input[type="email"]:focus, select:focus { outline: none; border: 1px solid #ccc }

input[type="submit"]                { border: none; outline: none; background: #e5732a; transition: all 0.3s; color: #fff; padding: 8px 16px; cursor: pointer; border-radius: 4px; }
input[type="submit"]:hover          { background: #fbb034; }
input[type="submit"]:disabled       { background: #aaa; cursor: default; }

.input-box                          { display: flex; align-items: stretch; line-height: 1; border: 1px solid #ccc; border-radius: 4px; margin: 4px 0 0; overflow: hidden; }
.input-box input[type="text"], .input-box input[type="number"], .input-box input[type="email"], .input-box select { padding: 8px; border: none; border-radius: 0; margin: 0; }
.input-box__prefix                  { background: #e5e5e5; padding: 8px 12px; border-right: 1px solid #ccc; display: flex; align-items: center; justify-content: center; }

.form__message                      { font-size: 14px; padding: 8px 0 0; }
.form__message--error               { color: #c00; }

.form__submit                       { display: flex; align-items: center; }
.loading                            { padding: 0 0 0 10px; }
.loading img                        { width: 35px; height: 35px; }

/* ==========================================================================
   PANEL
   ========================================================================== */

.panel                              { background: #fbb034; padding: 32px; color: #fff; border-radius: 4px; margin: 10px 0 32px; }
.panel p:last-child                 { margin: 0; }

.payment-provider                   { }
.payment-provider img               { vertical-align: top; }

@media only screen and (min-width: 860px) {
.panel                              { padding: 32px; }
}

#targetIframe                       { border-width: 0; }