html {
    scroll-behavior: smooth;
}

.betaTag {
    background-color: rgba(255, 181, 83, 0.8);
    border-radius: 28px;
    padding: 6px 8px;
    width: 38px;
    backdrop-filter: blur(10px);

    font-size: 14px;
    color: rgb(255, 94, 0);
    font-weight: bold;

    margin-top: 30px;
}

.deadEnd {
    background-color: rgba(255, 181, 83, 0.8) !important;
    color: rgb(197, 56, 0) !important;
    backdrop-filter: blur(10px);
}

.informationalBanner {
    background-color: rgba(255, 181, 83, 0.8);
    border: solid rgb(255, 94, 0);
    width: 100%;
    border-radius: 28px;
    text-align: center;
    padding: 15px 0;
    margin-top: 25px;
}

.finePrint {
    text-align: center;
}

.bannerTitle {
    color: rgb(255, 94, 0);
}

.pageTag {
    display: flex;
    flex-direction: row;
    gap: 3px;
}

/* cookies */

.cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    color: rgb(49, 49, 49);
    text-align: center;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 9999;

    width: 400px;
    border: none;
    border-radius: 28px;
    backdrop-filter: blur(10px);
    background-color: rgba(183, 183, 183, 0.5);
}

.cookieTitle {
    margin: 0;
    font-size: 18px;
    color: rgb(46, 76, 154);
}

.cookieInfo {
    margin-bottom: 15px;
    margin-top: 0;
}

.cookie_policy {
    background-color: rgba(46, 76, 154, 0.8);
}

.cookie_policy:hover {
    background-color: rgba(30, 50, 100, 0.8);
}

.cookieButtons {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

}

.managePanel {
    background-color: rgb(242, 248, 255);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    border-radius: 28px;
    padding: 15px;
    width: 255px;
    margin-top: 15px;
}

.manageTitle {
    margin-top: 0;
}

.MANAGE {
    justify-content: left;
}

.cookieButtonStyle {

    align-items: center;
    border-radius: 28px;
    border: none;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: white;
    padding: 12px 24px;
}

#accept-cookies {
    background-color: rgba(89, 157, 40, 0.8);
}

#accept-cookies:hover {
    background-color: rgba(59, 105, 27, 0.8);
}

#reject-cookies {
     background-color: rgba(236, 103, 101, 0.8)
}

#reject-cookies:hover {
     background-color: rgba(166, 73, 71, 0.8)
}

.policyLink {
    color: blue;
    text-decoration: underline;
}

.policyLink:hover {
    color: rgb(0, 132, 255);
    text-decoration: underline;
}

@media (max-width: 480px) {
    .cookie-banner {
        width: 300px;
        margin: 0 auto;
        bottom: 10px;
    }
}

/* admin buttons */

.adminGradient {
    background: linear-gradient(
        100deg,
        #46c000 0%,
        #f5b700 15%,
        #b13cff 30%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.adminFloatingControls {
    position: fixed;
    bottom: 20px;
    right: 20px;

    display: flex;
    gap: 20px;

    background: rgba(89, 157, 40, 0.8);
    backdrop-filter: blur(20px);

    padding: 10px;
    border-radius: 999px;

    z-index: 1000;

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

.adminDashIcon {
    color: white;
    font-size: 150px;
    margin: 25px 0;
}


.libraryContainer {
    display: flex;
    flex-direction: column;

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

}

.articleID {
    font-size: 12px;
    font-style: italic;
    margin-bottom: 0;
    color: rgb(46, 76, 154);
}

.adminButtons {
    display: flex;
    flex-direction: row;
    padding-top: 10px;
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    gap: 10px;
    margin-bottom: 10px;
}

.articleButtons {
    display: flex;
    flex-direction: row;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    gap: 10px;
    margin-bottom: 10px;
}

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

    border: none;
    text-decoration: none;
    background-color: rgba(89, 157, 40, 0.85);
    font-size: 17px;
    color: rgb(255, 255, 255);

    padding: 8px 24px;
    margin-bottom: 0;
    width: 18px;

    transition: transform 0.2s ease, opacity 0.2s ease;
}

.shareArticle:hover {
  transform: scale(1.1);
  background-color: rgba(63, 103, 34, 0.8);
}

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

    border: none;
    text-decoration: none;
    background-color: rgba(89, 157, 40, 0.85);
    font-size: 17px;
    color: rgb(255, 255, 255);

    padding: 8px 18px;
    margin-bottom: 0;
    width: 15px;

    transition: transform 0.2s ease, opacity 0.2s ease;
}

.viewArticle:hover {
  transform: scale(1.1);
  background-color: rgba(63, 103, 34, 0.8);
}

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

    border: none;
    text-decoration: none;
    background-color: rgba(236, 103, 101, 0.85);
    font-size: 17px;
    color: rgb(255, 255, 255);

    padding: 8px 18px;
    margin-bottom: 0;
    width: 50px;

    transition: transform 0.2s ease, opacity 0.2s ease;
}

.deleteArticle:hover {
  transform: scale(1.1);
  background-color: rgba(163, 73, 72, 0.85);
}

.editArtBtn {
    margin: 0 auto;
}

.leftMargin {
    margin-left: 75px;
}

.orange {
    color: rgb(255, 70, 70);
    font-weight: bold;
}

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

    border: none;
    text-decoration: none;
    background-color: rgba(236, 191, 101, 0.85);
    font-size: 17px;
    color: rgb(255, 255, 255);

    padding: 8px 18px;
    margin-bottom: 0;
    width: 15px;

    transition: transform 0.2s ease, opacity 0.2s ease;
}

.editArticle:hover {
  transform: scale(1.1);
  background-color: rgba(169, 136, 71, 0.85);
}

.LOGOUT {
    right: 80px;
}

.adminFloatingControls a {
    color: white;
    text-decoration: none;
    font-size: 22px;
}

.adminFloatingControls:hover {
  transform: scale(1.1);
}

.confirmTitle {
    margin-top: 0;
    font-size: 18px;
    text-align: center;
    margin-bottom: 10px;
    
}

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

.deleteIcon {
    color: rgb(46, 76, 154);
    font-size: 85px;
    margin: 15px;
}

.subInfo {
    text-align: center;
    font-size: 14px;
    font-style: italic;
    margin-top: 0;
}

.cancelButton {
    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;
    margin-bottom: 8px;
}

.backButton {
    border-radius: 28px;
    width: 235px;
    height: 45px;
    border: none;
    background-color: rgba(236, 103, 101, 0.85);
    font-size: 18px;
    font-weight: bold;
    color: white;
    margin-bottom: 8px;
}

a.backButton {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.deleteButton {
    border-radius: 28px;
    width: 235px;
    height: 45px;
    border: none;
    background-color: rgba(236, 103, 101, 0.85);
    font-size: 18px;
    font-weight: bold;
    color: white;
}

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

.deleteButton:hover, .backButton:hover {
    background-color: rgba(163, 73, 72, 0.85);
}

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

}

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

.newArticleForm {
    width: 80%;
    margin: 0 auto;
}

.newArticleForm form {
    display: flex;
    flex-direction: column;
}

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

textarea.headlineTA {
    resize: none;
}

textarea.contentTA {
    resize: vertical;
}

.featuredCheck {
    margin-bottom: 20px;
}

.alignment {
    align-self: center;
}

.buttonLayout {
    display: flex;
    flex-direction: row;
    gap: 15px;
    width: 80%;
    margin: 0 auto;
}

.editArchive {
    display: flex;
    margin-left: 15px;
    margin-top: 15px;
}

.pdfLink {
    margin-bottom: 20px;
    margin-top: 0;
    font-size: 12px;
}

/* headers with search bar */

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

.searchBar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
    margin-bottom: 35px;
}

.BARsearch {
    height: 40px;
    width: 275px;
    border-radius: 28px;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    border: none;

    padding-left: 15px;
}

.searchButtonLib {
    height: 40px;
    padding: 0 18px;
    border-radius: 28px;
    font-size: 16px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(89, 157, 40, 0.85);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    color: white;
}

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

/* article style */

.display {
    display: none;
}



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

    overflow: visible;
}

.articleContainer{
    max-width:900px;
    margin:0 auto;
    padding:10px 20px;
}

.articleCategory{
    color: rgb(89, 157, 40);
    font-weight: bold;
    margin-bottom:10px;
    font-size: 1.15rem;
}

.articleHeadline{
    font-size:2.2rem;
    line-height:1.1;
    margin-bottom:20px;
    margin-top: 15px;
}

.articleDate{
    color:rgb(71, 71, 71);
    margin-bottom:25px;
}

.articleHeroImage{
  display: flex;
  justify-content: center;
    width:100%;
    border-radius:18px;
    object-fit:cover;
    margin-bottom:15px;
}

.articleBody{
    margin-top: 25px;
    font-size:1.15rem;
    line-height:1.35;
    max-width:1000px;
}

.articleContainer img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

/* 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;
}

.platformsRow {
    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;
}

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

.platformsCard {
    width: 325px;
    height: 450px;

    background: white;
    border-radius: 28px;
    border: none;
    padding: 10px 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);

    scroll-snap-align: start;
}


.productCard {
    background: white;
    border-radius: 28px;
    border: none;
    padding: 10px 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);
}

.platformsCard .cardImg {
    width: 100%;
    margin: 0 auto;
}

.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: 0;
    margin-bottom: 25px;
    font-size: 18px;
}

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

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

.homeMargin {
    margin-top: 35px;
}

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

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

.topicsCarousel {
    display: flex;
    justify-content: end; 
    gap: 7px;
    margin-top: 0px;
    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;
}

.mct {
    color: orange;
    font-size: 40px;
}

.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;
}

/* RETURN TO TOP */

#backToTop {
  position: fixed;
  bottom: 20px;
  left: 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;
}

h1, h2, h3, h4 {
    font-family: 'Rubik', sans-serif;
}



.hide {
    display: none;
}

.displayMobile {
    display: none;
}

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

    overflow: visible;
}

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

.errorIcon {
    font-size: 100px;
    margin: 0;
    margin-top: 50px;
    color: rgba(228, 71, 69, 0.85);
}

.errorIcon2 {
    font-size: 100px;
    margin: 0;
    margin-top: 50px;
    color: rgba(255, 189, 34, 0.85);
}

.errorText {
    font-size: 45px;
    margin-top: 15px;
    margin-bottom: 0;
    text-align: center;
}

.subError {
    margin-bottom: 15px;
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
}

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

.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: 28px;
    position: relative;
}

.mobileLogo {
    display: none;
}

.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 {
    border-radius: 28px;
    background-color: rgb(33, 54, 109);
}

.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-toggle .fa-xmark {
    display: none;
}

#hamburger-toggle.open .fa-bars {
    display: none;
}

#hamburger-toggle.open .fa-xmark {
    display: inline-block;
}

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

.mobileUtility {
    display: none;
}

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

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

.backBtn {
    display: none;
}

.mobileNav {
    display: none;
}

.mobileNav.open {
    display: block;
    background-color: rgb(46, 76, 154);
    padding-bottom: 15px;
    padding-top: 15px;
}

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

#mobileSubMenu {
    opacity: 0;
    pointer-events: none;
}



.subPanel a {
    color: white;
    font-size: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 16px;
    text-decoration: none;
}

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

.subIcon {
    margin-left: auto;
}

#mobileSubMenu.open {
    opacity: 1;
    pointer-events: auto;
}

.mobileNav {
    position: absolute;
    top: 104px;
    width: 100%;
}

.mobileSubMenu {
    position: absolute;
    top: 104px;

    width: 100%;
    height: 100%;
    z-index: 1001;
}

.subPanel {
    display: none;
    padding: 20px;
}

.subPanel.active {
    display: flex;
    flex-direction: column;
    background-color: rgb(46, 76, 154);
}

.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, .deleteDialog::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 ================ */

.container-footer {
    width: 1200px;
    margin: 0 auto;
}

.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(5,1fr);
    margin: 0 auto;
    gap: 25px;
    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: 250px;
    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;
}

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

/* Homepage styling */

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

.subPosition {
    margin-top: 0px;
}

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

    margin-bottom: 35px;

}

.homeFeaturedLayout a {
    text-decoration: none;
}

/* 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;
    background-color: rgba(242, 248, 255, 0.8);
}

.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;
    background-color: rgba(242, 248, 255, 0.8);
}

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

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

.featuredImg {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.headline {
    width: 450px;
}

.subHeadline {
    width: 250px;
}

/* ===== 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;
    color: rgb(49, 49, 49);
}

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

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

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

.pageHeroTitle {
    font-weight: bold;
    margin-bottom: 15px;
}

.pageSecondaryTitleNoSub {
    font-weight: bold;
    margin-bottom: 35px;
    font-size: 30px;
}

.pageSecondaryTitle {
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 15px;
}

.titlePadding {
    margin-bottom: 20px;
    margin-top: 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: 0px;
    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(191, 173, 255), rgb(20, 160, 203));
}

.platformsContainer {
    background: linear-gradient(to top, rgb(255, 255, 196), rgb(35, 130, 122));
}

.servicesContainer {
    background: linear-gradient(to top, rgb(255, 131, 189), rgb(255, 72, 72));
}

.writeContainer {
    background: linear-gradient(to top, rgb(153, 214, 115), rgb(69, 191, 16));
}

.manageContainer {
    background: linear-gradient(to top, rgb(255, 227, 160), rgb(247, 185, 52));
}

.viewContainer {
    background: linear-gradient(to top, rgb(228, 164, 255), rgb(172, 52, 247));
}

.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: 16px;
    font-weight: bold;
    color: white;

    padding: 12px 12px;
    margin-bottom: 20px;
    margin-top: 25px;
}

.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 12px;
    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;
    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: 250px;
    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;
}

.releaseCard {
    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: 250px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 40px;

    margin-bottom: 35px;

}

.backgroundImageHome {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/27wallpaper.png");
}

.backgroundImageHome2 {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/blueprint.png");
}

.backgroundImageHome3 {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/appleparkinside.png");
}

.backgroundImageHome4 {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/goldengate.avif");
}

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

.backgroundImageNews2 {
    background-image: 
    linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url("/images/ipadoswallpaper.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: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    justify-content: center;
    margin-bottom: 30px;
}

.newsRowLayout {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    justify-content: center;
    margin-bottom: 30px;

    margin-top: 15px;
    
}

.latestContainer {
    display: flex;
    flex-direction: column;

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

    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background-color: rgba(242, 248, 255, 0.8);

    color: rgb(46, 76, 154);
    padding-bottom: 12px;
    text-decoration: none;
}

.newsArticleContainer {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 28px;
    overflow: hidden;

    height: auto;
    width: 275px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background-color: rgba(242, 248, 255, 0.8);

    color: rgb(46, 76, 154);
    padding-bottom: 12px;
    text-decoration: none;
}

.latestContainer a, .newsArticleContainer a {
    text-decoration: none;
}

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


.latestImg {
    width: 100%;
    height: 170px;
    object-fit: cover;
}

.latestTextContent {
    margin: 0 15px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.latestTextContent.date {
    margin-top: auto;
}

.latestTitle {
    line-clamp: 2;
    text-decoration: none;
    color: rgb(49, 49, 49);
}

/* 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: grid;
    grid-template-columns: repeat(3, 370px);
    justify-content: center;
    gap: 25px;

    margin: 25px 0;
}

.newsTitleSize {
    color: rgb(46, 76, 154);
}

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

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

a.latestNewsContainer {
    text-decoration: none;
    color: rgb(49, 49, 49);
    background-color: rgba(242, 248, 255, 0.8);
}

.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;
}

.topicButtons {
    display: flex;
    flex-direction: row;
    margin-bottom: 35px;
}

.homeTopicButton {
    border-radius: 28px;

    border: none;
    text-decoration: none;
    background-color: rgb(255, 255, 255);
    font-size: 14px;
    font-weight: bold;

    padding: 8px 12px;
    margin-bottom: 0px;
    margin-top: 20px;

    margin-right: 15px;
    text-align: center;

    width: 95px; 
    transition: transform 0.2s ease, box-shadow 0.2s ease;

}

.margin2 {
    margin-top: 30px;
}

.margin3 {
    margin-top: 15px;
}

.topic1 {
    border: 2px solid rgb(31, 116, 155);
    color: rgb(31, 116, 155);
}

.topic1:hover {
    border: 2px solid rgb(31, 116, 155);
    background-color: rgb(31, 116, 155);
    color: rgb(255, 255, 255);
}

.topic2 {
    border: 2px solid rgb(242, 133, 23);
    color: rgb(242, 133, 23);
}

.topic2:hover {
    border: 2px solid rgb(242, 133, 23);
    background-color: rgb(242, 133, 23);
    color: rgb(255, 255, 255);
}

.topic3 {
    border: 2px solid rgb(194, 9, 102);
    color: rgb(194, 9, 102);
}

.topic3:hover {
    border: 2px solid rgb(194, 9, 102);
    background-color: rgb(194, 9, 102);
    color: rgb(255, 255, 255);
}

.topic4 {
    border: 2px solid rgb(6, 126, 8);
    color: rgb(6, 126, 8);
}

.topic4:hover {
    border: 2px solid rgb(6, 126, 8);
    background-color: rgb(6, 126, 8);
    color: rgb(255, 255, 255);
}

.tagButtons {
    margin-bottom: 0px;
}

.tagButton {
    border-radius: 28px;

    border: none;
    text-decoration: none;
    background-color: rgb(255, 255, 255);
    border: 2px solid rgb(46, 76, 154);
    font-size: 17px;
    font-weight: bold;
    color: rgb(46, 76, 154);

    padding: 12px 15px;
    margin-bottom: 20px;
    margin-top: 5px;

    margin-right: 15px;

    width: 146.92px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;

}

.tagButton:hover {
    transform: scale(1.06);
    color: rgb(46, 76, 154);
    border: 2px solid rgb(46, 76, 154);
}

.tagButton.active {
    background-color: rgb(46, 76, 154);
    color: white;
    border: none;
}

.tagButtonPlat {
    border-radius: 28px;

    border: none;
    text-decoration: none;
    background-color: rgb(255, 255, 255);
    border: 2px solid rgb(46, 76, 154);
    font-size: 17px;
    font-weight: bold;
    color: rgb(46, 76, 154);

    padding: 12px 15px;
    margin-bottom: 20px;
    margin-top: 5px;

    margin-right: 15px;
    width: 174.6px; 
    transition: transform 0.2s ease, box-shadow 0.2s ease;

}

.tagButtonPlat:hover {
    transform: scale(1.06);
    color: rgb(46, 76, 154);
    border: 2px solid rgb(46, 76, 154);
}

.categorySection {
    display: none;
}

.categorySection.active {
    display: block;
}

.tagButtonPlat.active {
    background-color: rgb(46, 76, 154);
    color: white;
    border: none;
}

.subDisclaimer {
    color: rgb(255, 85, 0);
    font-weight: bold;
}

.specialEventButton {
    border-radius: 28px;

    border: none;
    text-decoration: none;
background: linear-gradient(
    135deg,
    #050607 0%,
    #0A0D12 25%,
    #1E3E6B 65%,
    #4F8CFF 80%,
    #FFD08A 90%
);
    border: none;
    font-size: 17px;
    font-weight: bold;
    color: white;
    border: 2px solid rgb(0, 0, 0);

    padding: 12px 15px;
    margin-bottom: 20px;
    margin-top: 25px;

    margin-right: 15px;

    width: 146.92px; 
    transition: transform 0.2s ease, box-shadow 0.2s ease;

}

.specialEventButton:hover {
    transform: scale(1.03);
    color: rgb(82, 82, 82);
    border: 2px solid rgb(82, 82, 82);
}

.specialEventButton.active {
    background-color: black;
}

.topicSection {
    display: none;
}

.topicSection.active {
    display: block !important;
}


/* Devices */

.deviceTiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    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;

}

.os-gradient {
    background: linear-gradient(90deg, #FF2D55, #FF9500, #dab511);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}


.ai-gradient {
    background: linear-gradient(90deg, #0A84FF, #5E5CE6, #BF5AF2);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.osTile a, .osTile {
    text-decoration: none;
}

.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: 16px;
}

.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(229, 68, 100), rgb(255, 255, 255));
}

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

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

.hermesC {
    background: linear-gradient(to top, rgb(255, 149, 50), rgb(255, 255, 255));
}

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

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

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

.hermes {
    background: linear-gradient(to top, rgb(251, 209, 132), rgb(221, 121, 0));
}


/* 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));
}

/* home & audio backgrounds */

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

.podsC {
    background: linear-gradient(to top, rgb(156, 204, 61), rgb(255, 255, 255));
}

.podsproC {
    background: linear-gradient(to top, rgb(77, 134, 165), rgb(255, 255, 255));
}

.podsmaxC {
    background: linear-gradient(to top, rgb(199, 93, 93), rgb(255, 255, 255));
}

.homepodC {
    background: linear-gradient(to top, rgb(75, 94, 155), rgb(255, 255, 255));
}

.earpods {
   background: linear-gradient(to top, rgb(255, 204, 170), rgb(255, 162, 63)); 
}

.airpodsanc {
   background: linear-gradient(to top, rgb(213, 255, 140), rgb(123, 180, 37));  
}

.airpodspro {
   background: linear-gradient(to top, rgb(149, 196, 241), rgb(32, 75, 132));  
}

.airpodsmax {
   background: linear-gradient(to top, rgb(237, 181, 254), rgb(183, 56, 139));  
}

.homepodmini {
   background: linear-gradient(to top, rgb(181, 254, 192), rgb(56, 183, 107));  
}

.marginB {
    margin-bottom: 25px !important;
}

/* iOS PAGE */

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

.essentialsCard {
    background: white;
    border-radius: 28px;
    border: none;
    padding: 10px 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);
}

.essentialsCard .cardImg, .appCard .cardImg {
    width: 150px;
    margin: 0 auto;
}

.essentialsCard .featuredTitle, .essentialsCard .cardInfo {
    text-align: center;
}

.appCard {
    background: white;
    border-radius: 28px;
    border: none;
    padding: 10px 5px;
    display: flex;
    flex-direction: row;
    text-align: center;
    align-items: center;
    height: 120px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    flex-shrink: 0;
    margin-bottom: 15px;
    text-decoration: none;
    color: rgb(49, 49, 49);

}

/* MEDIA QUERIES */

@media (min-width: 769px) {
    .mobileNav,
    #mobileSubMenu,
    .hamburger {
        display: none !important;
    }
}

@media (max-width: 750px) {

    .appCard {
    height: 180px;

    }
}

@media (max-width: 550px) {

    .appCard {
    height: 230px;

    }
}

@media (max-width: 415px) {

    .appCard {
    height: 280px;

    }
}

/* Adjust landing page tiles */

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

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

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

    .essentialsCard .cardImg {
        width: 100px;
    }
}

@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);
    }

    .writePopover {
        width: auto;
    }
}

@media (max-height: 800px) {
    .writePopover {
        height: auto;
    }
}


/* 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: 1000px) {
        .homeLatestLayout {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        justify-content: start;
    }

        .homeLatestLayout.latestImg {
        width: 100%;
        height: 140px;
        object-fit: cover;
    }

    .homeLatestLayout.latestTitle {
        font-size: 16px;
    }
    
}

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

    .homeLatestLayout {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    justify-content: start;
    }

}

@media (max-width: 500px) {

        .homeLatestLayout .latestImg {
        width: 100%;
        height: 100px;
        object-fit: cover;
    }

    .homeLatestLayout.latestTitle {
        font-size: 16px;
    }

    .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) {

    .logo {
        display: none;
    }

    .mobileLogo {
        position: absolute;
        top: 12px;
        left: 50%;
        transform: translateX(-50%);
        height: 35px;
        display: block;
    }

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

    .backBtn {
    display: block;
    background: none;
    border: none;
    font-size: 30px;
    padding: 6px 0;
    color: white;
    cursor: pointer;
    margin-left: 15px;
    }


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

    .utilityButtonStyling {
        color: white;
        font-size: 25px;
        padding: 6px 0;
    }

    .navButtonStyling {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 auto;

        width: 90%;

        border: none;

        font-size: 20px;
        padding: 10px 16px;
        color: white;
        background-color: rgb(46, 76, 154);
    }

    

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

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

    .navigationBar {
        height: 50px;
    }


    .navMenu {
        display: none;
    }

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

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

    .searchBar {
        margin-top: 0;
    }

}

@media (max-width: 500px) {

        .mobileLogo {
        position: absolute;
        height: 25px;
        margin-top: 8px;

    }
}

@media (max-width: 700px) {
    
    .leftMargin {
        margin-left: 0;
    }


}

/* adjust appearance of footer on mobile */

@media (max-width:1250px) {
    .container-footer {
        width: 1000px;

    }
}

@media (max-width:1024px) {
    .container-footer {
        width: 800px;

    }
}

@media (max-width:825px) {
    .container-footer {
        width: 600px;
        margin: 0 auto;
    }
}

@media (max-width:625px) {
    .container-footer {
        width: 500px;
        margin: 0 auto;
    }

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

    .footer-container {
        margin-bottom: 10px;
        margin-top: 1px;
    }
}

@media (max-width:530px) {
    .container-footer {
        width: 400px;
        margin: 0 auto;
    }
}

@media (max-width:430px) {
    .container-footer {
        width: 300px;
        margin: 0 auto;
    }

    .align-footer {
        display: grid;
        grid-template-columns: repeat(2,1fr);
    }

    .footer-container {
        margin-bottom: 10px;
        margin-top: 1px;
    }
}

/* home page media layout */

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

@media (max-width: 1100px) {

    .homeFeaturedLayout {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 16px;
        padding-inline: 1px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 10px;

    }

    .subFeature {
        display: flex;
    }

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

    .featuredContainer img,
    .subFeaturedContainer img {
        width: 100%;
        height: 160px;
        object-fit: cover;
    }
}


@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);
    }
}

/* MOBILE / SMALLER SCREENS */

@media (max-height: 840px) {

    .compatPopover {
        height: 90vh;
    }
}

@media (max-width: 700px) {

    .topic4 {
        display: none;
    }
}

@media (max-width: 500px) {

    .topic1 {
        display: none;
    }
}


@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;
    }

    .tagButtons {

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

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

    .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: 1200px) {
    .latestNews {
        grid-template-columns: repeat(3,1fr);
    }
}

@media (max-width: 1175px) {
    .newsRowLayout {
        display: grid;
        grid-template-columns: repeat(4,1fr);
    }

    .newsArticleContainer {
        width: 250px;
    }

    .latestNewsContainer {
    width: auto;
   }
}

@media (max-width: 1100px) {

   .newsArticleContainer {
    width: auto;
   }

}

.pinnedTitle {
    display: none;
}

@media (max-width: 850px) {

    .display {
    display: block;
    }
}

@media (max-width: 800px) {

    .latestNews {
        grid-template-columns: repeat(2,1fr);
        width: auto;
        height: auto;
        margin-bottom: 50px;
    }

    .pinnedTitle {
        display: block;
    }

}

@media (max-width: 600px) {

    .latestNews {
        grid-template-columns: repeat(1,1fr);
        width: 370px;
        margin-bottom: 25px;
        margin: 0 auto;
    }

        .pinneD.latestImg {
        display: none;
    }

    .pinneD.homeLatestLayout {
        grid-template-columns: repeat(1,1fr);
        width: 370px;
        margin: 0 auto;
    }

}

@media (max-width: 415px) {

    .latestNews {
        grid-template-columns: repeat(1,1fr);
        width: auto;
        margin-bottom: 25px;
    }

    .pinneD.homeLatestLayout {
        width: auto;
    }

}

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

    .newsArticleContainer {
        width: auto;
    }
}

@media (max-width: 500px) {
    .newsArticleContainer .latestImg {
        height: 120px;
    }
}

@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;
    }

}
