/* ======================================== common ======================================== */
@font-face {
  font-family: 'Sofia Sans Regular';
  font-style: normal;
  font-weight: normal;
  src: local('Sofia Sans Regular'), url('fonts/SofiaSans[wght].woff') format('woff');
}
@font-face {
  font-family: 'Sofia Sans Italic';
  font-style: normal;
  font-weight: normal;
  src: local('Sofia Sans Italic'), url('fonts/SofiaSans-Italic[wght].woff') format('woff');
}
* {
  box-sizing: border-box;
}
body {
    margin: 0;
    padding: 0;
}
/* ======================================== header ======================================== */
header {
    display: flex;
    justify-content: center;
    flex-wrap:wrap;
    background-color: lightgray;
}
header img {
  max-width: 100%;
  height: auto;
}
/* ========================================== nav ========================================= */
nav {
    display: flex;
    justify-content: center;
    background-color: darkred;
}
nav a {
    font-family: 'Sofia Sans Regular';
    color: white;
    padding: 14px 20px;
    text-decoration: none; 
    text-align: center; 
}
nav a:hover {
  color: yellow;
}
/* ========================================= footer ======================================= */
footer {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    background-color: darkred;
    font-family: 'Sofia Sans Regular';
    color: white;
}
/* ========================================== main ======================================== */
main {
    min-height: 700px;
    background-color: rgb(238, 238, 238);
}
/* ------------------------------------ content index ------------------------------------ */
#content_index {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 50px;
  font-family: 'Sofia Sans Regular';
  color: darkred;
  font-size: 20px;
  padding: 50px 0;
}
.section_index {
  width: 60%; 
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
  background-color: lightgray;
  padding: 10px;
}
.section_index h1 {
  text-align: center;
}
.section_index h3 {
  text-align: left;
}
.section_index p {
  text-align: justify;
  text-justify: inter-word;
  text-indent: 30px;
}
.section_index ul {
  text-align: left;
} 
/* ----------------------------------- content contacts ---------------------------------- */
#main_contacts {
  display: flex;
  align-items: center; 
  justify-content: center;
  gap: 50px;
  padding: 50px 0;
  font-family: 'Sofia Sans Regular';
}
#form_container {
  width: 30%;
  height: 550px;
  background-color: lightgray;
  color: darkred;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
}
#form_header {
  width: 100%;
  padding: 15px;
  font-size: 25px;
  text-align: center;
}
form {
  width: 90%;
  margin: auto;
}
label {
  font-size: 15px;
  color: darkred;
}
input[type=text], select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 16px;
}
textarea{
  width: 100%;
  height: 150px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-top: 6px;
  margin-bottom: 16px;
  resize: none;  
}
form button {
  width: 100%;
  background-color: darkred;
  color: yellow;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
#map_container {
  width: 30%;
  height: 550px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
}
iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
#contacts_details {
  width: 20%;
  height: 550px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
  padding: 20px;
}
#contacts_title {
  color: darkred;
  font-size: 25px;
  margin-bottom: 20px;
}
.contacts_info {
    width: 100%;
    min-height: 30px;
    align-content: center;
    color: darkred;
    text-decoration: none;
    font-size: 20px;
    word-wrap: break-word;
}
.contacts_info img {
    width: 24px;
    margin: 0px 10px 0px 0px;
}
.contacts_address {
    width: 100%;
    min-height: 60px;
    align-content: center;
    color: darkred; 
    font-size: 20px;   
}
.contacts_address img {
    width: 24px;
    margin: 0px 10px 0px 0px;    
}
/* ------------------------------------ content graphics --------------------------------- */
#content_graphics {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 50px;
  min-height: 700px;
  padding: 50px 0;
}
.graphic img {
  width: 100%;
  height: auto;
  border: 1px solid darkred;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
}
/* ------------------------------------- content about ----------------------------------- */
#content_about {
  display: grid;
  width: 70%;
  margin: auto;
  padding: 50px 0;
  min-height: 700px;
  grid-template-columns: repeat(10, 1fr);
  grid-auto-rows: minmax(100px, auto);
  grid-template-areas:
    "ip ip ip ip ip ir ir ir ir ir"
    "ip ip ip ip ip ir ir ir ir ir"
    "ip ip ip ip ip ir ir ir ir ir"
    "bl bl bl bl bl br br br br br"
    "bl bl bl bl bl br br br br br";
  gap: 30px;  
  font-family: 'Sofia Sans Regular';
}
.info_photo {
  grid-area: ip;
  place-self: center;
  max-width: 350px;
}
.info_photo img {
  max-width: 100%;
  height: auto;
  border: 1px solid darkred;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
}

.info_right {
  grid-area: ir;
  border: 1px solid darkred;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
  padding: 20px;
}
.info_right p {
  font-size: 20px;
  color: darkred;
  text-indent: 30px;
}

.info_bottom_left {
  grid-area: bl;
  width: 100%;
  height: 100%;
  place-self: center;
  padding-left: 30px;
  border: 1px solid darkred;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
}
#info_name {
  padding: 5px;
  text-align: center;
  color: darkred;
  font-size: 25px;  
}
.info_bottom_right {
  grid-area: br;
  border: 1px solid darkred;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
  padding: 20px;
}
.info_bottom_right p {
  font-size: 20px;
  color: darkred;
  text-indent: 30px;  
}
.info_bottom_right img {
  margin-left: 30px; 
}
/* ----------------------------------- content literature ------------------------------- */
#content_literature {
  width: 100vw;
  min-height: 700px;
  background-color: lightgray;
}
#content_literature embed {
  width: 100%;
  height: 700px;
  border: none;
}
/* ======================================== response ===================================== */
@media screen and (max-width: 768px) {
  nav {
    flex-direction: column;
  }
  .section_index h1 {
    font-size: 30px;
  }
  #main_contacts {
    flex-direction: column;
    row-gap: 30px;
  }
  #form_container {
    width: 90%;
  }
  #map_container {
    width: 90%;
  }
  #contacts_details {
    width: 90%;
  }
  #content_about {
    grid-template-areas:
    "ip ip ip ip ip ip ip ip ip ip"
    "bl bl bl bl bl bl bl bl bl bl"
    "ir ir ir ir ir ir ir ir ir ir"
    "ir ir ir ir ir ir ir ir ir ir"
    "br br br br br br br br br br"
    "br br br br br br br br br br";
  }
  #content_graphics {
    flex-direction: column;
  }
  .graphic {
    width: 90%;
  }
}
/* ======================================================================================= */