JSFiddle - React, Tailwind, and code Playground
HTML
<fieldset>
<legend>Template (optional)</legend>
<div class="Center">
<input type="checkbox" name="Layout" id="Template"/><label id="Mid" for="Template" class="RadioLabel">Template</label>
<input type="checkbox" name="Layout" id="Image"/><label for="Image" class="RadioLabel MiddelLabel">Image</label>
<input type="checkbox" name="Layout" id="Link"/><label for="Link" class="RadioLabel">Link</label>
</div><br/>
<div class="Center">
<input type="file" name="TemplateFile" id="TempFile" class="inputfile" disabled/>
<label for="TempFile" class="FileLabel UpWidth"><img src="Images/UploadIcon.png" width="20">Upload Template</label>
<input type="file" name="ImageFile" id="ImgFile" class="inputfile" disabled/>
<label for="ImgFile" class="FileLabel MiddelLabel UpWidth"><img src="Images/UploadIcon.png" width="20">Upload Image</label>
<input type="text" name="LinkFile" id="LinkFile" class="UpWidth" placeholder="Template Link" disabled/>
</div>
</fieldset>
CSS
fieldset {
border: 2px solid #0062b5;
border-radius: 5px;
padding: 15px;
margin-bottom: 20px;
}
input[type=checkbox], input[type=file] {
display: none;
}
.Center {
display: flex;
flex-wrap: nowrap;
}
.RadioLabel {
cursor: pointer;
flex: 1;
border-radius: 5px;
padding: 10px;
}
.Center input[type=file] + label {
flex: 1 1 0;
}
.MiddelLabel {
margin: 0 5px;
}
input[type=file] + label {
cursor: not-allowed;
transition: 0.3s;
line-height: 50px;
padding: 0 10px;
background-color: #ebebe4;
}
input[type=file] + .LabelhHover {
background-color: #9cd2ff;
cursor: pointer;
}
input[type=file] + .LabelhHover:hover {
background-color: #0062b5;
color: #fff;
}
input[type=file] + .LabelhHover:hover img {
content: url(../Images/UploadIconW.png);
}
input[type=checkbox]:checked + label {
background-color: #d1e9ff;
}
input[type=file] + .LabelhHover:focus, input[type=file] + .LabelhHover:active {
border-radius: 15px;
border: 1px solid #000000;
}
label img {
padding-right: 15px;
vertical-align: middle;
margin-top: -2px;
}
#LinkFile, #WebsiteColor {
flex: 1 1 0px;
font-size: 16px;
margin: 0;
}
legend {
padding: 0 5px;
color: #0059a3;
font-weight: bold;
}
@media only screen and (max-width: 826px) {
#Content {display: block;}
.LeftContent {max-width: 100%; width: 100%;}
.RightContent {max-width: 100%; width: 100%; padding: 0;}
}
@media only screen and (max-width: 600px) {
.Center {display: block;}
.RadioLabel, input[type=file] + label {display: block; margin: 10px 0;}
#TwoSidesSection {display: block;}
#LinkFile, #WebsiteColor {display: block; width: 100%;}
}