

/*=================================
=            01. layout           =
=================================*/

header .logo img {
    max-width: 100%;
}
header .menu {
    text-align: center;
    font-weight: bold;
}
img {
    max-height: 600px;
}
.subtitle-head {
    text-align: center;
    font-size: 20px;
    color: #39335b;
    margin-bottom: 60px;
    letter-spacing: 3px;
}
.last-element {
    margin-bottom: 95px;
}

/*=================================
=            02. Inputs           =
=================================*/

form .form-group {
  clear: both;
  margin-bottom: 27px;
}
form .form-group.col-2 {
  width: 50%;
  clear: none;
  float: left;
  display: inline-block;
}
form .form-group.col-2 input {
  width: 300px;
}
form .form-group.col-2:nth-child(2),
form .form-group.col-2:nth-child(5) {
  padding-left: 16px;
}
form .form-group input:focus {
  border-color: rgba(119, 130, 170, 0.6);
}
form .form-group.last {
  padding-bottom: 10px;
  margin-bottom: 30px;
  margin-top: 34px;
  border-bottom: 2px solid #dee6eb;
}
form .form-group.last input {
  width: auto;
  height: auto;
}
form .form-group.last label {
  width: 100%;
  color: #7782aa;
  cursor: pointer;
  font-size: 15px;
  display: inline-block;
}
form .form-group.checkbox {
  margin-bottom: 50px;
}
form .form-group.checkbox span {
  color: #333;
  font-size: 15px;
  vertical-align: top;
  font-family: "HelveticaNeue", serif;
}
form .form-group.checkbox input {
  width: auto;
  height: auto;
  margin-left: 0;
  display: none;
}
form .form-group.checkbox input + label {
  padding-left: 0;
}
form .form-group.checkbox input + label .first {
  width: 17px;
  height: 16px;
  padding-left: 0;
  margin-right: 10px;
  display: inline-block;
  border: 2px solid #BFBEBE;
}
form .form-group.checkbox input:checked + label .first {
  border-color: #1f7fe2;
}
form .form-group.checkbox input:checked + label .first:before {
  content: "\f00c";
  font-family: 'FontAwesome', serif;
  font-size: 13px;
  position: relative;
  top: -2px;
  color: #1f7fe2;
}
form input, textarea, form select {
  width: 100%;
  height: 50px;
  padding: 0 15px;
  color: #524f6f;
  border: 2px solid #BFBEBE;
}
form input:focus,form select:focus {
  outline: none;
}
form select {
  background-color: transparent;
}
form label {
  /*color: #7782aa;*/
  font-size: 15px;
  display: block;
  letter-spacing: 1px;
  margin-bottom: 12px;
  font-family: "HelveticaNeue-Medium", serif;
}
form label span {
  color: #dd4e69;
}

form label div {
  color: #7782aa;
  font-style: italic;
}
select {
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
}
p {
  color: #333;
  /*font-size: 15px;
  padding-bottom: 21px;
  letter-spacing: 1px;
  margin-bottom: 25px;
  border-bottom: 2px solid #dee6eb;*/
}
button {
  color: #fff;
  width: 100%;
  padding: 18px 0;
  font-size: 15px;
  border: none;
  border-radius: 7px;
  transition: 0.2s linear;
  background-color: #0479ec;
  text-transform: uppercase;
}
button:hover {
  background-color: #238ff9;
}

form .title {
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
}

form .subtitle {
  border-bottom: 2px solid #D8D8D8;
  margin-bottom: 20px;
}

.question-circle {
    max-width: 18px;
    padding: 1px;
    background-color: #fff;
}

.question-circle:hover {
  background-color: #fff;
}

/*=================================
=       03. Multiple Steps        =
=================================*/
.tab {
  display: none;
}
.step {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbbbbb;
  border: none;  
  border-radius: 50%;
  display: inline-block;
  opacity: 0.5;
}
.step.active {
  opacity: 1;
}

/* Mark the steps that are finished and valid: */
.step.finish {
  background-color: #4CAF50;
}

/*=================================
=           04. Tables            =
=================================*/
.table th {
 background-color: #e7e7e7;
 border-color: #32383e;
}

.table button {
    max-width: 60px;
    padding: 14px 0;
    background-color: #e7e7e7;
    border-bottom: 2px solid #D8D8D8;
    color: #333;
}

.table button:hover {
  background-color: #BFBEBE;
}


/*=================================
=           05. Footer            =
=================================*/

.widget-footer {
    width: 19%;
    float: left;
    display: inline-block;
    margin-bottom: 0px;
}

.widget-footer a {
 font-size: 16px;
 color: #fff;
 letter-spacing: 2px;
 /*text-transform: uppercase;*/
 margin-bottom: 28px;
 font-family: "HelveticaNeue-Bold", serif; 
}

footer .p-md {
    color: #fff;
    font-size: 15px;
    padding-bottom: 0px;
    letter-spacing: 1px;
    margin-bottom: 25px;
    font-style: italic;
    border-bottom: 0px;
    line-height: 18px;
    text-align: justify;
}

footer .p-xs {
    color: #fff;
    font-size: 11px;
    padding-bottom: 0px;
    letter-spacing: 1px;
    margin-bottom: 25px;
    font-style: italic;
    border-bottom: 0px;
    line-height: 15px;
    text-align: center;
}

footer .title {
    text-align: center;
    color: #fff;
    padding-bottom: 15px;
}

.copyright {
    width: 100%;
    display: inline-block;
    padding: 15px 0 15px;
    border-top: 2px solid #fff3;
}

/*=================================
=         06. Validations         =
=================================*/

.invalid {
  border: 2px solid #a94442 !important;
}


/*=================================
=         07. credit card         =
=================================*/

.credit-card-box form .form-group{
 margin-bottom: 8px;
}
.credit-card-box {
 margin-bottom: 90px;
}
.secure-notice {
    padding: 10px 10px 10px 20px;
    border-radius: 3px;
    background: #e1ffea;
    margin-bottom: 20px;
    position: relative;
}
.secure-notice .padlock {
    position: absolute;
    top: 13px;
    left: 9px;
}
.secure-notice h3, .secure-notice p {
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 0px;
    letter-spacing: 1px;
}
/*=================================
=           08. Loading           =
=================================*/

.bg_load {
    position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: #EEE;
}

.wrapper-loading {
    /* Size and position */
	font-size: 25px; /* 1em */
    width: 8em;
	height: 8em;
    position: fixed;
    left: 50%;
    top: 50%;
    margin-top: -100px;
    margin-left: -100px;

    /* Styles */
	border-radius: 50%;
    background: rgba(255,255,255,0.1);
    border: 1em dashed rgba(138,189,195,0.5);
    box-shadow: 
        inset 0 0 2em rgba(255,255,255,0.3),
        0 0 0 0.7em rgba(255,255,255,0.3);
    animation: rota 3.5s linear infinite;

    /* Font styles */
    font-family: 'Racing Sans One', sans-serif;
    
    color: #444;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 .04em rgba(255,255,255,0.9);
    line-height: 6em;
}

.wrapper-loading:before,
.wrapper-loading:after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: inherit;
    box-shadow: inset 0 0 2em rgba(255,255,255,0.3);
    border: 1em dashed;
}

.wrapper-loading:before {
    border-color: rgba(138,189,195,0.2);
	top: 0; right: 0; bottom: 0; left: 0;
}

.wrapper-loading:after {
	border-color: rgba(138,189,195,0.4);
    top: 1em; right: 1em; bottom: 1em; left: 1em; 
}

.wrapper-loading .inner {
    width: 100%;
    height: 100%;
    animation: rota 3.5s linear reverse infinite;
    font-size: x-large;
}

.wrapper-loading span {
    display: inline-block;
    animation: placeholder 1.5s ease-out infinite;
}

.wrapper-loading span:nth-child(1)  { animation-name: loading-1;  }
.wrapper-loading span:nth-child(2)  { animation-name: loading-2;  }
.wrapper-loading span:nth-child(3)  { animation-name: loading-3;  }
.wrapper-loading span:nth-child(4)  { animation-name: loading-4;  }
.wrapper-loading span:nth-child(5)  { animation-name: loading-5;  }
.wrapper-loading span:nth-child(6)  { animation-name: loading-6;  }
.wrapper-loading span:nth-child(7)  { animation-name: loading-7;  }

@keyframes rota {
    to { transform: rotate(360deg); }
}

@keyframes loading-1 {
    14.28% { opacity: 0.3; }
}

@keyframes loading-2 {
    28.57% { opacity: 0.3; }
}

@keyframes loading-3 {
    42.86% { opacity: 0.3; }
}

@keyframes loading-4 {
    57.14% { opacity: 0.3; }
}

@keyframes loading-5 {
    71.43% { opacity: 0.3; }
}

@keyframes loading-6 {
    85.71% { opacity: 0.3; }
}

@keyframes loading-7 {
    100% { opacity: 0.3; }
}

/*=================================
=            08. Thanks           =
=================================*/
.thanks-content h2, .thanks-content h4, .thanks-content p {
    line-height: normal;
}
.thanks-content h2 {
    font-size: 110px;
    margin-bottom: 30px;
}
.thanks-content h4 {
    font-size: 35px;
    margin-bottom: 18px;
    letter-spacing: 2px;
    font-family: "HelveticaNeueLight", serif;
}
.thanks-content p {
    font-size: 16px;
    font-family: "HelveticaNeue-Medium", serif;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/*=================================
=            09. Toogle           =
=================================*/
.toggle-trigger {
    border: 1px solid #e6e9e4;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 15px;
}

.toggle-trigger.active {
    background-color: #fff;
    background-position: 15px -81px;
    border-bottom: none;
    -webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.toggle-trigger, .toggle-container {
    border-color: #e6e9e4;
}

.toggle-trigger {
    cursor: pointer;
    background-color: #f0f2ed;
    text-align: center;
}

.toggle-container .content {
    padding: 15px 20px 20px 40px;
}

/*=================================
=             10. Modal           =
=================================*/
.modal button {
    width: auto;
}

.modal-dialog-centered {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(100% - (.5rem * 2));
}

.modal-content {
    width: 100%;
}

.modal-body {
    line-height: 25px;
}

.modal-body p {
    font-size: inherit;
    margin-bottom: 15px;
    letter-spacing: 0px;
}

.modal-header .close {
    margin-top: -2px;
    padding: 1rem;
    margin: -1rem -1rem -1rem auto;
    position: absolute;
    top: 16px;
    right: 16px;
}

.modal-title {
    max-width: 95%;
    font-size: 22px;
}

/*=================================
=            Responsive           =
=================================*/
@media only screen and (max-width: 768px){
 .subtitle-head {
    font-size: 14px;
    line-height: normal;
    margin-bottom: 50px;
 }
 .last-element {
    margin-bottom: 150px;
 }
}
@media only screen and (max-width: 991px) {
 header .mobile-menu img {
    max-width: 144px;
 }
}



