/* product model carousel */

.marginBottom {
    margin-bottom: 50px !important;
}

.productRow {

    max-width: 1200px;
    margin: auto;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    box-sizing: border-box;

    padding-left: 20px;
    padding-right: 20px;
    padding-top: 5px;

    scroll-padding-left: 10px;
}

.productRowSevenPlus {
    max-width: 1200px;
    margin: auto;

    display: flex;
    flex-wrap: nowrap;
    gap: 24px;

    overflow-x: auto;
    box-sizing: border-box;

    padding-left: 20px;
    padding-right: 20px;
    padding-top: 5px;


    scroll-padding-left: 10px;

    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.productRowSevenPlus::-webkit-scrollbar {
     display: none;
}

.productCard {
    background: white;
    border-radius: 28px;
    border: none;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    flex-shrink: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-bottom: 10px;
    text-decoration: none;
    color: rgb(49, 49, 49);

    scroll-snap-align: start;
}

.productCard:hover {
    transform: scale(1.03);
}

.productCard .cardImg {
    width: 100%;
}

.productCard .cardImgMac {
    height: 115px;
    object-fit: contain;
    width: 180px;
}

.featuredTitle {
    text-align: left;
    font-size: 20px;
    margin-top: 7px;
    margin-left: 7px;
    color: rgb(46, 76, 154);
}

.productCard h2 {
    font-size: 16px;
    text-shadow: 0px 0px 1px rgba(192, 192, 192, 0.6);
}

.cardInfo {
    text-align: left;
    margin-top: 0px;
    font-size: 17px;
}

.scrollHint {
    text-align: center;
    color: rgb(46, 76, 154);
    font-weight: bold;
    display: none;
}

.secondTitle {
    margin-top: 50px;
}

.subTitle {
    margin-top: 15px;
    margin-bottom: 35px;
    font-size: 20px;
}

.alert {
    color: rgb(255, 71, 71) !important;
}

.carouselWrapper {
    display: flex;
    justify-content: end; 
    gap: 7px;
    margin-top: 20px;
    margin-right: 20px;
}

.carouselBtn {
    background-color: rgb(89, 157, 40);
    height: 32px;
    width: 45px;
    border-radius: 28px;
    border: none;
    color: white;   
    font-size: 18px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.carouselBtn:hover {
    background-color: rgb(63, 103, 34);
}

.carouselWrapper.appear {
    display: none;
}

.selectWrapper {
    position: relative;
    display: inline-block;
}

#phoneSelect, .dropdownStyle {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  padding: 12px 30px 12px 16px;
  border-radius: 28px;

  border: none;
  background: rgb(89, 157, 40);
  color: white;

  font-size: 16px;
  cursor: pointer;

  margin-bottom: 25px;
}

#phoneSelect:hover, .dropdownStyle:hover {
    background-color: rgb(63, 103, 34);
}

/* arrow */

.selectWrapper::after {

    content: "⌄";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-125%);
    color: white;
    font-size: 18px;
    pointer-events: none;
}

/* POPOVERS */

.specsPopover {
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgb(255, 255, 255);
    width: 1200px;
    height: 85vh;
    max-height: 700px;
}


.specsPopover::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.popover {
  width: 400px;
  max-height: 300px;
  overflow: auto;
  position: relative;
}

.fa-xmark {
    color: white;
}

.close {
  position: sticky;
  top: 10px;
  left: 10px;
  z-index: 10;
  background: rgba(236, 103, 101, 0.85);
  border-radius: 28px;
  height: 40px;
  width: 40px;
  border: none;
  text-align: center;
  font-size: 20px;
  cursor: pointer;
  padding: 8px;
}

.close:hover {
    background-color: rgb(161, 63, 61);
}

.techSpecTitle {
    text-align: center;
    color: rgb(46, 76, 154);
    margin-top: 0;

    position: relative;
    top: -15px;
}

.specGrid {
    display: grid;
    grid-template-columns: repeat(4, 250px);
    gap: 18px;
    margin: 0 auto;
    justify-items: center;
    justify-content: center;

}

.specSubTitle {
    margin: 0;
}

.specText {
    font-size: 40px;
    padding: 0;
}

.gridItem {
    background-color: rgba(242, 248, 255, 0.8);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    border-radius: 24px;
    text-align: center;
    width: 235px;
    height: 270px;
    padding: 5px;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.gridItem img {
    width: 150px;
    height: 150px;
    object-fit: contain;
}

.gridItem p {
    margin: 0;
}

.guideGrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin: 0 auto;
    justify-items: center;
    justify-content: center;
    padding: 10px;

}

.guideItem {
    background-color: rgba(242, 248, 255, 0.8);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    border-radius: 24px;
    justify-items: center;
    text-align: center;
    width: 100%;
    height: 270px;
}

.guideItem p {
    font-size: 16px;
}

.guideItem img {

    height: 175px;
    object-fit: contain;

}

.green {
    color: green;
    font-size: 120px;
    margin-top: 22px;
}

.red {
    color: rgb(220, 16, 16);
    font-size: 120px;
    margin-top: 22px;
}

/* upgrade guide */

.upgradeRow {

    max-width: 1200px;
    margin: auto;
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    padding: 3px;
    box-sizing: border-box;
}

.upgradeCard {
    background: white;
    border-radius: 28px;
    border: none;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    flex-shrink: 0;
    margin-bottom: 10px;
    text-decoration: none;
    color: rgb(49, 49, 49);
}


.upgradePopover {
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgb(255, 255, 255);
    width: 1250px;
}

.upgrades .productCard {
    flex: 0 0 280px;
    color: white;
}

.upgrades h2 {
    font-size: 25px;
}

.upgrades .no {
    color: rgb(255, 0, 0);
}

.upgrades .neutral {
    color: rgb(255, 153, 0);
}

.upgrades .ye {
    color: rgb(22, 185, 0);
}

.gradient-text {
    background: linear-gradient(90deg,
        #b0b0b5,
        #7f7f86,
        #4c4c4c
    );

    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* Tech spec storage styling */

.gradient-storage {
    background: linear-gradient(90deg,
        #ff9645,
        #ff8819,
        #da530a
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.gradient-storage2 {
    background: linear-gradient(90deg,
        #7045ff,
        #9419ff,
        #d30ada
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.gradient-storage3 {
    background: linear-gradient(90deg,
        #45e3ff,
        #19b2ff,
        #0a3eda
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.gradient-storage4 {
    background: linear-gradient(90deg,
        #9fff45,
        #19ff19,
        #0d7f2b
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* Tech spec memory styling */

.gradient-memory {
    background: linear-gradient(90deg,
        #30ffee,
        #19e4ff,
        #156aa3
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.gradient-memory2 {
    background: linear-gradient(90deg,
        #7230ff,
        #ba19ff,
        #a31595
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.gradient-memory3 {
    background: linear-gradient(90deg,
        #ffb330,
        #ff8419,
        #a34b15
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.gradient-memory4 {
    background: linear-gradient(90deg,
        #30ff60,
        #86c31d,
        #42a315
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* Tech spec battery styling */

.battery {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
}

.gradient-battery {
    background: linear-gradient(90deg,
        #8dff30,
        #28ff19,
        #15a344
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 85px;
    margin-bottom: 0px;
}

.gradient-battery2 {
    background: linear-gradient(90deg,
        #2db223,
        #128a1c,
        #00871d
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 35px;

    margin-top: 0px;
    line-height: 1;

}

/* Tech spec ports styling */

.gradient-port {
    background: linear-gradient(90deg,
        #ff45be,
        #d519ff,
        #5d0ada
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

.ports {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.portDetails {
    font-size: 15px;
}

.gradient-port2 {
    background: linear-gradient(90deg,
        #1fc12f,
        #18ccb1,
        #0a6bda
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

.gradient-port3 {
    background: linear-gradient(90deg,
        #c11f1f,
        #cc1875,
        #da0abb
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

.gradient-port4 {
    background: linear-gradient(90deg,
        #1fc12f,
        #18ccb1,
        #0a6bda
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 19px;
}

/* tech spec webcam styling */

.gradient-webcam {
    background: linear-gradient(90deg,
        #ffbd30,
        #e819ff,
        #1589a3
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 60px;
    margin-bottom: 0px;
}

.gradient-webcam2 {
    background: linear-gradient(90deg,
        #ffbd30,
        #e819ff,
        #1589a3
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 65px;

    margin-top: 0px;
    line-height: 1;

}

.gradient-webcam3 {
    background: linear-gradient(90deg,
        #ffbd30,
        #e819ff,
        #1589a3
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 32px;
    margin-top: 0px;
}

.gradient-webcam4 {
    background: linear-gradient(90deg,
        #ffbd30,
        #e819ff,
        #1589a3
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 45px;
    margin-top: 0px;
}

/* tech spec speakers styling */

.gradient-speakers {
    background: linear-gradient(90deg,
        #0d165c,
        #191dff,
        #0a42dd
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 60px;
    margin-bottom: 0px;
}

.gradient-speakers2 {
    background: linear-gradient(90deg,
        #0d165c,
        #191dff,
        #0a42dd
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 30px;

    margin-top: 0px;

}

/* tech spec keyboard styling */

.gradient-keyboard {
    background: linear-gradient(90deg,
        #ff8330,
        #dc8700,
        #bba60b
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 60px;
    margin-bottom: 0px;
}

.gradient-keyboard2 {
    background: linear-gradient(90deg,
        #ff8330,
        #dc8700,
        #bba60b
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 30px;

    margin-top: 0px;

}

/* tech spec authentication styling */

.gradient-auth {
    background: linear-gradient(90deg,
        #ff3030,
        #dc1111,
        #6d0000
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 45px;
    margin-bottom: 0px;
}

.gradient-auth2 {
    background: linear-gradient(90deg,
        #ff3030,
        #dc1111,
        #6d0000
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 70px;

    margin-top: 0px;

}

/* tech spec weigth styling */

.gradient-weight {
    background: linear-gradient(90deg,
        #065912,
        #37833f,
        #5b7c60
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 60px;
    margin-bottom: 0px;
}

.gradient-weight2 {
    background: linear-gradient(90deg,
        #065912,
        #37833f,
        #5b7c60
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 60px;

    margin-top: 0px;

}

/* Tech spec size styling */

.gradient-size {
    background: linear-gradient(90deg,
        #ff4545,
        #ff1988,
        #cc0ada
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

.gradient-size2 {
    background: linear-gradient(90deg,
        #2f1fc1,
        #185acc,
        #0a6bda
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

.gradient-size3 {
    background: linear-gradient(90deg,
        #50c11f,
        #75cc18,
        #a6da0a
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

/* display size */

.gradient-ss {
    background: linear-gradient(90deg,
        #ff4545,
        #ff1988,
        #cc0ada
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

.gradient-ss2 {
    background: linear-gradient(90deg,
        #2f1fc1,
        #185acc,
        #0a6bda
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;

    font-size: 25px;
}

/* iphone upgrade popover */

.upgradePopover::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.dont {
    background: linear-gradient(to top, rgb(233, 91, 91), rgb(255, 227, 227));
}

.maybe {
    background: linear-gradient(to top, rgb(248, 174, 16), rgb(255, 252, 222));
}

.yes {
    background: linear-gradient(to top, rgb(129, 201, 57), rgb(234, 255, 215));
}

.TileLayout {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    text-align: left;
    column-gap: 40px;
    row-gap: 10px;
    margin-top: 20px;
}

.dontUp {
    column-gap: 15px;
    margin-left: 5px;
}

.list p {
    padding: 0;
    margin: 0;

}

.iphoneimg {
    margin-bottom: 25px;
}

.guideNote {
    text-align: center;
    margin-bottom: 25px;
    margin-top: auto;
    padding-top: 25px;
    margin-left: 5px;
    margin-right: 5px;

}

.hidden {
    display: none !important;
}

/* mac compatibility popover */

.compatPopover {
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgb(255, 255, 255);
    width: 600px;
    height: 840px;
}


.compatPopover::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.compatibilityList {
    background-color: rgba(242, 248, 255, 0.8);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    border-radius: 24px;
    width: auto;
    margin: 25px;
    padding: 5px 20px;
}

.sub {
    font-size: 18px;
    margin: 10px;
    text-align: center;
}

.app {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.ct {
    color: green;
    font-size: 40px;
}

.nct {
    color: red;
    font-size: 40px;
}

.appIcon {
    height: 50px;
    margin: 0;
}

.bottom {
    margin-bottom: 50px;
}

.top {
    margin-top: 50px;
}

/* MOBILE / SMALLER SCREENS */

@media (max-height: 840px) {

    .compatPopover {
        height: 90vh;
    }
}


@media (max-width:1200px) {

    .productCard {
        flex: 0 0 140px;
        scroll-snap-align: start;
    }

    .productCard h2 {
        font-size: 12px;
        margin-bottom: 0px;
    }

    .list {
        grid-template-columns: repeat(2,1fr);
        column-gap: 40px;
        text-align: center;
    }

    .guideGrid {
        grid-template-columns: repeat(1,1fr);
    }
}


@media (max-width: 1200px) {

    .productRow {

        display: flex;
        overflow-x: auto;
        flex-wrap: nowrap;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-inline: 20px;
    }

    .featuredRow .productCard {
        flex: 0 0 280px;
    }

    .productRow::-webkit-scrollbar {
        display: none;
    }

    .specGrid {
        grid-template-columns: repeat(3, 250px);
    }

    .specsPopover {
        width: 850px;
        height: 85vh;
    }

    .upgradeRow {
        grid-template-columns: repeat(1, 1fr);

    }

    .upgradeCard {
        width: 400px;
        margin: 0 auto;
    }

    .upgradePopover {
        width: 450px;
        height: 645px;
    }



}

@media (max-width: 860px) {
    .scrollHint {
        display: block;
    }

    .productRow, .productRowSevenPlus {
        gap: 15px;
    }

    .carouselWrapper.appear {
        display: flex;
    }

    .specGrid {
        grid-template-columns: repeat(2, 250px);
    }

    .specsPopover {
        width: 575px;
        height: 90vh;
    }

    .compatPopover {
        width: 90vw;
        max-width: 600px;
    }

}

@media (max-width: 585px) {

    .specGrid {
        grid-template-columns: repeat(1, 250px);
    }

    .specsPopover {
        width: 300px;
        height: 95vh;
    }

    .specsPopover#modelGuide {
        width: 95vw;
    }

    .techSpecTitle {
        text-align: center;
        color: rgb(46, 76, 154);
        margin-top: 0;

        position: relative;
        top: 18px;
        padding-bottom: 20px;
    }

    .guideItem img {
        height: 110px;
    }

}

@media (max-width: 560px) {

    .appIcon {
        height: 35px;
        align-self: center;
    }
}

@media (max-width: 490px) {

    .upgradeCard {
        width: 90vw;
        margin: 0 auto;
    }

    .upgradePopover {
        width: 95vw;
        height: 97vh;
    }
}

@media (max-width: 455px) {

    .appIcon {
        height: 25px;
    }

    .dropdownStyle {
        margin-left: -8px;
    }

}

/* RETURN TO TOP */

#backToTop {
  position: fixed;
  bottom: 20px;
  right: 20px;

  width: 44px;
  height: 44px;
  border-radius: 50%;

  border: none;
  cursor: pointer;

  background: rgba(89, 157, 40, 0.85);
  color: white;
  text-decoration: none;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 18px;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, opacity 0.2s ease;

  opacity: 0;
  pointer-events: none;
}

#backToTop.show {
    opacity: 1;
    pointer-events: auto;
}

#backToTop:hover {
  transform: scale(1.1);
}


/* ================ PAGE BODY LAYOUT ================ */

body {
    font-family: Arial, Helvetica, sans-serif;
    color: rgb(49, 49, 49);
    margin: 0;
}

.hide {
    display: none;
}

.displayMobile {
    display: none;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;

    overflow: visible;
}

footer {
    background-color: rgb(242, 248, 255);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    margin-top: 50px;
}

.informationalBanner {
    background-color: rgba(255, 143, 143, 0.5);
    border: solid red;
    width: 100%;
    border-radius: 28px;
    text-align: center;
    padding: 15px 0;
    margin-top: 25px;
}

.finePrint {
    text-align: center;
}

.bannerTitle {
    color: red;
}

.align {
    text-align: center;
}

.margins {
    padding-bottom: 10px;
    margin-top: 50px;
}

.margin {
    margin-top: 50px;
}


/* ================ UTILITY BAR ================ */
/* Utility bar styling */

.utilityBar {
    width: 100%;
    height: 65px;
    background-color: rgb(255, 255, 255);

    display: flex;
    align-items: center;

}

.utilityContent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.logo {
    display: block;
    height: 40px;

    position: relative;
    top: -1px;
}

.utilityButtons {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none;
    font-size: 25px;
    gap: 25px;
    color: rgb(49, 49, 49);
}

.utilityButtonStyling {
    text-decoration: none;
    color: rgb(49, 49, 49);
    border-radius: 50%;
    background: none;
    border: none;
    font-size: 25px;
}

.utilityButtonStyling:hover {
    color: rgb(89, 157, 40);
}

/* ================ NAV BAR ================ */

/* Nav bar styling */

.navigationBar {
    width: 100%;
    height: 40px;
    background-color: rgb(46, 76, 154);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.navButtons {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    height: 100%;
    margin: 0;
}

.navButtonStyling {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: white;
    padding: 6px 20px;
    height: 100%;
    z-index: 9999;
}

.navButtonStyling:hover {
    background-color: rgb(33, 54, 109);
    border-radius: 28px;
}

.dropdown {
    position: relative;
}

.dropdownMenu li a {
    color: white;
    text-decoration: none;
    list-style: none;
}

.dropdownMenu li a:hover {
    background-color: rgb(33, 54, 109);
    border-radius: 28px;
}

.dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 8px;
}

.dropdownMenu {
  display: none;
  position: absolute;
  top: 100%;
  margin-top: 7px;

  left: 0;
  min-width: 175px;
  list-style: none;
  padding: 10px 10px;

  background: rgb(46, 76, 154);
  border-radius: 24px;

}

.dropdown:hover .dropdownMenu {
  display: block;
}

/* hamburger menu */

.hamburger {
    display: none;
    margin-left: 15px;
}

.mobileUtility {
    display: none;
}

.navMenu {
    display: block;
    padding-top: 5px;
}

.mobileActions {
    display: flex;
    flex-direction: row;
    height: auto;
    
}

.mobileNav {
    display: none;
}

.navBreak {
    width: 100%;
    border: 1px solid rgb(49, 49, 49);
    margin: 0;
    padding: 0;
    display: flex;
}

.mobileSubMenu {
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.5);
    width: 240px;
    height: 550px;

}

.sizingServices {
    height: 500px;
}

.mobileSubMenu::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.mobileDropdown {
    list-style: none;
    display: flex;
    flex-direction: column;
    padding-left: 0;
    gap: 25px;
    width: 100%;
}

.mobileStyling {
    color: rgb(49, 49, 49);
    text-decoration: none;
    font-size: 22px;
    border-radius: 28px;
    padding: 10px;
    width: 100%;
}

.mobileStyling:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

/* UTILITY BAR MODAL STYLING */

/* Settings */

input[type="radio"] {
  transform: scale(0.7);
}

.settingsTitle {
    margin-top: 0;
    font-size: 18px;
    
}

.fa-moon, .fa-sun {
    color: rgb(49, 49, 49);
    font-size: 25px;
}

#settings-popup {
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.5);
    width: 235px;
}

input[type="radio"] {
    margin-top: 10px;
    width: 30px;
    height: 30px;
}

    .form-row {
        display: flex;
        gap: 20px;
        justify-content: center;
    } 

    .form-column {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    form .darkmode-toggle {
        margin-top: 15px;
        background-color: white;
        border-radius: 28px;
        padding: 20px;
    }

/* About */

.modalLayout {
    display: flex;
    flex-direction: column;
    align-items: center;


}

.popup-text {
    font-weight: bold;
    font-size: 25px;
    color: rgb(46, 76, 154);
    margin-top: 10px;
    margin-bottom: 0;
}

#info-popup {
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.5);
    width: 275px;

}

#info-popup::backdrop, #settings-popup::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.infoIcon, .settingsIcon {
    color: rgb(46, 76, 154);
    font-size: 70px;
    margin-bottom: 0;
    margin-top: 0;
}

.popup-content {
    text-align: center;
}

.contentInfo {
    font-size: 15px;
}

.leftAlign {
    text-align: left;
    margin: 0 10px;
}

.modalButton {
    border-radius: 28px;
    width: 270px;
    height: 45px;
    border: none;
    background-color: rgba(89, 157, 40, 0.8);
    font-size: 18px;
    font-weight: bold;
    color: white;
}

.settingsButton {
    border-radius: 28px;
    width: 235px;
    height: 45px;
    border: none;
    background-color: rgba(89, 157, 40, 0.8);
    font-size: 18px;
    font-weight: bold;
    color: white;
}

.lastItem {
    margin-top: auto;
}

.modalButton:hover {
    background-color: rgba(63, 103, 34, 0.8);
}

.fa-angle-right {
    margin-right: 3px;
}


/* ================ FOOTER ================ */

.end-page {
    
    margin-left: 20%;
    margin-right: 20%;
    border: 1px solid rgb(0, 0, 0);
    background-color: rgb(237, 237, 237);
    margin-top: 0;
    margin-bottom: 50px;
}

footer h4 {
    font-weight: bold;
    margin-bottom: 15px;
}

footer a {
    text-decoration: none;
    color: rgb(0, 0, 0);
}

.align-footer {

    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin-left: 20%;
    margin-right: 20%;
    gap: 30px;
    color: rgb(0, 0, 0);
}


.footer-link:hover {
    font-weight: bold;
    text-decoration: underline;
}

.footer-container {
    font-size: 13px;
    margin-bottom: 25px;
    margin-top: 25px;
}

.footer-container h4 {
    font-size: 15px;
    font-weight: bold;
}

.footer-logo {
    width: 150px;
    display: block;
    margin: 0 auto;
    padding-bottom: 50px;
}

.footerPrint {
    text-align: center;
    font-size: 12px;
    margin: 10px 25px;
}

.footerDisclaimer {
    text-align: center;
    font-size: 12px;
    font-style: italic;
    margin-bottom: 15px;
}

/* social media logos / contact icons */

.social-logo {
    font-size: 40px;
    text-decoration: none;
}

.fa-square-facebook {
    color: rgb(45, 108, 249);
}

.fa-square-x-twitter {
    color: rgb(27, 31, 36);
}

.fa-square-instagram {
    color: rgb(208, 73, 130);
}

.fa-envelope {
    color: rgb(49, 49, 49);
}

/* ================ HOME PAGE ================ */

/* Homepage styling */

.titleIcon {
    font-size: 35px;
    transform:translateY(-2px)
}

/* ===== MAIN LAYOUT ===== */
.homeFeaturedLayout {
    width: auto;
    margin: 0 auto;
    
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 20px;

    margin-bottom: 50px;

}

/* Right side stacked cards */
.subFeature {
    display: grid;
    grid-template-rows: 160px 160px;
    gap: 20px;
}

/* ===== CARD BASE ===== */
.featuredContainer {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 28px;
    width: 100%;


    display: flex;
    overflow: hidden;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.subFeaturedContainer {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 28px;
    width: 100%;

    display: flex;
    overflow: hidden;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.featuredContainer:hover,
.subFeaturedContainer:hover {
    transform: scale(1.03);
    cursor: pointer;
}

/* ===== IMAGES ===== */
.featuredImg {
    display: block;
    object-fit: cover;
}

.headline {
    width: 400px;
}

.subHeadline {
    width: 200px;
}

/* ===== TEXT LAYOUT ===== */
.featuredTextContent {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* pushes date to bottom */
    padding: 20px;
}

/* ===== TEXT STYLES ===== */
.contentType {
    color: rgb(89, 157, 40);
    font-weight: bold;
    margin: 0;
}

.featuredTitle {
    margin: 10px 0;
}

.date {
    color: rgb(89, 157, 40);
    margin: 0;
}

.subFeaturedContainer .featuredTitle {
    font-size: 1rem;
}

.pageTitle {
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 0;
}

.subHeading {
    margin-top: 15px;
    margin-bottom: 35px;
    font-size: 20px;

}

.lineup {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    gap: 55px;
    width: 100%;

    margin-bottom: 50px;
}

.productCard .lineupTitle {
    margin-top: 20px;
    margin-bottom: 10px;
    padding-bottom: 0;

    color: rgb(255, 255, 255);
    text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.6);
    font-size: 30px;
}

.lineupInfo {
    margin-bottom: 30px;
    text-align: center;

    color: rgb(255, 255, 255);
    text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.6);
}

.lineupImg {
    margin-top: 0;
    margin-bottom: 30px;
    padding-top: 0;
}

.lineupContainer {
    border-radius: 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 350px;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);

    text-decoration: none;
    color: inherit;
}

.lineupContainer:hover {
    transform: scale(1.03);
}

.devicesContainer {
    background: linear-gradient(to top, rgb(193, 222, 255), rgb(20, 124, 203));
}

.platformsContainer {
    background: linear-gradient(to top, rgb(196, 255, 254), rgb(8, 142, 124));
}

.servicesContainer {
    background: linear-gradient(to top, rgb(255, 187, 187), rgb(247, 52, 52));
}

.buttonStyle {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 28px;

    border: none;
    text-decoration: none;
    background-color: rgb(89, 157, 40);
    font-size: 17px;
    font-weight: bold;
    color: white;

    padding: 12px 15px;
    margin-bottom: 20px;
    margin-top: auto;
}

.buttonStyleMac {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 28px;

    border: none;
    text-decoration: none;
    background-color: rgb(89, 157, 40);
    font-size: 17px;
    font-weight: bold;
    color: white;

    padding: 12px 15px;
    margin-bottom: 10px;
    margin-top: 0;
}

.overviewMobileBtn {
    width: 115px;
    margin: 10px auto;
    display: none;
}

.bulletPoints {
    margin-bottom: 0;
}

.buttonStyle:hover {
    background-color: rgb(63, 103, 34);
}

.newsButton {
    margin: 25px auto;
    margin-bottom: 50px;
    width: 130px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.newsButton:hover {
    transform: scale(1.03);
    cursor: pointer;
}

.WWDCButton {
    width: 170px;
    cursor: pointer;
    margin-top: 30px;
}

.upcomingEvent {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: white;
    align-items: center;
    border-radius: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    width: 100%;
    height: 300px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 40px;

    margin-bottom: 35px;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.backgroundImageHome {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/apple-park-rainbow.webp");
}

.backgroundImageNews {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/tahoewallpaper.jpg");
}

.backgroundImageServices {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/ipadoswallpaper.jpg");
}

.backgroundImageServices2 {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/creatorstudiosplash.jpg");
}

.backgroundImageServices3 {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/eventcrowd.webp");
}

.upcomingEvent:hover {
    transform: scale(1.03);
    cursor: pointer;
}

.appleEvents {
    display: flex;
    justify-content: center;
}

.appleEvents a {
    text-decoration: none;
}

.upcomingTitle {
    font-size: 50px;
    margin: 0;
}

.upcomingInfo {
    font-size: 20px;
}

.homeLatestLayout {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px;
    justify-content: center;
    margin-bottom: 50px;
}

.latestContainer {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 28px;
    overflow: hidden;
    height: 285px;
    width: 275px;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.latestContainer:hover {
    cursor: pointer;
    transform: scale(1.03);
}

.latestImg {
    width: 275px;
    height: 165px;
    object-fit: cover;
}

.latestTextContent {
    margin: 0 15px;
}

.latestTitle {
    line-clamp: 2;
}

/* NEWS PAGE */

.newsLayout {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    margin-top: 50px;
}

.newsContainer {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 28px;
    overflow: hidden;
    height: 450px;
    width: 567px;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.newsContainer:hover {
    cursor: pointer;
    transform: scale(1.03);
}

.newsImg {
    width: 567px;
    height: 280px;
    object-fit: cover;
}

.newsTextContent {
    display: flex;
    flex-direction: column;
    height: 150px;
    margin-left: 25px;
    margin-right: 25px;
}

.newsTitle {
    font-size: 25px;
    margin-top: 0px;
    line-clamp: 2;
}

.date {
    margin-top: auto;
}

.contentTypeNews {
    color: rgb(89, 157, 40);
    font-weight: bold;
}

.latestNews {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;

    margin: 25px 0;
}

.latestNewsContainer {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 28px;
    overflow: hidden;
    height: 350px;
    width: 370px;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.latestNewsContainer:hover {
    cursor: pointer;
    transform: scale(1.03);
}

.latestNewsImg {
    width: 370px;
    height: 185px;
    object-fit: cover;
}

.latestNewsTitle {
    font-size: 20px;
    margin-top: 0px;
    line-clamp: 2;
}

.latestText {
    display: flex;
    flex-direction: column;
    height: 145px;
    margin-left: 25px;
    margin-right: 25px;
}

/* Devices */

.deviceTiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 50px;
    margin-bottom: 50px;
}

.white {
    color: white;
}

.deviceTiles a {
    text-decoration: none;
    color: rgb(49, 49, 49);
}

.productTile {
    display: flex;
    flex-direction: column;
    align-items: center;

    border-radius: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);

    height: 300px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.productTile:hover {
    cursor: pointer;
    transform: scale(1.03);
}

.visionImg {
    margin-top: 30px;
}

.watchImg {
    margin-top: 20px;
}

.macImg {
    margin-top: 12px;
}

.iphone {
    background: linear-gradient(to top, rgb(198, 255, 249), rgb(79, 174, 161));
}

.ipad {
    background: linear-gradient(to top, rgb(231, 195, 255), rgb(154, 116, 214));
}

.mac {
    background: linear-gradient(to top, rgb(255, 227, 201), rgb(192, 120, 31));
}

.watch {
    background: linear-gradient(to top, rgb(212, 241, 255), rgb(44, 95, 162));
}

.airpods {
    background: linear-gradient(to top, rgb(255, 212, 212), rgb(157, 77, 77));
}

.vision {
    background: linear-gradient(to top, rgb(174, 213, 255), rgb(8, 57, 135));
}

.homepod {
    background: linear-gradient(to top, rgb(212, 249, 255), rgb(29, 150, 163));
}

.tv {
    background: linear-gradient(to top, rgb(212, 255, 220), rgb(74, 159, 107));
}

.tileText {
    text-align: center;
    margin: 0 25px;
    color: white;
}

.lifecycle {
    margin-top: 12px;
}

/* platforms */

.platformTiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: 50px;
    margin-bottom: 50px;
}

.osTile {
    display: flex;
    flex-direction: column;
    align-items: center;

    border-radius: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);

    height: 300px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.osTile:hover {
    cursor: pointer;
    transform: scale(1.03);
}

.latestRelease {
    margin-bottom: 30px;
    padding: 25px 0;
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/tahoedawn.jpeg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 28px;
    color: white;

    width: 100%;
}

.releasesContainer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.releasesContent {
    display: flex;
    flex-direction: row;

    margin: 20px 25px;
    gap: 10px;
    font-weight: bold;
    font-size: 20px;
}

.releaseTitle {
    font-size: 35px;
    margin: 15px 25px;
    padding-top: 25px;
}

/* services */

.cstudioImg {
    margin-top: 25px;
}

.oneImg {
    margin-top: 15px;
}

.iconImg {
    margin-top: 15px;
}

.icloud {
    background: linear-gradient(to top, rgb(204, 241, 255), rgb(33, 175, 231));
}

.music {
    background: linear-gradient(to top, rgb(255, 212, 212), rgb(185, 73, 73));
}

.tvservice {
    background: linear-gradient(to top, rgb(184, 184, 184), rgb(0, 0, 0));
}

.arcade {
    background: linear-gradient(to top, rgb(255, 219, 201), rgb(194, 91, 71));
}

.fitnessplus {
    background: linear-gradient(to top, rgb(223, 255, 135), rgb(122, 159, 18));
}

.newsplus {
    background: linear-gradient(to top, rgb(255, 212, 213), rgb(159, 74, 92));
}

.one {
    background: linear-gradient(to top, rgb(212, 254, 255), rgb(74, 151, 159));
}

.acs {
    background: linear-gradient(to top, rgb(226, 226, 226), rgb(90, 90, 90));
}

/* iphone */

.latestIphones {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    gap: 50px;
}

.productInfoContainer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    width: 100%;

    border-radius: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.iphoneContainer {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;

    border-radius: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.leftContent h2 {
    color: rgb(46, 76, 154);
    text-align: center;
    margin-bottom: 0;
}

.leftContent {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-weight: bold;
}

.summary {
    width: 330px;
}

.rightContent, .quickContent {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.leftContent, .rightContent, .quickContent {
    margin: 25px;
}

.productOverview {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-weight: bold;
    width: 25%;
    margin: auto 0;
}

.productOverview h2 {
    color: rgb(46, 76, 154);
    text-align: center;
    margin-bottom: 0;
    margin-top: 10px;
}

.productInfo {
    margin: 10px;
}

.productOverview .summary {
    margin-left: 10px;
}

.AboutContent {
    width: 70%;
    margin: 15px;
    line-height: 1.3;
}

.specTitle {
    color: rgb(89, 157, 40);
}

.iphoneOverview, .ipadOverview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 50px;
}

.airpodsOverview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-bottom: 50px;
}

.overviewContentAirpods {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.overviewContainer {
    border-radius: 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    text-align: center;
    text-decoration: none;
    color: rgb(255, 255, 255);
    text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.6);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}



.overviewContainer:hover {
    cursor: pointer;
    transform: scale(1.03);
}

.overviewContainer h2 {
    margin-bottom: 0;
    font-size: 25px;
}

.price {
    margin-top: 10px;
    font-weight: bold;
}

.overviewContent {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 15px;
    text-align: left;
}

.overviewButton {
    width: 150px;
    margin: 20px auto;
    font-size: 17px;
}

.pencilCompatibility, .watches {
    margin-right: 135px;
}

.watchImg {
    margin-top: 25px;
}

/* mac */

.studentDiscount {
    color: rgb(74, 129, 123);
    margin-bottom: 0;
    margin-top: 10px;
}

.secondaryButton {
    color: rgb(49, 49, 49);
    margin-bottom: 10px;
}

.quickBullets {
    text-align: left;
}

.overviewSummary {
    margin: 5px;
}

.overviewContainer .buttonStyle {
    margin-top: 0;
}

.chipConfig {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 50px;
}

.configInfo {
    display: flex;
    flex-direction: column;
}

.cardTitle {
    padding-top: 20px;
}

.prodImg {
    margin-bottom: 10px;
}

.goodBuy {
    color: green;
    margin: 0;
}

.cautionBuy {
    color: rgb(255, 123, 0);
    margin: 0;
}

.warningBuy {
    color: rgb(215, 16, 16);
    margin: 0;
}

.colouring {
    background-color: rgba(242, 248, 255, 0.8);
    border-radius: 24px;
    padding: 10px;
    margin: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    
    
}

/* iphone backgrounds */

.promax {
    background: linear-gradient(to top, rgb(87, 122, 187), rgb(14, 50, 98));
}

.pro {
    background: linear-gradient(to top, rgb(233, 177, 86), rgb(176, 71, 0));
}

.air {
    background: linear-gradient(to top, rgb(137, 198, 214), rgb(0, 112, 210));
}

.standard {
    background: linear-gradient(to top, rgb(161, 240, 208), rgb(10, 162, 71));
}

.entrylevel {
    background: linear-gradient(to top, rgb(199, 165, 217), rgb(193, 88, 183));
}

.sixteenplus {
    background: linear-gradient(to top, rgb(39, 212, 212), rgb(79, 199, 159));
}

.lastgen {
    background: linear-gradient(to top, rgb(191, 171, 227), rgb(71, 17, 195));
}

.flagship {
    background: linear-gradient(to top, rgb(255, 162, 55), rgb(255, 255, 255));
}
.secondary {
    background: linear-gradient(to top, rgb(131, 205, 255), rgb(255, 255, 255));
}
.mainstream {
    background: linear-gradient(to top, rgb(133, 255, 184), rgb(255, 255, 255));
}
.entry {
    background: linear-gradient(to top, rgb(255, 172, 217), rgb(255, 255, 255));
}
.previous {
    background: linear-gradient(to top, rgb(154, 138, 255), rgb(255, 255, 255));
}

/* ipad backgrounds */

.ipadC {
    background: linear-gradient(to top, rgb(255, 128, 206), rgb(255, 255, 255));
}
.ipadminiC {
    background: linear-gradient(to top, rgb(131, 228, 255), rgb(255, 255, 255));
}
.ipadairC {
    background: linear-gradient(to top, rgb(196, 141, 219), rgb(255, 255, 255));
}
.ipadproC {
    background: linear-gradient(to top, rgb(190, 232, 124), rgb(255, 255, 255));
}
.pencilC {
    background: linear-gradient(to top, rgb(255, 212, 133), rgb(255, 255, 255));
}

.ipadpro {
    background: linear-gradient(to top, rgb(226, 182, 148), rgb(215, 116, 11));
}

.ipadair {
    background: linear-gradient(to top, rgb(189, 139, 205), rgb(81, 38, 115));
}

.ipadmini {
    background: linear-gradient(to top, rgb(156, 209, 230), rgb(13, 113, 131));
}

.ipada16 {
    background: linear-gradient(to top, rgb(150, 192, 220), rgb(25, 113, 190));
}

.pencilpro {
    background: linear-gradient(to top, rgb(211, 143, 143), rgb(109, 32, 32));
}

.pencilusbc {
    background: linear-gradient(to top, rgb(146, 209, 148), rgb(29, 72, 28));
}

/* watch backgrounds */

.se3 {
    background: linear-gradient(to top, rgb(255, 141, 160), rgb(255, 60, 99));
}

.s11 {
    background: linear-gradient(to top, rgb(146, 209, 148), rgb(29, 72, 28));
}

.ultra3 {
    background: linear-gradient(to top, rgb(146, 203, 209), rgb(9, 195, 195));
}

/* mac backgrounds */

.neo {
    background: linear-gradient(to top, rgb(146, 203, 209), rgb(156, 218, 161));
}

.mbair {
    background: linear-gradient(to top, rgb(109, 147, 177), rgb(177, 209, 229));
}

.mbpropro {
    background: linear-gradient(to top, rgb(108, 108, 108), rgb(50, 50, 50));
}

.mbpro {
    background: linear-gradient(to top, rgb(219, 159, 159), rgb(134, 47, 47));
}


.imac {
    background: linear-gradient(to top, rgb(239, 199, 187), rgb(226, 115, 78));
}

.mini {
    background: linear-gradient(to top, rgb(168, 220, 229), rgb(42, 128, 139));
}

.studio {
    background: linear-gradient(to top, rgb(207, 207, 207), rgb(145, 145, 145));
}

.sd {
    background: linear-gradient(to top, rgb(187, 99, 207), rgb(215, 125, 80));
}

.xdr {
    background: linear-gradient(to top, rgb(87, 4, 212), rgb(196, 151, 213));
}

.neoC {
    background: linear-gradient(to top, rgb(128, 255, 190), rgb(255, 255, 255));
}
.airC {
    background: linear-gradient(to top, rgb(163, 218, 255), rgb(255, 255, 255));
}
.proC {
    background: linear-gradient(to top, rgb(141, 141, 141), rgb(255, 255, 255));
}
.imacC {
    background: linear-gradient(to top, rgb(255, 201, 158), rgb(255, 255, 255));
}
.miniC {
    background: linear-gradient(to top, rgb(94, 171, 204), rgb(255, 255, 255));
}

.studioC {
    background: linear-gradient(to top, rgb(132, 206, 117), rgb(255, 255, 255));
}

.displayC {
    background: linear-gradient(to top, rgb(255, 94, 40), rgb(255, 255, 255));
}

.xdrC {
    background: linear-gradient(to top, rgb(181, 155, 221), rgb(255, 255, 255));
}

/* MEDIA QUERIES */

/* Adjust landing page tiles */

@media (max-width: 1100px) {
    .deviceTiles {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width: 850px) {
    .deviceTiles {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 860px) {
    .platformTiles {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 600px) {
    .deviceTiles, .platformTiles {
        grid-template-columns: repeat(1,1fr);
    }
}


/* Adjust top overview tiles for smaller screens */

.macOverview {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 25px;
    margin-bottom: 50px;
}

@media (max-width: 1200px) {
    .macOverview {
        grid-template-columns: repeat(3, 1fr);
    } 
}

@media (max-width: 800px) {
    .macOverview {
        grid-template-columns: repeat(2, 1fr);
    } 
}

@media (max-width: 500px) {
    .macOverview {
        grid-template-columns: repeat(1, 1fr);
        gap: 10px;
    } 

    .macOverview .podsImg {
        width: 90px;
        margin-top: 25px;
    }

    .overviewLayout {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin: 0 25px;
    }

    .overviewSummary {
        margin: 0;
    }

    .overviewContainer{
        text-align: left;
    }

    .overviewContainer h3 {
        margin-bottom: 10px;
        margin-top: 25px;
    }


    .leftMobile {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .displayMobile, .overviewMobileBtn {
        display: flex;
    }

    .displayDesktop {
        display: none;
    }

    .overviewContentAirpods {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .overviewContentAirpods img {
        width: 150px;
    }

    .sd img, .xdr img, .imac img, .studio img, .mini img {
        width: 125px;
    }
}

/* Adjust main content for smaller screens */

@media (max-width: 1000px) {
    .productInfoContainer {
        flex-direction: column;
    }

    .productOverview {
        flex-direction: row;
        width: auto;
        
        justify-content: space-between;
        align-items: center;
    }

    .productOverview.prodImg {
        height: 100px;
    }

    .AboutContent {
        width: auto;
    }

    .smallLeft, .smallRight {
        display: flex;
        flex-direction: column;
        margin: 0 25px;
    }

    .smallLeft .prodImg {
        width: 200px;
        height: auto;
        margin: 0 auto;
    }

    .smallRight h2, .smallRight p {
        margin: 5px;
    }

}

@media (max-width: 600px) {
    .productOverview {
        flex-direction: column;
    }

    .smallLeft, .smallRight {
        max-width: none;
    }

    .smallRight, .cardTitle {
        padding-top: 0;
    }

    .smallRight {
        margin-top: 25px;
    }

}

/* mobile navigation*/

@media (max-width: 768px) {

    .hamburger {
    display: block;
    background: none;
    border: none;
    font-size: 30px;
    color: white;
    cursor: pointer;
    }

    .utilityButtons {
        margin-top: 130px;
  
        color: white;
    }

    .utilityButtonStyling {
        color: white;
    }

    .navButtonStyling {
        display: flex;
        justify-content: space-between;
        margin-right: 5px;

        width: 100%;

        border: none;
        background-color: rgb(46, 76, 154);
        font-size: 25px;
    }

    .navButtonStyling:hover {
        border-radius: 0px;
        width: 100%;
    }

    .mobileNavButtons {
        flex-direction: column;
        align-items: start;
        padding-left: 0;
        margin: 0;
        font-size: 25px;
        position: relative;
        z-index: 1000;
        list-style: none;
    }

    .mobileNav.open {
        display: block;
        text-decoration: none;
        width: 100%;
        padding-left: 0;

        background-color: rgb(46, 76, 154);
    }

    .navMenu {
        display: none;
    }

}

@media (max-width: 490px) {
    
    .logo {
        height: 25px;
        top: 0px;
    }
}

/* adjust appearance of footer on mobile */

@media (max-width:1100px) {
    .align-footer {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        justify-items: center;
    }  
}

/* home page media layout */

@media (max-width: 1200px) {
    
    .upcomingText {
        margin-left: 25px;
        text-decoration: none;
    }
}

@media (max-width: 1000px) {

    .pageTitle {
        text-align: center;
    }
    
    .subHeading {
        text-align: center;
    }

    .homeFeaturedLayout {
        grid-template-columns: repeat(3, 1fr); 
        justify-items: center;
    }

    .subFeature {
        display: contents;
    }

    .featuredContainer,
    .subFeaturedContainer {
        flex-direction: column; 
        width: 275px;
    }

    .headline,
    .subHeadline {
        width: 275px; 
        max-width: none;
    }
}

@media (max-width: 900px) {

    .featuredContainer,
    .subFeaturedContainer {
        flex-direction: column;
        width: 250px;
    }

    .headline,
    .subHeadline {
        width: 250px;
        max-width: none;
    }

}

@media (max-width: 830px) {
    .homeFeaturedLayout {
        grid-template-columns: repeat(1, 1fr);
    }

    .featuredContainer,
    .subFeaturedContainer {
        flex-direction: column;
        width: 325px;
    }

    .headline,
    .subHeadline {
        width: 325px;
        max-width: none;
    }
}

@media (max-width: 650px) {
    .calIcon {
        display: none;
    }

    .upcomingEvent {
        
        text-align: center;
        text-decoration: none;
    }

    .WWDCButton {
        display: flex;
        margin: auto;
    }

    .upcomingText {
        margin-left: auto;
        text-decoration: none;
    }

}

@media (max-width: 800px) {
    .releasesContainer {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 580px) {
    .releasesContainer {
        grid-template-columns: repeat(1, 1fr);
    }
}
