* {box-sizing: border-box;}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background-color: #f1f1f1;
  overflow-x: hidden;
}

h2{
  font-size: 32px;
}

.toplogo {
    width: 25%;
    float: left;
}
.topnav {
    width: 75%;
    overflow: hidden;
    display: grid;
    justify-content: space-around;
    grid-template-columns: 15% 15% 15% 15% 25%;
    padding: 15px 0 0 0;
}

.topnav-menu {
  background-color: #A12D2D;
  color: white;
  text-align: center;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  font-family: 'Montserrat', sans-serif;
}

.topnav-menu:hover{
  background-color: #7f2424;
}


.topnav .search-container {
  float: right;
}

.topnav input[type=text] {
  padding: 6px;
  margin-top: 8px;
  font-size: 17px;
  border: none;
}

.topnav .search-container button {
  float: right;
  padding: 6px 10px;
  margin-top: 8px;
  margin-right: 16px;
  background: #ddd;
  font-size: 17px;
  border: none;
  cursor: pointer;
}

.topnav .search-container button:hover {
  background: #ccc;
}

.img-logo{
    width: 100%;
}

.grey-background{
    background: rgb(175, 175, 175);
}

.slideshow-container {
    max-width: 100%;
    position: relative;
    margin: auto;
    text-align: center;
  }

  .text {
    color: #f2f2f2;
    font-size: 15px;
    padding: 8px 12px;
    position: absolute;
    bottom: 8px;
    width: 100%;
    text-align: center;
  }
  
  .numbertext {
    color: #f2f2f2;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
  }
  
  .dot-div{
    height: 0px;   
  }

  .dot {
    height: 0px;
    width: 0px;
    margin: 0px;
    background-color: transparent;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
  }
  
  .fade {
    animation-name: fade;
    animation-duration: 1.5s;
  }
  
  @keyframes fade {
    from {opacity: .4} 
    to {opacity: 1}
  }
  
  @media only screen and (max-width: 300px) {
    .text {font-size: 11px}
  }


@media screen and (max-width: 600px) {
  .topnav .search-container {
    float: none;
  }
  .topnav{
    grid-template-columns: 14% 14% 14% 14% 29%;
  }
  .topnav a, .topnav input[type=text], .topnav .search-container button {
    float: none;
    display: block;
    text-align: left;
    width: 100%;
    margin: 0;
    padding: 14px;
  }
  .topnav input[type=text] {
    border: 1px solid #ccc;  
  }
}

footer{
  margin: 0 5%;
}

.footer-map{
  width: 50%;
  float: left;
  margin: 0 0 20px 0;
}

.footer-details{
  font-size: 20px;
  text-align: center;
}

.footer-details ul{
  list-style-type: none;
}

.footer-details .smallul{
  font-size: 17px;
  color: rgb(78, 78, 78)
}

.special-offer-container{
  width: 100%;
  height: auto;
  margin: 0 5%;
}


.special-offer-header,  .special-offer-header > h2{
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 40px;
}

.special-offer{
  width: calc(90%/3);
  min-height: 195px;
  float: left;
  padding: 10px;
  font-size: 22px;
  text-align: center;
}
.left-offer{
  border-right: 3px solid #A12D2D;
}
.right-offer{
  border-left: 3px solid #A12D2D;
}

.special-offer h3{
  text-align: center;
}

.reset{
  clear: both;
}

.phones-header > h2, .smartwatches-header > h2, .accessories-header > h2{
  text-align: center;
}

.phones-grid, .smartwatches-grid, .accessories-grid{
  display: flex;
  margin: 0 5%
}

.phones-grid > div, .smartwatches-grid > div, .accessories-grid > div{
  text-align: center;
  width: calc(100%/7);
  padding: 10px;
  border: 1px solid #DDD;

  background-color: #A12D2D;
  color: #FFF;
}

.smartwatches-grid > div{
  width: calc(100%/6);
}
.phones-grid > div:hover, .smartwatches-grid > div:hover, .accessories-grid > div:hover{
  background-color: #7f2424;
}

.accessories-grid > div{
  width: calc(100%/8);
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #A12D2D;
  width: 100%;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  padding: 12px 12px;
  z-index: 1;
  margin: 0 0 0 -10px;
}

.dropdown:hover .dropdown-content{
  display: block;
}

.eco-div {
  background-color: rgb(61, 188, 61);  
  color: white;
}
.eco-main{
  display: grid;
  grid-template-columns: 50% 50%;
}
.eco-div > h2 {
  text-align: center;
  font-size: 40px;
  padding: 15px 0 0 0;
}
.eco-info{
  font-size: large;
  width: 50%;
  margin: auto;
  text-align: center;
}

@media only screen and (max-width: 830px){
  body{
    width: 100%;
  }
  .toplogo{
    width: 250px;
    height: auto;
  }
  .topnav{
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .phones-grid > div, .smartwatches-grid > div, .accessories-grid > div{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
  }
  .slideshow-container{
    min-width: 100%;
  }
  .smartwatches-grid, .phones-grid, .accessories-grid {
    display: flex;
    flex-direction: column;
  }
  .eco-main {
    display: flex;
    flex-direction: column;
  }
  .eco-info{
    width: 90%;
  }

  .footer-map{
    width: 100%;
  }

  .footer-details {
    width: 100%;
    margin: 0;
    padding: 0 0 10% 0;
  }
  .special-offer-container{
    margin: 0;
  }
  .special-offer{
    width: 100%;
  }

  .left-offer{
    border-right: none;
    border-bottom: 3px solid #A12D2D;
  }
  .right-offer{
    border-left: none;
    border-top: 3px solid #A12D2D;
    
  }
}
@media screen and (min-width: 830px) and (max-width: 1100px){
  .topnav-menu{
    font-size: 15px;
  }
}