html {
	height: 100%;
    font-family: 'Montserrat', sans-serif;
}
body {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}
.brand {
    position: fixed;
    left: 20px;
    bottom: 14px;
}
.brand img {
    width: 100px;
}
a {
	font-family: 'Montserrat', sans-serif;
	color: #533687;
	margin: 0px;
	transition: all 0.4s;
	-webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
a:focus {
	outline: none !important;
}
a:hover {
     text-decoration: none;
     color: #20BEC6;
     color: -webkit-linear-gradient(left, #21d4fd, #b721ff);
     color: -o-linear-gradient(left, #21d4fd, #b721ff);
     color: -moz-linear-gradient(left, #21d4fd, #b721ff);
     color: linear-gradient(left, #21d4fd, #b721ff);
}
.card-text {
	font-family: 'Montserrat', sans-serif;
	color: #666666;
	font-size: 10pt;
}
.search-row {
    margin-top: 20px;
    width: 100%;
}
.search-row-hv-center {
    width: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.search_container {
    float: left;
    height: 80px;
    background: #533687;
    padding: 15px;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 0 0px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
}
.search_container form {
    float: left;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
}
.search_container a.logo {
    display: flex;
    flex: 1 1 auto;
    order: 0;
    width: 100%;
    height: 100%;
    max-width: 80px;
    margin-right: 10px;
    transition: all 0.05s ease-in-out;
    visibility: visible;
    opacity: 1;
}
.search_container a.logo img {
    max-width: 100%;
    width: 100%;
    margin-top: auto;
    margin-bottom: auto;
}
.search_container .search {
    flex: 1 1 auto;
    outline: none;
    border: none;
    border-radius: 0;
    background: #fff;
    padding: 10px;
    height: 50px;
    transition: all 0.05s ease-in-out;
    -webkit-appearance: none;
    font-size: 20px;
    font-family: Montserrat;
}
.search_container .search:focus {
    height: 80px;
    margin-left: -105px;
    padding: 10px 15px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}
.search_container .search:focus + .search_submit {
    height: 80px;
    margin-right: -15px;
    max-width: 80px;
    color: #533687;
}
.search_container .search:focus + .search_submit svg {
    fill: black;
}
.search_container .search:focus + .search_submit + a.logo {
    visibility: hidden;
    opacity: 0;
    max-width: 0px;
    margin-right: 0;
}
.search_container .search_submit {
    flex: 1 1 auto;
    order: 3;
    max-width: 50px;
    display: inline-block;
    border: none;
    background: #fff;
    color: #ccc;
    height: 50px;
    transition: all 0.05s ease-in-out;
    font-size: 21px;
    outline: none;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}
.search_container .search_submit svg {
    width: 16px;
    fill: #ccc;
}

@media screen and (max-width: 640px) {
    .search-row-hv-center {
        width: 90%;
    }
}
