css

css file
@charset "utf-8";

/*초기 설정*/
*{
  margin: 0;
  padding: 0;
  list-style:none;
}
body{
  background: #ffffff;
  color:#222328;
}
a{
  text-decoration:none;
  display:block;
}

/********본문시작*********/
/* header와 bodyWrap을 감싸는 main */
main {
  width: 1000px;
  overflow: hidden;
  box-sizing: border-box;
}

/* 메뉴와 로고가 들어가는 header */
header {
  float:left;
  width:200px;
	height:670px;
  margin-right:10px;
  background: #bbbbbb;
}
/** 클래스 logo의 width값은 부모인 header의 영향을 받기 때문에
width:100%로 해주어도 되지만, 실기시험의 요구사항 명세서에
가로 200px과 세로 40px이라고 명시가 되어 있으므로 명시된 대로 해주어서
혹시나 감점요인이 되지 않도록 합니다.
*/
/*로고*/
.logo {
  width:200px;
  height:40px;
  padding:30px 0;
  background: #ffffff;
}
/*로고이미지*/
.logo img{
  width:200px; /*지시사항에 적힌대로 width값 */
  height:40px; /*지시사항에 적힌대로 height값 */
}

/*메인메뉴*/
.menu{
	width:100%;
	text-align:center;
}
.navi > li{width:100%;}
.navi > li > a{
	width:100%;
	padding:10px 0;
	font-size:16px;
	font-weight:bold;
	background-color:#222328;
	color:#eeeeee;
}
.navi > li > a:hover{
	background-color:#f4a5b9;
	color:#222328;
}
.subMenu{	width:100%;	display:none;}
.subMenu > li > a{
	width:100%;
  padding:10px 0;
	font-size:14px;
	font-weight:bold;
	background:#666666;
	color:#ffffff;
}
.subMenu > li > a:hover{
	background-color:#777777;
	color: #f4a5b9;
}

/* 이미지슬라이드 + 컨텐츠 + 푸터 묶음 */
.bodyWrap {
	float:right;
	width:790px;
}

/* 이미지슬라이드 */
.imgSlide{
  position:relative;
  width:100%;
  height:350px;
  overflow: hidden;
}
.imgSlide > a {
  position:absolute;
  top:0;
  left:0;
}
.imgSlide > a > img {height:100%;}
.imgText{
  position:absolute;
  top:40%;
  left:40%;
  margin:-10px -70px;
  background: rgba(0,0,0, 0.7);
  color:#ffffff;
  padding:16px 100px;
  font-weight: bold;
}

/* 컨텐츠 영역 */
.contents{
  width: 100%;
  height:200px;
  padding:0;
  margin:10px 0;
  display:flex;
	justify-content: space-between;
}
/* 각각 컨텐츠 박스의 영역 */
.contents > div{width: 33.3%;}
.contents > div:nth-of-type(2){margin:0 10px;}
/* 공지사항과 갤러리 공통 */
.contents h4{
  width:30%;
  padding:6px 10px;
  background:#f4a5b9;
  color:#222328;
  font-weight: bold;
  text-align: center;
  cursor:pointer;
}
.contents h4:hover{
  background:#222328;
  color:#ffffff;
}
.contents ul{
  height:168px; /* chrome inspect(검사) 보고 수치 계산 */
  background:#ffffff;
  border:1px solid #dddddd;
  box-sizing: border-box;
  font-size:12px;
}

/* 컨텐츠 첫번째 : 공지사항 */
.notice li{padding:13px 10px; }
.notice li:nth-child(even){background:rgba(0,0,0, 0.05);} /*공지사항 리스트 짝수에만 배경 색상 넣기 */
.notice li:hover{color:#222328;background:rgba(244,165,185, 0.1);}
.notice li span {float:right;} /* 날짜 오른쪽 정렬 */

/* 컨텐츠 두번째 : 갤러리 */
.gallery ul{
  display:flex;
  justify-content: space-around;
  align-items: center;
}
.gallery img:hover{opacity: 0.7;}

/* 컨텐츠 세번째 : 바로가기 */
.direct{
  overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
  background: url("../img/direct.jpg") center center ;
  }
/* 바로가기 글자 스타일 */
.direct a{
	width:50%;
  padding:10px 0;
	text-align:center;
	color:#ffffff;
	font-weight:bold;
	background:rgba(244, 165, 185, 0.7);
}
.direct a:hover{
  background:rgba(255,255,255,0.5);
  color:#333333;
}

/* Footer 하단  */
footer{
  width:100%;
  height:100px;
  background:#222328;
  display: flex;
  justify-content: space-between;
}
/* footer안에 있는 각 컨텐츠의 영역 */
footer > div:nth-of-type(1) {width:70%;} /* footerCright */
footer > div:nth-last-of-type(1) {width:30%;} /* footerGroup */
/* 카피라이트 */
.footerCright {
  display:flex;
  justify-content: center;
  align-items: center;
  color:#ffffff;
}
/* SNS + 패밀리사이트 묶음 */
.footerGroup{
  display:flex;
  flex-direction: column;
  justify-content: center;
  padding:20px;
}
/* SNS */
.footerSNS{
	display: flex;
	justify-content: space-between;
}
.footerSNS img:hover{opacity:0.7;}
/* 패밀리사이트 */
.footerFmaily > select{
  width:100%;
  padding:4px 8px;
}

/* 모달 팝업 */
#modalWrap{
  display:none;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0, 0.7);
  z-index: 1;
}
#modalWrap.active{
  display:block;
}
.modal{
  position:fixed;
  width:450px;
  padding:20px;
  top:40%;
  left:40%;
  background:#ffffff;
}
.modal > h1{
  margin:10px 0;
  text-align: center;
  letter-spacing: -1px;
}
.modal > p{
  text-align:justify;
}

.btn{
  width:100%;
  padding:10px;
  margin-top:20px;
  background: #f4a5b9;
  color:#ffffff;
  border:0;
  font-weight: bold;
  cursor:pointer;
}
.btn:hover{background:rgba(244, 165, 185, 0.2); color:#f4a5b9;}