Files
natours-react/src/sass/components/_form.scss
T

104 lines
1.9 KiB
SCSS

.form {
&__group:not(:last-child) {
margin-bottom: 2rem;
}
&__input {
font-size: 1.5rem;
font-family: inherit;
padding: 1.5rem 2rem;
color: inherit;
border-radius: $border-radius-small;
background-color: rgba($color-white, 0.5);
border: none;
border-bottom: 3px solid transparent;
width: 90%;
display: block;
transition: all 0.3s;
@include respond(tab-port) {
width: 100%;
}
&:focus {
outline: none;
box-shadow: $shadow-light;
border-bottom: $bottom-border-green;
}
&:focus:invalid {
border-bottom: $bottom-border-orange;
}
&::-webkit-input-placeholder {
color: $color-grey-dark-2;
}
}
&__label {
font-size: 1.2rem;
font-weight: 700;
margin-left: 2rem;
margin-top: 0.7rem;
display: block;
transition: all 0.3s;
}
&__input:placeholder-shown + &__label {
opacity: 0;
visibility: hidden;
transform: translateY(-4rem);
}
&__radio-group {
width: 50%;
display: inline-block;
@include respond(tab-port) {
width: 100%;
margin-bottom: 2rem;
}
}
&__radio-input {
display: none;
}
&__radio-label {
font-size: $default-font-size;
cursor: pointer;
position: relative;
padding-left: 3.4rem;
}
&__radio-button {
height: 3rem;
width: 3rem;
border: $bottom-border-green-thick;
border-radius: 50%;
display: inline-block;
position: absolute;
left: 0;
top: -0.5rem;
&::after {
content: "";
display: block;
height: 1.4rem;
width: 1.4rem;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: $color-primary;
opacity: 0;
transition: opacity 0.2s;
}
}
&__radio-input:checked ~ &__radio-label &__radio-button::after {
opacity: 1;
}
}