/* =============================================================================
  COMMON STUFF FOR CSS DEVICES
============================================================================= */
.css-device {
  position: relative;
  margin: 0 auto;
}

.css-device__image {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}

/* =============================================================================
  BROWSER
============================================================================= */
.css-device--browser {
  width: 100%;
  /* max-width: 100%; set max width here if you need to. */
  border-top: solid 36px #dfdfdf;
  border-right: solid 2px #dfdfdf;
  border-left: solid 2px #dfdfdf;
  border-bottom: solid 2px #dfdfdf;
  border-radius: 4px 4px 0 0;
}

.css-device--browser::before {
  display: block;
  position: absolute;
  top: -24px;
  left: 12px;
  width: 12px;
  height: 12px;
  background-color: #ff3366;
  border-radius: 12px;
  box-shadow: 0 0 0 0 #ff3366, 16px 0 0 0 #ffcc99, 32px 0 0 0 #33ff66;
  content: "";
}

.css-device--browser::after {
  display: block;
  overflow: hidden;
  position: absolute;
  top: -27px;
  right: 12px;
  padding: 0 4px;
  width: 180px;
  height: 18px;
  color: #b3b3b3;
  background-color: #fff;
  font-size: 12px;
  font-style: italic;
  line-height: 18px;
  border-radius: 2px;
  content: attr(data-url);
}

@media all and (min-width: 480px) {
  .css-device--browser {
    border-top: solid 48px #dfdfdf;
  }

  .css-device--browser::before {
    top: -30px;
    box-shadow: 0 0 0 0 #ff3366, 24px 0 0 0 #ffcc99, 48px 0 0 0 #33ff66;
  }

  .css-device--browser::after {
    top: -36px;
    right: 12px;
    padding: 0 8px;
    width: 240px;
    height: 24px;
    line-height: 24px;
  }
}
/* =============================================================================
  TABLET
============================================================================= */
.css-device--tablet {
  position: relative;
  width: 264px;
  border-top: solid 48px #ddd;
  border-left: solid 12px #ddd;
  border-right: solid 12px #ddd;
  border-bottom: solid 48px #ddd;
  border-radius: 12px;
}

.css-device--tablet::before {
  display: block;
  position: absolute;
  top: -26px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: 4px;
  background-color: #bbb;
  border-radius: 4px;
  content: "";
}

.css-device--tablet::after {
  display: block;
  position: absolute;
  bottom: -36px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background-color: #bbb;
  border-radius: 12px;
  content: "";
}

@media all and (min-width: 720px) {
  .css-device--tablet {
    width: 396px;
    border-top: solid 72px #ddd;
    border-left: solid 18px #ddd;
    border-right: solid 18px #ddd;
    border-bottom: solid 72px #ddd;
    border-radius: 18px;
  }

  .css-device--tablet::before {
    top: -39px;
    margin-left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 6px;
  }

  .css-device--tablet::after {
    bottom: -54px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    content: "";
  }
}
/* =============================================================================
  MOBILE
============================================================================= */
.css-device--mobile {
  width: 184px;
  border-top: solid 24px #ddd;
  border-left: solid 12px #ddd;
  border-right: solid 12px #ddd;
  border-bottom: solid 48px #ddd;
  border-radius: 12px;
}

.css-device--mobile::before {
  display: block;
  position: absolute;
  top: 12px;
  left: -14px;
  width: 2px;
  height: 12px;
  background-color: #bbb;
  box-shadow: 0 0 0 0 #bbb, 0 24px 0 0 #bbb;
  border-radius: 2px 0 0 2px;
  content: "";
}

.css-device--mobile::after {
  display: block;
  position: absolute;
  bottom: -36px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background-color: #bbb;
  border-radius: 12px;
  content: "";
}

@media all and (min-width: 720px) {
  .css-device--mobile {
    width: 276px;
    border-top: solid 36px #ddd;
    border-left: solid 18px #ddd;
    border-right: solid 18px #ddd;
    border-bottom: solid 72px #ddd;
    border-radius: 18px;
  }

  .css-device--mobile::before {
    top: 18px;
    left: -21px;
    width: 3px;
    height: 18px;
    background-color: #bbb;
    box-shadow: 0 0 0 0 #bbb, 0 36px 0 0 #bbb;
    border-radius: 3px 0 0 3px;
    content: "";
  }

  .css-device--mobile::after {
    bottom: -54px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    content: "";
  }
}
