.structure * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

.cf:before,
.cf:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.cf:after {
  clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
  *zoom: 1;
}

/* Generic styling */

.st_content {
  width: 100%;
  max-width: 1142px;
  margin: 0 auto;
  padding: 0 20px;
}

.structure {
  height: 1000px;
}

.boss_img {
	width: 150px;
	height: 200px;
	object-fit: cover;
}

@media screen and (max-width: 767px) {
  .structure {
    height: 2850px;
  }
}

/* a:focus {
  outline: 2px dashed #f7f7f7;
} */

.structure a.dashed {
  border-style: dashed;
  background-color: #fff !important;
  color: #000;
  border-color: rgb(43, 124, 216);
}

@media all and (max-width: 767px) {
  .content {
    /* padding: 0 20px; */
    padding: 0;
  }
}

.structure ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.structure ul a {
  display: block;
  border: 4px solid #fff;
  text-align: center;
  /* overflow: hidden; */
  font-size: 16px;
  text-decoration: none;
  font-weight: bold;
  background: rgb(43, 124, 216) !important;
  color: #fff;
  height: 100px;
  margin-bottom: -26px;
  box-shadow: 4px 4px 9px -4px rgba(0, 0, 0, 0.4);
  -webkit-transition: all linear 0.1s;
  -moz-transition: all linear 0.1s;
  transition: all linear 0.1s;
  padding: 10px;
  position: relative;
}

.structure ul a:hover {
  color: #fff;
  background: rgb(64, 138, 223) !important;
}

@media all and (max-width: 767px) {
  .structure ul a {
    font-size: 1em;
  }
}

.structure ul a span {
  /* top: 50%;
  margin-top: -0.7em;
  display: block; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  padding: 10px;
}

/*
 
 */

.administration > li > a {
  margin-bottom: 25px;
}

.director > li > a {
  display: inline-block;
  width: 30%;
  margin: 0 auto 0px auto;
  margin-right: 20px;
}

.director > li > a:not(:first-child)::before {
  content: "";
  position: absolute;
  width: 23px;
  height: 4px;
  background-color: #000;
  top: 50%;
  transform: translateY(-50%);
  right: calc(100% + 4px);
  z-index: 2;
}

.director > li > a.dashed-be::before {
  border: 2px dashed #000;
  background-color: transparent;
}

.subdirector:after {
  content: "";
  display: block;
  width: 0;
  height: 130px;
  background: red;
  border-left: 4px solid #000;
  left: 45.45%;
  position: relative;
}

.subdirector,
.departments {
  position: absolute;
  width: 100%;
}

.subdirector > li:first-child,
.departments > li:first-child {
  width: 18.59894921190893%;
  height: 64px;
  margin: 0 auto 92px auto;
  padding-top: 25px;
  border-bottom: 4px solid #000;
  z-index: 1;
}

.empty {
  border: none !important;
}

.ptext p {
  display: flex;
  /*align-items: center;*/
  justify-content: center;
  max-width: 80%;
  margin: 0 auto;
}

.subdirector > li:first-child {
  float: right;
  right: 27.2%;
  border-left: 4px solid #000;
}

.departments > li:first-child {
  float: left;
  left: 27.2%;
  border-right: 4px solid #000;
}

.subdirector > li:first-child a,
.departments > li:first-child a {
  width: 100%;
}

.subdirector > li:first-child a {
  left: 25px;
}

@media all and (max-width: 767px) {
  .subdirector > li:first-child,
  .departments > li:first-child {
    width: 40%;
  }

  .subdirector > li:first-child {
    right: 10%;
    margin-right: 2px;
  }

  .subdirector:after {
    left: 49.8%;
  }

  .departments > li:first-child {
    left: 10%;
    margin-left: 2px;
  }
}

.departments > li:first-child a {
  right: 25px;
}

.department:first-child,
.departments li:nth-child(2) {
  margin-left: 0;
  clear: left;
}

.departments:after {
  content: "";
  display: block;
  position: absolute;
  width: 74%;
  height: 30px;
  border-top: 4px solid #000;
  border-left: 4px solid #000;
  margin: 0 auto;
  top: 131px;
  left: 0%;
}

@media all and (max-width: 767px) {
  .departments:after {
    border-right: none;
    left: 0;
    width: 49.8%;
  }
}

@media all and (min-width: 768px) {
  .department:first-child:before,
  .department:last-child:before {
    border: none;
  }
}

.department:before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 22px;
  border-left: 4px solid #000;
  z-index: 1;
  top: -22px;
  left: 0%;
  margin-left: -4px;
}

.dep-a::before {
  display: none;
}

.department {
  border-left: 4px solid #000;
  /* width: 18.59894921190893%; */
  width: 23.5%;
  float: left;
  margin-left: 1.751313485113835%;
  margin-bottom: 60px;
}

.lt-ie8 .department {
  width: 18.25%;
}

@media all and (max-width: 767px) {
  .department {
    float: none;
    width: 100%;
    margin-left: 0;
  }

  .department:before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 60px;
    border-left: 4px solid #000;
    z-index: 1;
    top: -60px;
    left: 0%;
    margin-left: -4px;
  }

  .department:nth-child(2):before {
    display: none;
  }
}

.department > a {
  margin: 0 0 -26px -4px;
  z-index: 1;
}

.department > a:hover {
  height: 140px;
}

.department > ul {
  margin-top: 0px;
  margin-bottom: 0px;
}

.department li {
  padding-left: 25px;
  border-bottom: 4px solid #000;
  height: 150px;
}

.department li a {
  background: #fff;
  top: 48px;
  position: absolute;
  z-index: 1;
  width: 90%;
  height: 130px;
  vertical-align: middle;
  right: -1px;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMjUiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
  background-image: -moz-linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%) !important;
  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, rgba(0, 0, 0, 0.25)), color-stop(100%, rgba(0, 0, 0, 0))) !important;
  background-image: -webkit-linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%) !important;
  background-image: -o-linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%) !important;
  background-image: -ms-linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%) !important;
  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%) !important;
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#40000000', endColorstr='#00000000',GradientType=1 );
}

.department li a:hover {
  box-shadow: 8px 8px 9px -4px rgba(0, 0, 0, 0.1);
  height: 140px;
  width: 95%;
  top: 39px;
  background-image: none !important;
}

/* Department/ section colors */
.department a {
  background: rgb(43, 124, 216) !important;
  color: #fff;
}

.department a:hover {
  background: rgb(64, 138, 223) !important;
}
/* .department.dep-a a {
  background: #ffd600;
}
.department.dep-b a {
  background: #aad4e7;
}
.department.dep-c a {
  background: #fdb0fd;
}
.department.dep-d a {
  background: #a3a2a2;
}
.department.dep-e a {
  background: #f0f0f0;
} */

@media screen and (max-width: 767px) {
  .director > li > a {
    width: 40%;
    /* margin: 0 auto; */
    vertical-align: middle;
    margin-bottom: 20px;
    padding: 5px;
    height: 80px;
  }

  .director > li > a span {
    /* top: auto; */
    margin-top: 0;
    font-size: 14px;
  }

  .director > li > a:last-of-type {
    margin: 0 auto;
    display: block;
  }

  .director > li > a:last-of-type::before {
    left: 50%;
    right: auto;
    height: 20px;
    width: 4px;
    top: auto;
    bottom: calc(100% - 5px);
  }
}

.boss {
  text-align: center;
  background: #f7f7f7;
  width: 100%;
  height: 100%;
  margin: 6px 5px 5px -3px;
  border-radius: 5px;
  padding-top: 5px;
}

.boss_img {
  border-radius: 6px;
  box-shadow: 1px 2px 6px 0px #918d8d;
  margin-bottom: 1em;
  border: 2px solid rgba(0, 0, 0, 0.4);
}

.dep-d,
.dep-c {
  position: relative;
  border: none;
}

.dep-c {
  border-right: 2px solid #000;
  margin-top: -25px;
}

.dep-c::before {
  display: none;
}

.dep-d {
  border-left: 2px solid #000;
  margin-left: 0;
  margin-top: -25px;
}


.dep-c li {
  padding-left: 0;
  padding-right: 25px;
}

.dep-c li a {
  right: auto;
  left: -1px;
}



