.classicwebcam_aspect_ratio_mixin{aspect-ratio:1}.classicwebcam_aspect_ratio_mixin.ratio43{aspect-ratio:4/3}.classicwebcam_aspect_ratio_mixin.ratio169{aspect-ratio:16/9}.classicwebcam_aspect_ratio_mixin.ratio1610{aspect-ratio:16/10}.classicwebcam_flexbox_mixin{width:100%;display:flex;justify-content:center;align-items:center}#webcam_video_container{width:100%;position:relative;outline:0}#webcam_video_container .video-controls{position:absolute;bottom:0;right:8px;z-index:10;opacity:.4}#webcam_video_container:hover .video-controls{opacity:1}#webcam_video_container #webcam_hls,#webcam_video_container #webcam_rtsp{width:100%;height:100%}#webcam_video_container .webcam_rotated,#webcam_video_container .webcam_unrotated{position:relative;width:100%;display:flex;justify-content:center;align-items:center;aspect-ratio:1}#webcam_video_container .webcam_rotated.ratio43,#webcam_video_container .webcam_unrotated.ratio43{aspect-ratio:4/3}#webcam_video_container .webcam_rotated.ratio169,#webcam_video_container .webcam_unrotated.ratio169{aspect-ratio:16/9}#webcam_video_container .webcam_rotated.ratio1610,#webcam_video_container .webcam_unrotated.ratio1610{aspect-ratio:16/10}#webcam_video_container .webcam_rotated .rotation_target,#webcam_video_container .webcam_unrotated .rotation_target{width:100%;display:flex;justify-content:center;align-items:center}#webcam_video_container .webcam_rotated .rotation_target div,#webcam_video_container .webcam_unrotated .rotation_target div{width:100%;display:flex;justify-content:center;align-items:center}#webcam_video_container .webcam_rotated{aspect-ratio:1}#webcam_video_container .webcam_rotated .rotation_target{position:absolute;transform:rotate(-90deg)}#webcam_video_container .webcam_rotated .rotation_target div{height:100%}#webcam_img_container{width:100%;position:relative;outline:0;background-color:#000}#webcam_img_container .keycontrol_overlay{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(0,0,0,.5);font-size:85%;color:#fff;padding:0}#webcam_img_container .keycontrol_overlay kbd{border:1px solid #eee;border-radius:3px;margin-left:2px;margin-right:2px;font-size:90%;padding:2px;min-width:1em}#webcam_img_container .keycontrol_overlay .keycontrol_overlay_heading{position:relative;padding:10px;font-weight:700}#webcam_img_container .keycontrol_overlay .keycontrol_overlay_column{position:relative;width:45%;padding:10px;float:left}#webcam_img_container .nowebcam{position:absolute;top:0;left:0;right:0;bottom:0}#webcam_img_container .nowebcam .text{color:#fff;text-align:center;position:relative;margin:auto;width:80%;top:50%;transform:translateY(-50%);display:block}#webcam_img_container .nowebcam .text.webcam_loading{animation:pulsate 3s ease-out;animation-iteration-count:infinite}#webcam_img_container .webcam_rotated{position:relative;width:100%;padding-bottom:100%;pointer-events:none}#webcam_img_container .webcam_rotated .webcam_fixed_ratio{position:absolute;transform:rotate(-90deg);top:0;bottom:0;pointer-events:none}#webcam_img_container .webcam_rotated .webcam_fixed_ratio .webcam_fixed_ratio_inner{width:100%;height:100%;pointer-events:none}#webcam_img_container .webcam_unrotated .webcam_fixed_ratio{width:100%;pointer-events:none;aspect-ratio:1;position:relative}#webcam_img_container .webcam_unrotated .webcam_fixed_ratio.ratio43{aspect-ratio:4/3}#webcam_img_container .webcam_unrotated .webcam_fixed_ratio.ratio169{aspect-ratio:16/9}#webcam_img_container .webcam_unrotated .webcam_fixed_ratio.ratio1610{aspect-ratio:16/10}#webcam_img_container .webcam_unrotated .webcam_fixed_ratio .webcam_fixed_ratio_inner{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}#webcam_img_container img{width:100%;height:100%;object-fit:contain}#webcamTestContainer{min-height:384px}