/*!
 * Name: contactform.css
 * Version: 1.0.0
 * Last Updated: January 18, 2024
 * Author: Hoa Mai Bình Định
 * Author URI: fb.com/hoamaitetbinhdinh
 * Website: http://hoamaixunau.blogspot.com
 */

.hidden {
   display: none;
}
.mr-15 {
   margin-left: -15px;
   margin-right: -15px;
}
.mr-10 {
    margin-left: -10px;
    margin-right: -10px;
}
.pd-15 {
    padding-left: 15px;
    padding-right: 15px;
}
.pd-10 {
    padding-left: 10px;
    padding-right: 10px;
}
.mb-15 {
    margin-bottom: 15px;
}
.mb-20 {
    margin-bottom: 20px;
}
.mt-15 {
    margin-top: 15px;
}
.mt-20 {
    margin-top: 20px;
}
.text-center {
    text-align: center;
}
.w-100 {
    width: 100%;
}
.w-10, .w-15, .w-16, .w-20, .w-25, .w-30, .w-33, .w-35 ,.w-40, .w-50, .w-60, .w-75, .w-80, .w-85, .w-90, .w-100 {
    float:left
}
.form-title {
    margin-bottom: 1.5rem;
    color: #333;
    font-size: 20px;
    line-height: 135%;
    word-break: break-word;
}
.form-group {
    position: relative;
}
.form-group::after {
    display: block;
    clear: both;
    content: "";
}
.form-group .check-box {
    position: relative;
    line-height: normal;
}
.form-group .check-box.inline {
    display: inline;
}
.form-group .check-box.inline:not(:last-of-type) {
    margin-right: 20px;
}
.form-group .check-box:not(.inline):not(:last-of-type) {
    margin-bottom: 20px;
}
.form-group .bar {
    position: relative;
    width: 100%;
    border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.12);
    display: block;
}
.form-group .bar::before {
    content: "";
    height: 0.125rem;
    width: 0;
    left: 50%;
    bottom: -0.0625rem;
    position: absolute;
    -webkit-transition: left 0.28s ease, width 0.28s ease;
    transition: left 0.28s ease, width 0.28s ease;
    z-index: 2;
}
/* input[style 1] */
.form-group .input{
    width: 100%;
    height: 1.9rem;
    position: relative;
    display: block;
    background: none;
    font-size: 1rem;
    border-width: 0;
    border-color: transparent;
    -webkit-transition: all 0.28s ease;
    transition: all 0.28s ease;
}
.form-group .textarea {
    resize: none;
}
span.label {
    line-height: normal;
    padding-right: 15px;
}
.input-title {
    margin-bottom: 10px;
}
.input-title span,span.label span {
    color: #d93025;
}
.input-group {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-bottom: 15px;
}
.input-group:not(.checked) {
    display: flex;
}
.input-group.checked {
    line-height: normal;
}
/* input[style 2] */
.input-text {
    background-color: #fff;
    height: 36px;
    line-height: 34px;
    width: 100%;
    font-size: 15px;
    color: #111;
    border: 1px solid;
    border-color: rgba(0,0,0,0.12);
    -webkit-border-radius: 4px;
    border-radius: 4px;
}
.input-text.textarea{
    min-height: 90px;
}
.input-text:not(.input-dropdown) {
    padding: 0 15px;
}
.form-group .input-text.input-dropdown {
    padding: 0 25px 0 15px;
}
.input-text:not(.input-dropdown):focus {
    outline: none;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
}
.form-group input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group input:-moz-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group input::-moz-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group textarea::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group textarea:-moz-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group textarea::-moz-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group textarea:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.38);
}
.form-group input:focus::-webkit-input-placeholder {
    color: transparent;
}
.form-group input:focus:-moz-placeholder {
    color: transparent;
}
.form-group input:focus::-moz-placeholder {
    color: transparent;
}
.form-group textarea:focus::-webkit-input-placeholder {
    color: transparent;
}
.form-group textarea:focus:-moz-placeholder {
    color: transparent;
}
.form-group textarea:focus::-moz-placeholder {
     color: transparent;
}
.form-group textarea:focus:-ms-input-placeholder {
     color: transparent;
}
.form-group input[type=search]::-webkit-search-cancel-button {
    display: none;
}
.form-group input[type=date]::-webkit-clear-button {
    display: none;
}
.form-group input[type=date]::-webkit-inner-spin-button { 
    display: none;
}
.form-group input[type=date]::-webkit-calendar-picker-indicator {
    background: transparent;
    outline: 0;
    color: #333;
    font-size: 11px;
}
.form-group input[type=date]::-webkit-datetime-edit-text {
    color: #333;
}
.form-group input[type=date]::-webkit-datetime-edit-month-field { 
    color: #333;
}
.form-group input[type=date]::-webkit-datetime-edit-day-field {
    color: #333;
}
.form-group input[type=date]::-webkit-datetime-edit-year-field {
    color: #333;
}
.form-group input:focus,.form-group textarea:focus {
    color: #333;
}
.form-group .input:focus ~ .bar::before,.form-group textarea:focus ~ .bar::before {
    width: 100%;
    left: 0;
}
input.checkbox, input.radio {
    position: relative;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    width: 0;
}
.form-group .checkbox, .form-group .radio {
    display: table-row-group;
}
.input-group .checkbox, .input .radio {
    display: table;
}
/* input[type=checkbox] */
.checkbox:before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    left: 0;
    background-color: #fff;
    border: 2px solid rgba(0, 0, 0, 0.54);
    border-radius: 3px;
    transition: all .3s;
}
.checkbox:checked:after {
    content: "";
    width: 4px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 2px;
    left: 7px;
}
/* input[type=radio] */
.radio:before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    left: 0;
    border: 2px solid rgba(0, 0, 0, 0.54);
    border-radius: 50%;
    transition: all .3s;
}
.radio:checked:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0;
    left: 5px;
    top: 10px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
.checkbox+label,.radio+label {
    padding-left: 25px;
}
/* input[type=checkbox+toggle] */
.checktoggle {
    position: relative;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    width: 0;
    vertical-align: bottom;
}
.checktoggle:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 0;
    bottom: 0;
    background-color: #fafafa;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 50%;
    z-index: 2;
}
.checktoggle+label {
    position: absolute;
    top: 2px;
    left: 0;
    width: 40px;
    height: 14px;
    background-color: #b9b9b9;
    -webkit-transiton: .4s;
    transition: .4s;
    border-radius: 34px;
}
.checktoggle:checked:before {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
}
.checktoggle:checked+label {
    background-color: rgb(208, 225, 252);
}
/* select-dropdown */
.arrow-down {
    position: relative;
}
.arrow-down::before {
    position: absolute;
    content: "";
    border-color: #707070 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
}
.input.input-dropdown+.arrow-down::before {
    top: 50%;
    right: 0;
}
.input-text.input-dropdown+.arrow-down::before {
    top: 45%;
    right: 10px;
}
ul.content {
    position: absolute;
    background-color: #fff;
    margin: 0!important;
    z-index: 7;
    overflow: hidden;
    -webkit-box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24);
    box-shadow: 0 12px 15px 0 rgba(0,0,0,0.24);
}
.input-dropdown+.arrow-down+ul.content{
    top: 25px;
}
.input-text.focus+ul.content{
    top: 36px;
}
.input-title+.input-text.focus+ul.content{
    top: 71px;
}
.input-group:not(.pd-10):not(.pd-15) ul.content {
    width: 100%;
}
.pd-10 ul.content {
    width: calc(100% - 20px);
}
.pd-15 ul.content {
    width: calc(100% - 30px);
}
ul.content>li:not(.search) {
    background-color: #f7f7f7;
    pointer-events: none;
}
ul.content>li>input {
    border-radius: 4px 4px 0 0;
}
ul.content>ul {
    margin: 0!important;
    max-height: 300px;
    overflow: hidden;
    overflow-y: auto;
    border: 1px solid rgba(0,0,0,0.12);
    border-top:0;
    border-radius:0 0 4px 4px;
}
ul.content>li:not(.search), ul.content>ul>li {
    padding: 0 15px;
    line-height: 34px;
}
ul.content li {
    font-size: 15px;
    list-style-type: none;
}
ul.content>ul>li:not(.hidden) {
    display: block;	
}
ul.content>ul>li.active {
    background-color: #E4F0F6;
}
ul.content>ul>li:hover {
    background-color: #fff9e7;
}
/* button */
.theme-button {
    position: relative;
    overflow: hidden;
    font-family: inherit;
    display: inline-block;
    min-width: 88px;
    line-height: normal;
    padding: 10px 20px;
    color: #fff!important;
    -webkit-appearance: none;
    font-size: 14px;
    letter-spacing: .5px;
    font-weight: 400;
    border: 0;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: opacity .15s;
}
.theme-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px;
    height: 5px;
    background: rgba(255, 255, 255, .5);
    opacity: 0;
    border-radius: 100%;
    transform: scale(1, 1) translate(-50%);
    transform-origin: 50% 50%;
}
.theme-button:hover::after {
    animation: buttonripple 1s ease-out;
    text-decoration: none;
}
.theme-button.blue {
    background-color: #1a73e8;
}
.theme-button.green {
    background-color: #77cc6d;
}
.theme-button.purple {
    background-color: #855085;
}
.theme-button.orange {
    background-color: #ff7518;
}
.theme-button.red {
    background-color: #d61f11;
}
/* color */
form.blue a, form.blue a:hover {
    color: #4285f4;
}
form.light-blue a, form.light-blue a:hover {
    color: #03a9f4;
}
form.indigo-blue a, form.indigo-blue a:hover {
    color: #3f51b5;
}
form.green a, form.green a:hover{
    color: #4caf50;
}
form.purple a, form.purple a:hover {
    color: #673ab7;
}
form.orange a, form.orange a:hover {
    color: #ff9800;
}
form.red a, form.red a:hover {
    color: #db4437;
}
form.orange-red a, form.orange-red a:hover {
    color: #ff5722;
}
form.blue .bar::before, form.blue .checkbox:checked:before, form.blue .radio:checked:after, form.blue .checktoggle:checked:before {
    background-color: #4285f4;
}
form.light-blue .bar::before, form.light-blue .checkbox:checked:before, form.light-blue .radio:checked:after, form.light-blue .checktoggle:checked:before {
    background-color: #03a9f4;
}
form.indigo-blue .bar::before, form.indigo-blue .checkbox:checked:before, form.indigo-blue .radio:checked:after, form.indigo-blue .checktoggle:checked:before {
    background-color: #3f51b5;
}
form.green .bar::before, form.green .checkbox:checked:before, form.green .radio:checked:after, form.green .checktoggle:checked:before {
    background-color: #4caf50;
}
form.purple .bar::before, form.purple .checkbox:checked:before, form.purple .radio:checked:after, form.purple .checktoggle:checked:before {
    background-color: #673ab7;
}
form.orange .bar::before, form.orange .checkbox:checked:before, form.orange .radio:checked:after, form.orange .checktoggle:checked:before {
    background-color: #ff9800;
}
form.red .bar::before, form.red .checkbox:checked:before, form.red .radio:checked:after, form.red .checktoggle:checked:before {
    background-color: #db4437;
}
form.orange-red .bar::before, form.orange-red .checkbox:checked:before, form.orange-red .radio:checked:after, form.orange-red .checktoggle:checked:before {
    background-color: #ff5722;
}
form.blue .checkbox:checked:before, form.blue .radio:checked:before {
    border: 2px solid #4285f4;
}
form.light-blue .checkbox:checked:before, form.light-blue .radio:checked:before {
    border: 2px solid #03a9f4;
}
form.indigo-blue .checkbox:checked:before, form.indigo-blue .radio:checked:before {
    border: 2px solid #3f51b5;
}
form.green .checkbox:checked:before, form.green .radio:checked:before {
    border: 2px solid #4caf50;
}
form.purple .checkbox:checked:before, form.purple .radio:checked:before {
    border: 2px solid #673ab7;
}
form.orange .checkbox:checked:before, form.orange .radio:checked:before {
    border: 2px solid #ff9800;
}
form.red .checkbox:checked:before, form.red .radio:checked:before {
    border: 2px solid #db4437;
}
form.orange-red .checkbox:checked:before, form.orange-red .radio:checked:before {
    border: 2px solid #ff5722;
}
form.blue .input-text:not(.input-dropdown):focus {
    border-color: #4285f4;
}
form.light-blue .input-text:not(.input-dropdown):focus {
    border-color: #03a9f4;
}
form.indigo-blue .input-text:not(.input-dropdown):focus {
    border-color: #3f51b5;
}
form.green .input-text:not(.input-dropdown):focus {
    border-color: #4caf50;
}
form.purple .input-text:not(.input-dropdown):focus {
    border-color: #673ab7;
}
form.orange .input-text:not(.input-dropdown):focus {
    border-color: #ff9800;
}
form.red .input-text:not(.input-dropdown):focus {
    border-color: #db4437;
}
form.orange-red .input-text:not(.input-dropdown):focus {
    border-color: #ff5722;
}
/* submit effect */
.processing,.success {
    position: relative;
}
.processing:before,.processing:after,.success:before,.success:after {
    position: absolute;
    z-index: 99;
    pointer-events: none;
}
.processing:before {
    top: calc(50% - 15px);
    left: calc(50% - 15px);
    content: "";
    border-left: 3px solid #fff;
    animation: spin .6s infinite linear;
    border-radius: 50%;
    width: 30px;
    height: 30px;
}
form.blue .processing:before {
    border-top: 3px solid #4285f4;
    border-right: 3px solid #4285f4;
    border-bottom: 3px solid #4285f4;
}
form.light-blue .processing:before {
    border-top: 3px solid #03a9f4;
    border-right: 3px solid #03a9f4;
    border-bottom: 3px solid #03a9f4;
}
form.indigo-blue .processing:before {
    border-top: 3px solid #3f51b5;
    border-right: 3px solid #3f51b5;
    border-bottom: 3px solid #3f51b5;
}
form.green .processing:before {
    border-top: 3px solid #4caf50;
    border-right: 3px solid #4caf50;
    border-bottom: 3px solid #4caf50;
}
form.purple .processing:before {
    border-top: 3px solid #673ab7;
    border-right: 3px solid #673ab7;
    border-bottom: 3px solid #673ab7;
}
form.orange .processing:before {
    border-top: 3px solid #ff9800;
    border-right: 3px solid #ff9800;
    border-bottom: 3px solid #ff9800;
}
form.red .processing:before {
    border-top: 3px solid #db4437;
    border-right: 3px solid #db4437;
    border-bottom: 3px solid #db4437;
}
form.orange-red .processing:before {
    border-top: 3px solid #ff5722;
    border-right: 3px solid #ff5722;
    border-bottom: 3px solid #ff5722;
}
.success:before {
    content: url(https://thietkeblogspot.github.io/images/icon-check.png);
}
.processing:after,.success:after {
    margin-top: 35px;
    color: #fff;
}
.processing:after,.success:before,.success:after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.processing:after {
    content: "Đang gửi...";
}
.success:after {
    content: "Đã gửi thành công!";
}
.background-overlay {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 8;
    overflow: hidden;
    position: absolute;
    background: #0b0b0b;
    opacity: .6;
    transition: opacity .25s;
}
@keyframes buttonripple {
    0% {
        transform: scale(0, 0);
        opacity: .3;
    }
    20% {
        transform: scale(25, 25);
        opacity: .3;
    }
    100% {
        opacity: 0;
        transform: scale(40, 40);
    }
}
@-webkit-keyframes buttonripple {
    0% {
        transform: scale(0, 0);
        opacity: .3;
    }
    20% {
        transform: scale(25, 25);
        opacity: .3;
    }
    100% {
        opacity: 0;
        transform: scale(40, 40);
    }
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@-webkit-keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/* reponsive */
@media (min-width: 769px) {
    .form-group.half {
        width: 50%;
    }
    .checkbox, .radio, .checktoggle:before, .checktoggle+label, .arrow-down, ul.content li, .theme-button {
        cursor: pointer;
    }
}
@media (min-width: 640px) {

}
@media (min-width: 415px) {
    .w-10 {width: 10%;}
    .w-15 {width: 15%;}
    .w-16 {width: 16.67%;}
    .w-20 {width: 20%;}
    .w-25 {width: 25%;}
    .w-30 {width: 30%;}
    .w-33 {width: 33.33%;}
    .w-35 {width: 35%;}
    .w-40 {width: 40%;}
    .w-50 {width: 50%;}
    .w-60 {width: 60%;}
    .w-70 {width: 70%;}
    .w-75 {width: 75%;}
    .w-80 {width: 80%;}
    .w-85 {width: 85%;}
    .w-90 {width: 90%;}
}
@media (min-width: 321px) and (max-width: 414px) {
    .w-10{width: 20%;}
    .w-15,.w-16 {width: 25%;}
    .w-20,.w-25,.w-30,.w-33,.w-35, .w-40 {width: 50%;}
}
@media (max-width: 414px) {
    .w-50,.w-60,.w-70,.w-75,.w-80,.w-85,.w-90 {width: 100%;}
}
@media (max-width: 320px) {
    .w-10,.w-15,.w-16,.w-20,.w-25 {width: 50%;}
    .w-30,.w-33,.w-35,.w-40 {width: 100%;}
}
