# -*- coding: utf-8 -*-
import webbrowser

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QGuiApplication

from Controller.Controller import controller
from UI.map import setupMap
from UI.youtubePlayer import YoutubePlayer


class MainWindow(object):
    pagesList = []

    def setupUI(self, mainWindow):
        self.quizController = controller.quizController
        mainWindow.setObjectName("mainWindow")
        mainWindow.resize(1230, 730)
        # setWindowIcon(QtGui.QIcon('C:\\PythonScripts\\thunderbird1_ico.ico'))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(mainWindow.sizePolicy().hasHeightForWidth())
        mainWindow.setSizePolicy(sizePolicy)
        mainWindow.setMinimumSize(QtCore.QSize(1230, 730))
        mainWindow.setMaximumSize(QtCore.QSize(1230, 733))
        mainWindow.setAutoFillBackground(False)
        mainWindow.setTabShape(QtWidgets.QTabWidget.Rounded)
        self.centralwidget = QtWidgets.QWidget(mainWindow)
        self.centralwidget.setEnabled(True)
        self.centralwidget.setStyleSheet("background-color : rgb(22, 25, 39)")
        self.centralwidget.setObjectName("centralwidget")
        self.layoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.layoutWidget.setGeometry(QtCore.QRect(0, 0, 1231, 731))
        self.layoutWidget.setObjectName("layoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setSpacing(0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.Sidebar = QtWidgets.QFrame(self.layoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.Sidebar.sizePolicy().hasHeightForWidth())
        self.Sidebar.setSizePolicy(sizePolicy)
        self.Sidebar.setMaximumSize(QtCore.QSize(298, 16777215))
        self.Sidebar.setStyleSheet("background-color : rgba(101, 108, 131, 30)")
        self.Sidebar.setFrameShape(QtWidgets.QFrame.Box)
        self.Sidebar.setFrameShadow(QtWidgets.QFrame.Plain)
        self.Sidebar.setLineWidth(-13)
        self.Sidebar.setMidLineWidth(30)
        self.Sidebar.setObjectName("Sidebar")
        self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.Sidebar)
        self.verticalLayoutWidget_2.setGeometry(QtCore.QRect(-30, 100, 331, 561))
        self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2")
        self.SidebarButtons = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2)
        self.SidebarButtons.setContentsMargins(0, 0, 0, 0)
        self.SidebarButtons.setSpacing(0)
        self.SidebarButtons.setObjectName("SidebarButtons")
        self.HomeButton_35 = QtWidgets.QHBoxLayout()
        self.HomeButton_35.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.HomeButton_35.setContentsMargins(0, 0, -1, -1)
        self.HomeButton_35.setSpacing(6)
        self.HomeButton_35.setObjectName("HomeButton_35")
        self.HomeButton_36 = QtWidgets.QPushButton(self.verticalLayoutWidget_2)
        self.HomeButton_36.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.HomeButton_36.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.HomeButton_36.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("Assets/Icons/home.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.HomeButton_36.setIcon(icon)
        self.HomeButton_36.setIconSize(QtCore.QSize(42, 42))
        self.HomeButton_36.setObjectName("HomeButton_36")
        self.HomeButton_35.addWidget(self.HomeButton_36, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.HomeLabel_18 = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        font.setKerning(True)
        self.HomeLabel_18.setFont(font)
        self.HomeLabel_18.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.HomeLabel_18.setStyleSheet("background-color: rgba(0,0,0,0);\ncolor: white;")
        self.HomeLabel_18.setScaledContents(False)
        self.HomeLabel_18.setAlignment(QtCore.Qt.AlignCenter)
        self.HomeLabel_18.setWordWrap(False)
        self.HomeLabel_18.setIndent(0)
        self.HomeLabel_18.setObjectName("HomeLabel_18")
        self.HomeButton_35.addWidget(self.HomeLabel_18, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
        self.SidebarButtons.addLayout(self.HomeButton_35)
        self.ProductsButton = QtWidgets.QHBoxLayout()
        self.ProductsButton.setObjectName("ProductsButton")
        self.ProductButton = QtWidgets.QPushButton(self.verticalLayoutWidget_2)
        self.ProductButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.ProductButton.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.ProductButton.setText("")
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("Assets/Icons/spa.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.ProductButton.setIcon(icon2)
        self.ProductButton.setIconSize(QtCore.QSize(42, 42))
        self.ProductButton.setObjectName("ProductButton")
        self.ProductsButton.addWidget(self.ProductButton, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.ProductLabel = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        font.setKerning(True)
        self.ProductLabel.setFont(font)
        self.ProductLabel.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.ProductLabel.setStyleSheet("background-color: rgba(0,0,0,0);\ncolor: white")
        self.ProductLabel.setScaledContents(False)
        self.ProductLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.ProductLabel.setWordWrap(False)
        self.ProductLabel.setIndent(0)
        self.ProductLabel.setObjectName("ProductLabel")
        self.ProductsButton.addWidget(self.ProductLabel, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
        self.SidebarButtons.addLayout(self.ProductsButton)
        self.TutorialsButton = QtWidgets.QHBoxLayout()
        self.TutorialsButton.setObjectName("TutorialsButton")
        self.TutorialsButton_2 = QtWidgets.QPushButton(self.verticalLayoutWidget_2)
        self.TutorialsButton_2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.TutorialsButton_2.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.TutorialsButton_2.setText("")
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap("Assets/Icons/menu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.TutorialsButton_2.setIcon(icon3)
        self.TutorialsButton_2.setIconSize(QtCore.QSize(42, 42))
        self.TutorialsButton_2.setObjectName("TutorialsButton_2")
        self.TutorialsButton.addWidget(self.TutorialsButton_2, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.TutorialsLabel = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        font.setKerning(True)
        self.TutorialsLabel.setFont(font)
        self.TutorialsLabel.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.TutorialsLabel.setStyleSheet("background-color: rgba(0,0,0,0);\ncolor: white")
        self.TutorialsLabel.setScaledContents(False)
        self.TutorialsLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.TutorialsLabel.setWordWrap(False)
        self.TutorialsLabel.setIndent(0)
        self.TutorialsLabel.setObjectName("TutorialsLabel")
        self.TutorialsButton.addWidget(self.TutorialsLabel, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
        self.SidebarButtons.addLayout(self.TutorialsButton)
        self.ArticlesButton = QtWidgets.QHBoxLayout()
        self.ArticlesButton.setObjectName("ArticlesButton")
        self.ArticlesButton_2 = QtWidgets.QPushButton(self.verticalLayoutWidget_2)
        self.ArticlesButton_2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.ArticlesButton_2.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.ArticlesButton_2.setText("")
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap("Assets/Icons/web.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.ArticlesButton_2.setIcon(icon4)
        self.ArticlesButton_2.setIconSize(QtCore.QSize(42, 42))
        self.ArticlesButton_2.setObjectName("ArticlesButton_2")
        self.ArticlesButton.addWidget(self.ArticlesButton_2, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.ArticlesLabel = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        font.setKerning(True)
        self.ArticlesLabel.setFont(font)
        self.ArticlesLabel.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.ArticlesLabel.setStyleSheet("background-color: rgba(0,0,0,0);\ncolor: white")
        self.ArticlesLabel.setScaledContents(False)
        self.ArticlesLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.ArticlesLabel.setWordWrap(False)
        self.ArticlesLabel.setIndent(0)
        self.ArticlesLabel.setObjectName("ArticlesLabel")
        self.ArticlesButton.addWidget(self.ArticlesLabel, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
        self.SidebarButtons.addLayout(self.ArticlesButton)
        self.QuizButton = QtWidgets.QHBoxLayout()
        self.QuizButton.setObjectName("QuizButton")
        self.QuizButton_2 = QtWidgets.QPushButton(self.verticalLayoutWidget_2)
        self.QuizButton_2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.QuizButton_2.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.QuizButton_2.setText("")
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap("Assets/Icons/edit.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.QuizButton_2.setIcon(icon5)
        self.QuizButton_2.setIconSize(QtCore.QSize(42, 42))
        self.QuizButton_2.setObjectName("QuizButton_2")
        self.QuizButton.addWidget(self.QuizButton_2, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.QuizLabel = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        font.setKerning(True)
        self.QuizLabel.setFont(font)
        self.QuizLabel.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.QuizLabel.setStyleSheet("background-color: rgba(0,0,0,0);\ncolor: white")
        self.QuizLabel.setScaledContents(False)
        self.QuizLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.QuizLabel.setWordWrap(False)
        self.QuizLabel.setIndent(0)
        self.QuizLabel.setObjectName("QuizLabel")
        self.QuizButton.addWidget(self.QuizLabel, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
        self.SidebarButtons.addLayout(self.QuizButton)
        self.MapButton = QtWidgets.QHBoxLayout()
        self.MapButton.setObjectName("MapButton")
        self.MapButton_2 = QtWidgets.QPushButton(self.verticalLayoutWidget_2)
        self.MapButton_2.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.MapButton_2.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.MapButton_2.setText("")
        icon6 = QtGui.QIcon()
        icon6.addPixmap(QtGui.QPixmap("Assets/Icons/map.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.MapButton_2.setIcon(icon6)
        self.MapButton_2.setIconSize(QtCore.QSize(42, 42))
        self.MapButton_2.setObjectName("MapButton_2")
        self.MapButton.addWidget(self.MapButton_2, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.MapLabel = QtWidgets.QLabel(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        font.setBold(False)
        font.setWeight(50)
        font.setKerning(True)
        self.MapLabel.setFont(font)
        self.MapLabel.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.MapLabel.setStyleSheet("background-color: rgba(0,0,0,0);\ncolor: white")
        self.MapLabel.setScaledContents(False)
        self.MapLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.MapLabel.setWordWrap(False)
        self.MapLabel.setIndent(0)
        self.MapLabel.setObjectName("MapLabel")
        self.MapButton.addWidget(self.MapLabel, 0, QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
        self.SidebarButtons.addLayout(self.MapButton)
        controller.uiController.createUserButton(self.verticalLayoutWidget_2, self.SidebarButtons)
        self.SidebarIcon = QtWidgets.QLabel(self.Sidebar)
        self.SidebarIcon.setGeometry(QtCore.QRect(37, 24, 221, 48))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.SidebarIcon.sizePolicy().hasHeightForWidth())
        self.SidebarIcon.setSizePolicy(sizePolicy)
        self.SidebarIcon.setMaximumSize(QtCore.QSize(400, 88))
        self.SidebarIcon.setAutoFillBackground(False)
        self.SidebarIcon.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.SidebarIcon.setFrameShadow(QtWidgets.QFrame.Plain)
        self.SidebarIcon.setLineWidth(0)
        self.SidebarIcon.setText("")
        self.SidebarIcon.setPixmap(QtGui.QPixmap("Assets/Branding/logo.png"))
        self.SidebarIcon.setScaledContents(True)
        self.SidebarIcon.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft)
        self.SidebarIcon.setWordWrap(False)
        self.SidebarIcon.setIndent(0)
        self.SidebarIcon.setObjectName("SidebarIcon")
        self.BackButton = QtWidgets.QPushButton(self.Sidebar)
        self.BackButton.setGeometry(QtCore.QRect(120, 670, 54, 50))
        self.BackButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.BackButton.setStyleSheet("background-color: rgba(0,0,0,0)")
        self.BackButton.setText("")
        icon8 = QtGui.QIcon()
        icon8.addPixmap(QtGui.QPixmap("Assets/Icons/exit.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.BackButton.setIcon(icon8)
        self.BackButton.setIconSize(QtCore.QSize(42, 42))
        self.BackButton.setObjectName("BackButton")
        self.horizontalLayout.addWidget(self.Sidebar)
        self.FirstScreen = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.FirstScreen)
        self.FirstScreen.setEnabled(True)
        self.FirstScreen.setVisible(True)
        self.FirstScreen.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.FirstScreen.setStyleSheet("")
        self.FirstScreen.setFrameShadow(QtWidgets.QFrame.Raised)
        self.FirstScreen.setLineWidth(0)
        self.FirstScreen.setObjectName("FirstScreen")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.FirstScreen)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 20, 931, 311))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.LogoLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.LogoLayout.setContentsMargins(0, 0, 0, 0)
        self.LogoLayout.setSpacing(0)
        self.LogoLayout.setObjectName("LogoLayout")
        self.ImageLogo = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.ImageLogo.setMaximumSize(QtCore.QSize(170, 245))
        self.ImageLogo.setText("")
        self.ImageLogo.setPixmap(
            QtGui.QPixmap("Assets/Branding/faceUUI.png"))
        self.ImageLogo.setScaledContents(True)
        self.ImageLogo.setIndent(0)
        self.ImageLogo.setObjectName("ImageLogo")
        self.LogoLayout.addWidget(self.ImageLogo, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.TextLogo = QtWidgets.QLabel(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.TextLogo.sizePolicy().hasHeightForWidth())
        self.TextLogo.setSizePolicy(sizePolicy)
        self.TextLogo.setMaximumSize(QtCore.QSize(270, 59))
        self.TextLogo.setAutoFillBackground(False)
        self.TextLogo.setText("")
        self.TextLogo.setPixmap(
            QtGui.QPixmap("Assets/Branding/logo.png"))
        self.TextLogo.setScaledContents(True)
        self.TextLogo.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft)
        self.TextLogo.setWordWrap(False)
        self.TextLogo.setIndent(0)
        self.TextLogo.setObjectName("TextLogo")
        self.LogoLayout.addWidget(self.TextLogo, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.horizontalLayoutWidget = QtWidgets.QWidget(self.FirstScreen)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(0, 380, 931, 341))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.LogInRegisterLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.LogInRegisterLayout.setContentsMargins(0, 0, 0, 0)
        self.LogInRegisterLayout.setSpacing(0)
        self.LogInRegisterLayout.setObjectName("LogInRegisterLayout")
        self.LogInLayout = QtWidgets.QVBoxLayout()
        self.LogInLayout.setContentsMargins(29, 0, 29, 0)
        self.LogInLayout.setSpacing(41)
        self.LogInLayout.setObjectName("LogInLayout")
        self.LogInLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(15)
        self.LogInLabel.setFont(font)
        self.LogInLabel.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.LogInLabel.setAutoFillBackground(False)
        self.LogInLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                      "color: white;")
        self.LogInLabel.setLineWidth(1)
        self.LogInLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.LogInLabel.setWordWrap(False)
        self.LogInLabel.setObjectName("LogInLabel")
        self.LogInLayout.addWidget(self.LogInLabel, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.UserNameLogInLayout = QtWidgets.QHBoxLayout()
        self.UserNameLogInLayout.setSpacing(23)
        self.UserNameLogInLayout.setObjectName("UserNameLogInLayout")
        self.UserLogInLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setUnderline(False)
        font.setWeight(50)
        font.setStrikeOut(False)
        self.UserLogInLabel.setFont(font)
        self.UserLogInLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                          "color: white;")
        self.UserLogInLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.UserLogInLabel.setObjectName("UserLogInLabel")
        self.UserNameLogInLayout.addWidget(self.UserLogInLabel, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.UserLogInEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.UserLogInEdit.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                         "color: white;\n"
                                         "font-family: \"Futurist Fixed-width\"")
        self.UserLogInEdit.setEchoMode(QtWidgets.QLineEdit.Normal)
        self.UserLogInEdit.setObjectName("UserLogInEdit")
        self.UserNameLogInLayout.addWidget(self.UserLogInEdit)
        self.LogInLayout.addLayout(self.UserNameLogInLayout)
        self.PasswordLogInLayout = QtWidgets.QHBoxLayout()
        self.PasswordLogInLayout.setSpacing(36)
        self.PasswordLogInLayout.setObjectName("PasswordLogInLayout")
        self.PasswordLogInLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setUnderline(False)
        font.setWeight(50)
        font.setStrikeOut(False)
        self.PasswordLogInLabel.setFont(font)
        self.PasswordLogInLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                              "color: white;")
        self.PasswordLogInLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.PasswordLogInLabel.setObjectName("PasswordLogInLabel")
        self.PasswordLogInLayout.addWidget(self.PasswordLogInLabel, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.PasswordLogInEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.PasswordLogInEdit.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                             "color: white;\n"
                                             "font-family: \"Futurist Fixed-width\"")
        self.PasswordLogInEdit.setInputMask("")
        self.PasswordLogInEdit.setText("")
        self.PasswordLogInEdit.setFrame(True)
        self.PasswordLogInEdit.setEchoMode(QtWidgets.QLineEdit.Password)
        self.PasswordLogInEdit.setObjectName("PasswordLogInEdit")
        self.PasswordLogInLayout.addWidget(self.PasswordLogInEdit)
        self.LogInLayout.addLayout(self.PasswordLogInLayout)
        self.SubmitButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.SubmitButton.sizePolicy().hasHeightForWidth())
        self.SubmitButton.setSizePolicy(sizePolicy)
        self.SubmitButton.setMinimumSize(QtCore.QSize(120, 40))
        self.SubmitButton.setMaximumSize(QtCore.QSize(120, 40))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        self.SubmitButton.setFont(font)
        self.SubmitButton.setStyleSheet("color: white;\n"
                                        "border: 1px solid white;\n"
                                        "border-radius: 5px;")
        self.SubmitButton.setAutoDefault(False)
        self.SubmitButton.setDefault(False)
        self.SubmitButton.setFlat(True)
        self.SubmitButton.setObjectName("SubmitButton")
        self.SubmitButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.LogInLayout.addWidget(self.SubmitButton, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.LogInRegisterLayout.addLayout(self.LogInLayout)
        self.divider = QtWidgets.QFrame(self.horizontalLayoutWidget)
        self.divider.setMinimumSize(QtCore.QSize(1, 250))
        self.divider.setMaximumSize(QtCore.QSize(1, 250))
        self.divider.setStyleSheet("background-color: white;\n"
                                   "")
        self.divider.setFrameShape(QtWidgets.QFrame.VLine)
        self.divider.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.divider.setObjectName("divider")
        self.LogInRegisterLayout.addWidget(self.divider)
        self.RegisterLayout = QtWidgets.QVBoxLayout()
        self.RegisterLayout.setContentsMargins(29, 0, 29, 0)
        self.RegisterLayout.setSpacing(23)
        self.RegisterLayout.setObjectName("RegisterLayout")
        self.RegisterLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(15)
        self.RegisterLabel.setFont(font)
        self.RegisterLabel.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.RegisterLabel.setAutoFillBackground(False)
        self.RegisterLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                         "color: white;")
        self.RegisterLabel.setLineWidth(1)
        self.RegisterLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.RegisterLabel.setWordWrap(False)
        self.RegisterLabel.setObjectName("RegisterLabel")
        self.RegisterLayout.addWidget(self.RegisterLabel, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.UserRegisterLayout = QtWidgets.QHBoxLayout()
        self.UserRegisterLayout.setSpacing(23)
        self.UserRegisterLayout.setObjectName("UserRegisterLayout")
        self.UserRegisterLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setUnderline(False)
        font.setWeight(50)
        font.setStrikeOut(False)
        self.UserRegisterLabel.setFont(font)
        self.UserRegisterLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                             "color: white;")
        self.UserRegisterLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.UserRegisterLabel.setObjectName("UserRegisterLabel")
        self.UserRegisterLayout.addWidget(self.UserRegisterLabel, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.UserRegisterEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.UserRegisterEdit.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                            "color: white;\n"
                                            "font-family: \"Futurist Fixed-width\"")
        self.UserRegisterEdit.setEchoMode(QtWidgets.QLineEdit.Normal)
        self.UserRegisterEdit.setObjectName("UserRegisterEdit")
        self.UserRegisterLayout.addWidget(self.UserRegisterEdit)
        self.RegisterLayout.addLayout(self.UserRegisterLayout)
        self.EmailLayout = QtWidgets.QHBoxLayout()
        self.EmailLayout.setSpacing(68)
        self.EmailLayout.setObjectName("EmailLayout")
        self.EmailLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setUnderline(False)
        font.setWeight(50)
        font.setStrikeOut(False)
        self.EmailLabel.setFont(font)
        self.EmailLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                      "color: white;")
        self.EmailLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.EmailLabel.setObjectName("EmailLabel")
        self.EmailLayout.addWidget(self.EmailLabel, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.EmailEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.EmailEdit.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                     "color: white;\n"
                                     "font-family: \"Futurist Fixed-width\"")
        self.EmailEdit.setInputMethodHints(QtCore.Qt.ImhEmailCharactersOnly)
        self.EmailEdit.setEchoMode(QtWidgets.QLineEdit.Normal)
        self.EmailEdit.setObjectName("EmailEdit")
        self.EmailLayout.addWidget(self.EmailEdit)
        self.RegisterLayout.addLayout(self.EmailLayout)
        self.PasswordRegisterLayout = QtWidgets.QHBoxLayout()
        self.PasswordRegisterLayout.setSpacing(36)
        self.PasswordRegisterLayout.setObjectName("PasswordRegisterLayout")
        self.PasswordRegisterLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        font.setBold(False)
        font.setItalic(False)
        font.setUnderline(False)
        font.setWeight(50)
        font.setStrikeOut(False)
        self.PasswordRegisterLabel.setFont(font)
        self.PasswordRegisterLabel.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                                 "color: white;")
        self.PasswordRegisterLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.PasswordRegisterLabel.setObjectName("PasswordRegisterLabel")
        self.PasswordRegisterLayout.addWidget(self.PasswordRegisterLabel, 0,
                                              QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.PasswordRegisterEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.PasswordRegisterEdit.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                                "color: white;\n"
                                                "font-family: \"Futurist Fixed-width\"")
        self.PasswordRegisterEdit.setInputMask("")
        self.PasswordRegisterEdit.setText("")
        self.PasswordRegisterEdit.setFrame(True)
        self.PasswordRegisterEdit.setEchoMode(QtWidgets.QLineEdit.Password)
        self.PasswordRegisterEdit.setObjectName("PasswordRegisterEdit")
        self.PasswordRegisterLayout.addWidget(self.PasswordRegisterEdit)
        self.RegisterLayout.addLayout(self.PasswordRegisterLayout)
        self.JoinButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.JoinButton.sizePolicy().hasHeightForWidth())
        self.JoinButton.setSizePolicy(sizePolicy)
        self.JoinButton.setMinimumSize(QtCore.QSize(120, 40))
        self.JoinButton.setMaximumSize(QtCore.QSize(120, 40))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        self.JoinButton.setFont(font)
        self.JoinButton.setStyleSheet("color: white;\n"
                                      "border: 1px solid white;\n"
                                      "border-radius: 5px;")
        self.JoinButton.setAutoDefault(False)
        self.JoinButton.setDefault(False)
        self.JoinButton.setFlat(True)
        self.JoinButton.setObjectName("JoinButton")
        self.JoinButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.RegisterLayout.addWidget(self.JoinButton, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.LogInRegisterLayout.addLayout(self.RegisterLayout)
        self.horizontalLayout.addWidget(self.FirstScreen)
        mainWindow.setCentralWidget(self.centralwidget)

        # Welcome Screen

        self.WelcomeScreen = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.WelcomeScreen)
        self.WelcomeScreen.setEnabled(True)
        self.WelcomeScreen.setVisible(False)
        self.WelcomeScreen.setStyleSheet("")
        self.WelcomeScreen.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.WelcomeScreen.setFrameShadow(QtWidgets.QFrame.Raised)
        self.WelcomeScreen.setLineWidth(0)
        self.WelcomeScreen.setObjectName("WelcomeScreen")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.WelcomeScreen)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 20, 931, 311))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.LogoLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.LogoLayout.setContentsMargins(0, 0, 0, 0)
        self.LogoLayout.setSpacing(0)
        self.LogoLayout.setObjectName("LogoLayout")
        self.ImageLogo = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.ImageLogo.setMaximumSize(QtCore.QSize(170, 245))
        self.ImageLogo.setText("")
        self.ImageLogo.setPixmap(QtGui.QPixmap("Assets/Branding/faceUUI.png"))
        self.ImageLogo.setScaledContents(True)
        self.ImageLogo.setIndent(0)
        self.ImageLogo.setObjectName("ImageLogo")
        self.LogoLayout.addWidget(self.ImageLogo, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.TextLogo = QtWidgets.QLabel(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.TextLogo.sizePolicy().hasHeightForWidth())
        self.TextLogo.setSizePolicy(sizePolicy)
        self.TextLogo.setMaximumSize(QtCore.QSize(270, 59))
        self.TextLogo.setAutoFillBackground(False)
        self.TextLogo.setText("")
        self.TextLogo.setPixmap(QtGui.QPixmap("Assets/Branding/logo.png"))
        self.TextLogo.setScaledContents(True)
        self.TextLogo.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft)
        self.TextLogo.setWordWrap(False)
        self.TextLogo.setIndent(0)
        self.TextLogo.setObjectName("TextLogo")
        self.LogoLayout.addWidget(self.TextLogo, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.horizontalLayoutWidget = QtWidgets.QWidget(self.WelcomeScreen)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(0, 380, 931, 359))
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.WelcomeLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.WelcomeLayout.setContentsMargins(0, 0, 0, 0)
        self.WelcomeLayout.setSpacing(0)
        self.WelcomeLayout.setObjectName("LogInRegisterLayout")
        self.WelcomeLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(23)
        self.WelcomeLabel.setFont(font)
        self.WelcomeLabel.setStyleSheet("color: white")
        self.WelcomeLabel.setAlignment(QtCore.Qt.AlignCenter)
        self.WelcomeLabel.setWordWrap(True)
        self.WelcomeLabel.setObjectName("label")
        self.WelcomeLayout.addWidget(self.WelcomeLabel, 0, QtCore.Qt.AlignVCenter)
        self.horizontalLayout.addWidget(self.WelcomeScreen)
        mainWindow.setCentralWidget(self.centralwidget)

        # Product Window

        self.ProductDescriptionPage = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.ProductDescriptionPage)
        self.ProductDescriptionPage.setEnabled(True)
        self.ProductDescriptionPage.setVisible(False)
        self.ProductDescriptionPage.setStyleSheet("")
        self.ProductDescriptionPage.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.ProductDescriptionPage.setFrameShadow(QtWidgets.QFrame.Raised)
        self.ProductDescriptionPage.setLineWidth(0)
        self.ProductDescriptionPage.setObjectName("ProductDescriptionPage")
        self.ProductDesc = QtWidgets.QFrame(self.ProductDescriptionPage)
        self.ProductDesc.setEnabled(True)
        self.ProductDesc.setGeometry(QtCore.QRect(40, 30, 851, 671))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.ProductDesc.sizePolicy().hasHeightForWidth())
        self.ProductDesc.setSizePolicy(sizePolicy)
        self.ProductDesc.setMinimumSize(QtCore.QSize(200, 350))
        self.ProductDesc.setStyleSheet("border-radius: 15px;\n"
                                       "border: 1px solid white;\n"
                                       "background-color: rgb(24, 29, 45);\n"
                                       "")
        self.ProductDesc.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.ProductDesc.setFrameShadow(QtWidgets.QFrame.Raised)
        self.ProductDesc.setLineWidth(0)
        self.ProductDesc.setMidLineWidth(0)
        self.ProductDesc.setObjectName("ProductDesc")
        self.ProductDescriptionLayout = QtWidgets.QFrame(self.ProductDesc)
        self.ProductDescriptionLayout.setGeometry(QtCore.QRect(11, 16, 831, 646))
        self.ProductDescriptionLayout.setStyleSheet("border: none;\n"
                                                    "border-radius: 0;")
        self.ProductDescriptionLayout.setObjectName("ProductDescriptionLayout")
        self.ProductDescLayout = QtWidgets.QVBoxLayout(self.ProductDescriptionLayout)
        self.ProductDescLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.ProductDescLayout.setSpacing(3)
        self.ProductDescLayout.setObjectName("ProductDescLayout")
        self.ProductImage = QtWidgets.QLabel(self.ProductDescriptionLayout)
        self.ProductImage.setMinimumSize(QtCore.QSize(200, 250))
        self.ProductImage.setMaximumSize(QtCore.QSize(200, 250))
        self.ProductImage.setStyleSheet("border: none")
        self.ProductImage.setFrameShadow(QtWidgets.QFrame.Plain)
        self.ProductImage.setText("")
        self.ProductImage.setScaledContents(True)
        self.ProductImage.setObjectName("ProductImage")
        self.ProductDescLayout.addWidget(self.ProductImage, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.ProductTitle = QtWidgets.QLabel(self.ProductDescriptionLayout)
        self.ProductTitle.setMinimumSize(QtCore.QSize(600, 80))
        self.ProductTitle.setMaximumSize(QtCore.QSize(600, 40))
        self.ProductTitle.setMargin(11)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(13)
        self.ProductTitle.setFont(font)
        self.ProductTitle.setStyleSheet("border: none;\n"
                                        "border-radius: 0 0;\n"
                                        "border-top: 1px solid white;\n"
                                        "color: rgb(255, 255, 255);")
        self.ProductTitle.setFrameShadow(QtWidgets.QFrame.Plain)
        self.ProductTitle.setScaledContents(False)
        self.ProductTitle.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignTop)
        self.ProductTitle.setWordWrap(True)
        self.ProductTitle.setIndent(0)
        self.ProductTitle.setOpenExternalLinks(False)
        self.ProductTitle.setObjectName("ProductTitle")
        self.ProductDescLayout.addWidget(self.ProductTitle, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.ProdDescTextFrame = QtWidgets.QFrame(self.ProductDescriptionLayout)
        self.ProdDescTextFrame.setMinimumSize(QtCore.QSize(0, 240))
        self.ProdDescTextFrame.setMaximumSize(QtCore.QSize(16777215, 240))
        self.ProdDescTextFrame.setObjectName("ProdDescTextFrame")
        self.ProdDescTextLayout = QtWidgets.QHBoxLayout(self.ProdDescTextFrame)
        self.ProdDescTextLayout.setContentsMargins(1, -1, -1, -1)
        self.ProdDescTextLayout.setSpacing(6)
        self.ProdDescTextLayout.setObjectName("ProdDescTextLayout")
        self.ProdDescText = QtWidgets.QLabel(self.ProdDescTextFrame)
        self.ProdDescText.setMinimumSize(QtCore.QSize(600, 250))
        self.ProdDescText.setMaximumSize(QtCore.QSize(600, 200))
        self.ProdDescText.setMargin(28)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)
        self.ProdDescText.setFont(font)
        self.ProdDescText.setStyleSheet("color: white;\n"
                                        "border: none;\n"
                                        "border-radius: 0;\n"
                                        "border-right: 1px solid white;")
        self.ProdDescText.setAlignment(QtCore.Qt.AlignCenter)
        self.ProdDescText.setWordWrap(True)
        self.ProdDescText.setIndent(0)
        self.ProdDescText.setObjectName("ProdDescText")
        self.ProdDescTextLayout.addWidget(self.ProdDescText, 0, QtCore.Qt.AlignVCenter)
        self.ProdPrice = QtWidgets.QLabel(self.ProdDescTextFrame)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.ProdPrice.sizePolicy().hasHeightForWidth())
        self.ProdPrice.setSizePolicy(sizePolicy)
        self.ProdPrice.setMinimumSize(QtCore.QSize(60, 60))
        self.ProdPrice.setMaximumSize(QtCore.QSize(60, 60))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        self.ProdPrice.setFont(font)
        self.ProdPrice.setStyleSheet("border-radius:30px 30px;\n"
                                     "color: rgb(255, 255, 255);\n"
                                     "border: none;\n"
                                     "background-color: rgb(225, 160, 103);")
        self.ProdPrice.setFrameShadow(QtWidgets.QFrame.Plain)
        self.ProdPrice.setScaledContents(False)
        self.ProdPrice.setAlignment(QtCore.Qt.AlignCenter)
        self.ProdPrice.setWordWrap(False)
        self.ProdPrice.setIndent(0)
        self.ProdPrice.setObjectName("ProdPrice")
        self.ProdDescTextLayout.addWidget(self.ProdPrice)
        self.ProductDescLayout.addWidget(self.ProdDescTextFrame)
        self.ProdActionsLayout = QtWidgets.QHBoxLayout()
        self.ProdActionsLayout.setContentsMargins(-1, 17, -1, -1)
        self.ProdActionsLayout.setSpacing(9)
        self.ProdActionsLayout.setObjectName("ProdActionsLayout")
        self.ProdBackButton = QtWidgets.QPushButton(self.ProductDescriptionLayout)
        self.ProdBackButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.ProdBackButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                          "border: none;\n"
                                          "border-radius: 0;")
        self.ProdBackButton.setText("")
        backIcon = QtGui.QIcon()
        backIcon.addPixmap(QtGui.QPixmap("Assets/Icons/back_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

        self.ProdBackButton.setIcon(backIcon)
        self.ProdBackButton.setIconSize(QtCore.QSize(42, 42))
        self.ProdBackButton.setObjectName("ProdBackButton")
        self.ProdActionsLayout.addWidget(self.ProdBackButton)
        self.ProdLinkButton = QtWidgets.QPushButton(self.ProductDescriptionLayout)
        self.ProdLinkButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.ProdLinkButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                          "border: none;\n"
                                          "border-radius: 0;")
        self.ProdLinkButton.setText("")
        linkIcon = QtGui.QIcon()
        linkIcon.addPixmap(QtGui.QPixmap("Assets/Icons/go.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.ProdLinkButton.setIcon(linkIcon)
        self.ProdLinkButton.setIconSize(QtCore.QSize(42, 42))
        self.ProdLinkButton.setObjectName("ProdLinkButton")
        self.ProdActionsLayout.addWidget(self.ProdLinkButton, 0, QtCore.Qt.AlignHCenter)
        self.ProdFavButton = QtWidgets.QPushButton(self.ProductDescriptionLayout)
        self.ProdFavButton.setEnabled(True)
        self.ProdFavButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.ProdFavButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                         "border: none;\n"
                                         "border-radius: 0;")
        self.ProdFavButton.setText("")
        favIcon = QtGui.QIcon()
        favIcon.addPixmap(QtGui.QPixmap("Assets/Icons/favorite.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.ProdFavButton.setIcon(favIcon)
        self.ProdFavButton.setIconSize(QtCore.QSize(42, 42))
        self.ProdFavButton.setObjectName("ProdFavButton")
        self.ProdActionsLayout.addWidget(self.ProdFavButton, 0, QtCore.Qt.AlignHCenter)
        self.ProductDescLayout.addLayout(self.ProdActionsLayout)
        self.horizontalLayout.addWidget(self.ProductDescriptionPage)
        # Products Page

        self.ProductsScreen = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.ProductsScreen)
        self.ProductsScreen.setEnabled(True)
        self.ProductsScreen.setVisible(False)
        self.ProductsScreen.setStyleSheet("")
        self.ProductsScreen.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.ProductsScreen.setFrameShadow(QtWidgets.QFrame.Raised)
        self.ProductsScreen.setLineWidth(0)
        self.ProductsScreen.setObjectName("ProductsScreen")
        self.scrollArea = QtWidgets.QScrollArea(self.ProductsScreen)
        self.scrollArea.setGeometry(QtCore.QRect(20, 70, 881, 631))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
        self.scrollArea.setSizePolicy(sizePolicy)
        self.scrollArea.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.scrollArea.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setAlignment(QtCore.Qt.AlignCenter)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, -82, 864, 835))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents_2.sizePolicy().hasHeightForWidth())
        self.scrollAreaWidgetContents_2.setSizePolicy(sizePolicy)
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.gridProductLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
        self.gridProductLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.gridProductLayout.setContentsMargins(-1, 52, -1, -1)
        self.gridProductLayout.setVerticalSpacing(74)
        self.gridProductLayout.setObjectName("gridLayout")

        self.comboBox = QtWidgets.QComboBox(self.ProductsScreen)
        self.comboBox.setGeometry(QtCore.QRect(18, 20, 301, 31))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(9)

        self.comboBox.setFont(font)
        self.comboBox.setStyleSheet("background-color: rgba(101, 108, 131, 30);\n"
                                    "border: none;\n"
                                    "color: white;\n"
                                    "\n"
                                    "QComboBox {\n"
                                    "color: white;\n"
                                    "background-color: white;\n"
                                    "}\n"
                                    "")
        self.comboBox.setObjectName("comboBox")
        model = self.comboBox.model()
        for row in range(2):
            item = QtGui.QStandardItem(str(row))
            item.setForeground(QtGui.QColor('white'))
            font = item.font()
            font.setPointSize(9)
            item.setFont(font)
            model.appendRow(item)

        self.comboBox.setItemText(0, "All Items")
        self.comboBox.setItemText(1, "For your skin type")
        controller.comboBox = self.comboBox
        self.comboBox.setVisible(False)
        self.comboBox.currentTextChanged.connect(controller.changeFilter)

        self.scrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.horizontalLayout.addWidget(self.ProductsScreen)
        controller.generateProductPages(self.scrollAreaWidgetContents_2, self.gridProductLayout,
                                        self.ProductDescriptionPage,
                                        self.pagesList, self.ProductTitle, self.ProdDescText, self.ProdPrice,
                                        self.ProductImage, self.ProdLinkButton, self.ProdFavButton)

        # MapPage

        self.MapScreen = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.MapScreen)
        self.MapScreen.setEnabled(True)
        self.MapScreen.setVisible(False)
        self.MapScreen.setStyleSheet("")
        self.MapScreen.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.MapScreen.setFrameShadow(QtWidgets.QFrame.Raised)
        self.MapScreen.setLineWidth(0)
        self.MapScreen.setObjectName("MapScreen")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.MapScreen)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 931, 731))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.label.setMinimumSize(QtCore.QSize(600, 0))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(18)
        self.label.setFont(font)
        self.label.setStyleSheet("background-color: rgba(255, 255, 255, 0);\n"
                                 "color: white;")
        self.label.setTextFormat(QtCore.Qt.RichText)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setWordWrap(True)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.frame = QtWidgets.QFrame(self.verticalLayoutWidget)
        self.frame.setStyleSheet(
            "border: 1px solid white;\n"
            "border-radius: 20px;\n"
            "overflow: hidden")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.frame.setMinimumSize(QtCore.QSize(800, 350))
        self.frame.setMaximumSize(QtCore.QSize(800, 350))
        setupMap(self.frame)
        self.verticalLayout.addWidget(self.frame, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.horizontalLayout.addWidget(self.MapScreen)

        # Articles Page

        self.ArticlesScreen = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.ArticlesScreen)
        self.ArticlesScreen.setEnabled(True)
        self.ArticlesScreen.setVisible(False)
        self.ArticlesScreen.setStyleSheet("")
        self.ArticlesScreen.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.ArticlesScreen.setFrameShadow(QtWidgets.QFrame.Raised)
        self.ArticlesScreen.setLineWidth(0)
        self.ArticlesScreen.setObjectName("ArticlesScreen")
        self.ArticlesScrollArea = QtWidgets.QScrollArea(self.ArticlesScreen)
        self.ArticlesScrollArea.setEnabled(True)
        self.ArticlesScrollArea.setGeometry(QtCore.QRect(20, 30, 891, 671))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.ArticlesScrollArea.sizePolicy().hasHeightForWidth())
        self.ArticlesScrollArea.setSizePolicy(sizePolicy)
        self.ArticlesScrollArea.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.ArticlesScrollArea.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.ArticlesScrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.ArticlesScrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.ArticlesScrollArea.setWidgetResizable(True)
        self.ArticlesScrollArea.setAlignment(QtCore.Qt.AlignCenter)
        self.ArticlesScrollArea.setObjectName("ArticlesScrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 891, 671))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents_2.sizePolicy().hasHeightForWidth())
        self.scrollAreaWidgetContents_2.setSizePolicy(sizePolicy)
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2)
        self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.verticalLayout.setContentsMargins(49, 18, 0, 49)
        self.verticalLayout.setSpacing(44)
        self.verticalLayout.setObjectName("verticalLayout")
        self.ArticlesScrollArea.setWidget(self.scrollAreaWidgetContents_2)
        controller.generateArticlesPages(self.scrollAreaWidgetContents_2, self.verticalLayout)
        self.horizontalLayout.addWidget(self.ArticlesScreen)

        # Tutorial Window
        self.TutorialPage = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.TutorialPage)
        self.TutorialPage.setEnabled(True)
        self.TutorialPage.setVisible(False)
        self.TutorialPage.setStyleSheet("")
        self.TutorialPage.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.TutorialPage.setFrameShadow(QtWidgets.QFrame.Raised)
        self.TutorialPage.setLineWidth(0)
        self.TutorialPage.setObjectName("TutorialPage")
        self.TutorialPageFrame = QtWidgets.QFrame(self.TutorialPage)
        self.TutorialPageFrame.setEnabled(True)
        self.TutorialPageFrame.setGeometry(QtCore.QRect(40, 30, 851, 671))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.TutorialPageFrame.sizePolicy().hasHeightForWidth())
        self.TutorialPageFrame.setSizePolicy(sizePolicy)
        self.TutorialPageFrame.setMinimumSize(QtCore.QSize(200, 350))
        self.TutorialPageFrame.setStyleSheet("border-radius: 15px;\n"
                                             "border: 1px solid white;\n"
                                             "background-color: rgb(24, 29, 45);\n"
                                             "")
        self.TutorialPageFrame.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.TutorialPageFrame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.TutorialPageFrame.setLineWidth(0)
        self.TutorialPageFrame.setMidLineWidth(0)
        self.TutorialPageFrame.setObjectName("TutorialPageFrame")
        self.TutorialPageLayout = QtWidgets.QFrame(self.TutorialPageFrame)
        self.TutorialPageLayout.setGeometry(QtCore.QRect(11, 16, 831, 646))
        self.TutorialPageLayout.setStyleSheet("border: none;\n"
                                              "border-radius: 0;")
        self.TutorialPageLayout.setObjectName("TutorialPageLayout")
        self.ProductDescLayout = QtWidgets.QVBoxLayout(self.TutorialPageLayout)
        self.ProductDescLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.ProductDescLayout.setContentsMargins(12, 0, 12, 9)
        self.ProductDescLayout.setSpacing(14)
        self.ProductDescLayout.setObjectName("ProductDescLayout")
        self.TutorialVideoFrame = QtWidgets.QFrame(self.TutorialPageLayout)
        self.TutorialVideoFrame.setMinimumSize(QtCore.QSize(0, 550))
        self.TutorialVideoFrame.setMaximumSize(QtCore.QSize(16777215, 550))
        self.TutorialVideoFrame.setObjectName("TutorialVideoFrame")
        self.ProductDescLayout.addWidget(self.TutorialVideoFrame)
        self.TutorialActionsLayout = QtWidgets.QHBoxLayout()
        self.TutorialActionsLayout.setContentsMargins(-1, 17, -1, -1)
        self.TutorialActionsLayout.setSpacing(9)
        self.TutorialActionsLayout.setObjectName("TutorialActionsLayout")
        self.TutorialBackButton = QtWidgets.QPushButton(self.TutorialPageLayout)
        self.TutorialBackButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.TutorialBackButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                              "border: none;\n"
                                              "border-radius: 0;")
        self.TutorialBackButton.setText("")
        self.TutorialBackButton.setIcon(icon8)
        self.TutorialBackButton.setIconSize(QtCore.QSize(42, 42))
        self.TutorialBackButton.setObjectName("TutorialBackButton")
        self.TutorialActionsLayout.addWidget(self.TutorialBackButton, 0, QtCore.Qt.AlignHCenter)
        self.TutorialFavButton = QtWidgets.QPushButton(self.TutorialPageLayout)
        self.TutorialFavButton.setEnabled(True)
        self.TutorialFavButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.TutorialFavButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                             "border: none;\n"
                                             "border-radius: 0;")
        self.TutorialFavButton.setText("")
        self.TutorialFavButton.setIcon(icon8)
        self.TutorialFavButton.setIconSize(QtCore.QSize(42, 42))
        self.TutorialFavButton.setObjectName("TutorialFavButton")
        self.TutorialActionsLayout.addWidget(self.TutorialFavButton, 0, QtCore.Qt.AlignHCenter)
        self.ProductDescLayout.addLayout(self.TutorialActionsLayout)
        self.horizontalLayout.addWidget(self.TutorialPage)

        # Tutorials Page

        self.TutorialsPage = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.TutorialsPage)
        self.TutorialsPage.setEnabled(True)
        self.TutorialsPage.setVisible(False)
        self.TutorialsPage.setStyleSheet("")
        self.TutorialsPage.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.TutorialsPage.setFrameShadow(QtWidgets.QFrame.Raised)
        self.TutorialsPage.setLineWidth(0)
        self.TutorialsPage.setObjectName("TutorialsPage")
        self.TutorialsScrollArea = QtWidgets.QScrollArea(self.TutorialsPage)
        self.TutorialsScrollArea.setGeometry(QtCore.QRect(20, 30, 881, 671))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.TutorialsScrollArea.sizePolicy().hasHeightForWidth())
        self.TutorialsScrollArea.setSizePolicy(sizePolicy)
        self.TutorialsScrollArea.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
        self.TutorialsScrollArea.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.TutorialsScrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.TutorialsScrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.TutorialsScrollArea.setWidgetResizable(True)
        self.TutorialsScrollArea.setAlignment(QtCore.Qt.AlignCenter)
        self.TutorialsScrollArea.setObjectName("TutorialsScrollArea")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 881, 671))
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents_2.sizePolicy().hasHeightForWidth())
        self.scrollAreaWidgetContents_2.setSizePolicy(sizePolicy)
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
        self.gridLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.gridLayout.setContentsMargins(-1, 52, -1, -1)
        self.gridLayout.setVerticalSpacing(74)
        self.gridLayout.setObjectName("gridLayout")
        controller.generateTutorialPages(self.scrollAreaWidgetContents_2, self.gridLayout, self.TutorialPage,
                                         self.pagesList, self.TutorialFavButton)
        self.TutorialsScrollArea.setWidget(self.scrollAreaWidgetContents_2)
        self.horizontalLayout.addWidget(self.TutorialsPage)

        # Quiz Screen

        self.QuizScreen = QtWidgets.QFrame(self.layoutWidget)
        MainWindow.pagesList.append(self.QuizScreen)
        self.QuizScreen.setEnabled(True)
        self.QuizScreen.setVisible(False)
        self.QuizScreen.setStyleSheet("")
        self.QuizScreen.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.QuizScreen.setFrameShadow(QtWidgets.QFrame.Raised)
        self.QuizScreen.setLineWidth(0)
        self.QuizScreen.setObjectName("QuizScreen")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.QuizScreen)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 0, 931, 721))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.QuizLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.QuizLayout.setContentsMargins(0, 0, 0, 0)
        self.QuizLayout.setObjectName("QuizLayout")
        self.QuizTitle = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.QuizTitle.setMinimumSize(QtCore.QSize(0, 200))
        self.QuizTitle.setMaximumSize(QtCore.QSize(16777215, 200))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(17)
        self.QuizTitle.setFont(font)
        self.QuizTitle.setStyleSheet("color: white; border-bottom: 1px solid white;")
        self.QuizTitle.setAlignment(QtCore.Qt.AlignCenter)
        self.QuizTitle.setObjectName("QuizTitle")
        self.QuizLayout.addWidget(self.QuizTitle, 0, QtCore.Qt.AlignHCenter)
        self.QuestionsLayout = QtWidgets.QVBoxLayout()
        self.QuestionsLayout.setObjectName("QuestionsLayout")
        self.QuestionCounter = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.QuestionCounter.setMinimumSize(QtCore.QSize(0, 200))
        self.QuestionCounter.setMaximumSize(QtCore.QSize(16777215, 200))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(12)
        self.QuestionCounter.setFont(font)
        self.QuestionCounter.setStyleSheet("color: white;")
        self.QuestionCounter.setAlignment(QtCore.Qt.AlignCenter)
        self.QuestionCounter.setObjectName("QuestionCounter")
        self.QuestionsLayout.addWidget(self.QuestionCounter)
        self.QuestionLabel = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.QuestionLabel.setMinimumSize(QtCore.QSize(0, 200))
        self.QuestionLabel.setMaximumSize(QtCore.QSize(16777215, 200))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(12)
        self.QuestionLabel.setFont(font)
        self.QuestionLabel.setStyleSheet("color: white;")
        self.QuestionLabel.setAlignment(QtCore.Qt.AlignHCenter)
        self.QuestionLabel.setWordWrap(True)
        self.QuestionLabel.setMargin(50)
        self.QuestionLabel.setObjectName("QuestionLabel")
        self.QuestionsLayout.addWidget(self.QuestionLabel)
        self.AnswersLayout = QtWidgets.QHBoxLayout()
        self.AnswersLayout.setObjectName("AnswersLayout")
        self.NoButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.NoButton.setMinimumSize(QtCore.QSize(200, 40))
        self.NoButton.setMaximumSize(QtCore.QSize(200, 16777215))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        self.NoButton.setFont(font)
        self.NoButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.NoButton.setStyleSheet("color: white;\n"
                                    "border: 1px solid white;\n"
                                    "border: 1px solid white;\n"
                                    "border-radius: 15px;")
        self.NoButton.setIconSize(QtCore.QSize(42, 42))
        self.NoButton.setFlat(True)
        self.NoButton.setObjectName("NoButton")
        self.AnswersLayout.addWidget(self.NoButton)
        self.YesButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.YesButton.setMinimumSize(QtCore.QSize(200, 40))
        self.YesButton.setMaximumSize(QtCore.QSize(200, 40))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        self.YesButton.setFont(font)
        self.YesButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.YesButton.setStyleSheet("color: white;\n"
                                     "border: 1px solid white;\n"
                                     "border-radius: 15px;")
        self.YesButton.setIconSize(QtCore.QSize(42, 42))
        self.YesButton.setFlat(True)
        self.YesButton.setObjectName("YesButton")
        self.AnswersLayout.addWidget(self.YesButton)
        self.TryAgainButton = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.TryAgainButton.setMinimumSize(QtCore.QSize(200, 40))
        self.TryAgainButton.setMaximumSize(QtCore.QSize(200, 16777215))
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        self.TryAgainButton.setFont(font)
        self.TryAgainButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.TryAgainButton.setStyleSheet("color: white;\n"
                                          "border: 1px solid white;\n"
                                          "border: 1px solid white;\n"
                                          "border-radius: 15px;")
        self.TryAgainButton.setIconSize(QtCore.QSize(42, 42))
        self.TryAgainButton.setFlat(True)
        self.TryAgainButton.setObjectName("TryAgainButton")
        self.AnswersLayout.addWidget(self.TryAgainButton)

        self.QuestionsLayout.addLayout(self.AnswersLayout)
        self.QuizLayout.addLayout(self.QuestionsLayout)
        self.horizontalLayout.addWidget(self.QuizScreen)

        # User Page

        self.UserPage = QtWidgets.QFrame(self.centralwidget)
        MainWindow.pagesList.append(self.UserPage)
        self.UserPage.setEnabled(True)
        self.UserPage.setVisible(False)
        self.UserPage.setStyleSheet("")
        self.UserPage.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.UserPage.setFrameShadow(QtWidgets.QFrame.Raised)
        self.UserPage.setLineWidth(0)
        self.UserPage.setObjectName("UserPage")
        self.verticalLayoutWidget = QtWidgets.QWidget(self.UserPage)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 0, 901, 711))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.UserLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.UserLayout.setContentsMargins(0, 0, 0, 0)
        self.UserLayout.setSpacing(0)
        self.UserLayout.setObjectName("UserLayout")
        self.UserPageIcon = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.UserPageIcon.setMinimumSize(QtCore.QSize(80, 80))
        self.UserPageIcon.setMaximumSize(QtCore.QSize(80, 80))
        font = QtGui.QFont()
        font.setPointSize(10)
        self.UserPageIcon.setFont(font)
        self.UserPageIcon.setText("")
        self.UserPageIcon.setPixmap(QtGui.QPixmap("Assets/Icons/userIconLarge.png"))
        self.UserPageIcon.setScaledContents(True)
        self.UserPageIcon.setObjectName("UserPageIcon")
        self.UserLayout.addWidget(self.UserPageIcon, 0, QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
        self.UserPageName = QtWidgets.QLabel(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(24)
        self.UserPageName.setFont(font)
        self.UserPageName.setStyleSheet("color: white")
        self.UserPageName.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignTop)
        self.UserPageName.setWordWrap(True)
        self.UserPageName.setObjectName("UserPageName")
        self.UserLayout.addWidget(self.UserPageName)
        self.UserInfoFrame = QtWidgets.QFrame(self.verticalLayoutWidget)
        self.UserInfoFrame.setMinimumSize(QtCore.QSize(900, 500))
        self.UserInfoFrame.setMaximumSize(QtCore.QSize(900, 500))
        self.UserInfoFrame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.UserInfoFrame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.UserInfoFrame.setObjectName("UserInfoFrame")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.UserInfoFrame)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.UserInfoLayout = QtWidgets.QGridLayout()
        self.UserInfoLayout.setSpacing(10)
        self.UserInfoLayout.setObjectName("UserInfoLayout")
        self.FavTutorialsSide = QtWidgets.QFrame(self.UserInfoFrame)
        self.FavTutorialsSide.setStyleSheet("border: 1px solid white;\n"
                                            "border-radius: 15px;")
        self.FavTutorialsSide.setObjectName("FavTutorialsSide")
        self.FavTutorialsPage = QtWidgets.QVBoxLayout(self.FavTutorialsSide)
        self.FavTutorialsPage.setObjectName("FavTutorialsPage")
        self.FavTutorialsButton = QtWidgets.QPushButton(self.FavTutorialsSide)
        self.FavTutorialsButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.FavTutorialsButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                              "border: none;")
        self.FavTutorialsButton.setText("")
        self.FavTutorialsButton.setIcon(icon3)
        self.FavTutorialsButton.setIconSize(QtCore.QSize(42, 42))
        self.FavTutorialsButton.setObjectName("FavTutorialsButton")
        self.FavTutorialsPage.addWidget(self.FavTutorialsButton)
        self.FavTutorialsScrollArea = QtWidgets.QScrollArea(self.FavTutorialsSide)
        self.FavTutorialsScrollArea.setMinimumSize(QtCore.QSize(410, 170))
        self.FavTutorialsScrollArea.setMaximumSize(QtCore.QSize(410, 170))
        self.FavTutorialsScrollArea.setStyleSheet("border: none")
        self.FavTutorialsScrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.FavTutorialsScrollArea.setWidgetResizable(True)
        self.FavTutorialsScrollArea.setAlignment(QtCore.Qt.AlignCenter)
        self.FavTutorialsScrollArea.setObjectName("FavTutorialsScrollArea")
        self.FavTutorialsScrollContents = QtWidgets.QWidget()
        self.FavTutorialsScrollContents.setGeometry(QtCore.QRect(0, 0, 400, 170))
        self.FavTutorialsScrollContents.setObjectName("FavTutorialsScrollContents")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.FavTutorialsScrollContents)
        self.verticalLayout_4.setContentsMargins(0, -1, -1, -1)
        self.verticalLayout_4.setSpacing(34)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.FavTutorialsScrollArea.setWidget(self.FavTutorialsScrollContents)
        self.FavTutorialsPage.addWidget(self.FavTutorialsScrollArea, 0, QtCore.Qt.AlignHCenter)
        self.UserInfoLayout.addWidget(self.FavTutorialsSide, 1, 1, 1, 1)
        self.QuizResultSide = QtWidgets.QFrame(self.UserInfoFrame)
        self.QuizResultSide.setStyleSheet("border: 1px solid white;\n"
                                          "border-radius: 15px;")
        self.QuizResultSide.setObjectName("QuizResultSide")
        self.QuizResultPage = QtWidgets.QVBoxLayout(self.QuizResultSide)
        self.QuizResultPage.setObjectName("QuizResultPage")
        self.QuizResultButton = QtWidgets.QPushButton(self.QuizResultSide)
        self.QuizResultButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.QuizResultButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                            "border: none;")
        self.QuizResultButton.setText("")
        self.QuizResultButton.setIcon(icon5)
        self.QuizResultButton.setIconSize(QtCore.QSize(42, 42))
        self.QuizResultButton.setObjectName("QuizResultButton")
        self.QuizResultPage.addWidget(self.QuizResultButton)
        self.QuizResultTitle = QtWidgets.QLabel(self.QuizResultSide)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(11)
        self.QuizResultTitle.setFont(font)
        self.QuizResultTitle.setStyleSheet("border: none;\n"
                                           "color: white;")
        self.QuizResultTitle.setAlignment(QtCore.Qt.AlignCenter)
        self.QuizResultTitle.setWordWrap(True)
        self.QuizResultTitle.setObjectName("QuizResultTitle")
        self.QuizResultPage.addWidget(self.QuizResultTitle)
        self.QuizResultText = QtWidgets.QLabel(self.QuizResultSide)
        font = QtGui.QFont()
        font.setFamily("Futurist Fixed-width")
        font.setPointSize(10)
        self.QuizResultText.setFont(font)
        self.QuizResultText.setStyleSheet("border: none;\n"
                                          "color: white;")
        self.QuizResultText.setAlignment(QtCore.Qt.AlignCenter)
        self.QuizResultText.setWordWrap(True)
        self.QuizResultText.setObjectName("QuizResultText")
        self.QuizResultPage.addWidget(self.QuizResultText)
        self.UserInfoLayout.addWidget(self.QuizResultSide, 2, 1, 1, 1)
        self.FavProductsSide = QtWidgets.QFrame(self.UserInfoFrame)
        self.FavProductsSide.setStyleSheet("border: 1px solid white;\n"
                                           "border-radius: 15px;")
        self.FavProductsSide.setObjectName("FavProductsSide")
        self.FavProductsPage = QtWidgets.QVBoxLayout(self.FavProductsSide)
        self.FavProductsPage.setObjectName("FavProductsPage")
        self.FavProductsButton = QtWidgets.QPushButton(self.FavProductsSide)
        self.FavProductsButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.FavProductsButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                             "border: none;")
        self.FavProductsButton.setText("")
        self.FavProductsButton.setIcon(icon2)
        self.FavProductsButton.setIconSize(QtCore.QSize(42, 42))
        self.FavProductsButton.setObjectName("FavProductsButton")
        self.FavProductsPage.addWidget(self.FavProductsButton)
        self.FavProductsScrollArea = QtWidgets.QScrollArea(self.FavProductsSide)
        self.FavProductsScrollArea.setMinimumSize(QtCore.QSize(410, 170))
        self.FavProductsScrollArea.setMaximumSize(QtCore.QSize(410, 170))
        self.FavProductsScrollArea.setStyleSheet("border: none")
        self.FavProductsScrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.FavProductsScrollArea.setWidgetResizable(True)
        self.FavProductsScrollArea.setAlignment(QtCore.Qt.AlignCenter)
        self.FavProductsScrollArea.setObjectName("FavProductsScrollArea")
        self.FavProductsScrollContents = QtWidgets.QWidget()
        self.FavProductsScrollContents.setGeometry(QtCore.QRect(0, 0, 400, 170))
        self.FavProductsScrollContents.setObjectName("FavProductsScrollContents")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.FavProductsScrollContents)
        self.verticalLayout_3.setContentsMargins(0, -1, -1, -1)
        self.verticalLayout_3.setSpacing(34)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.FavProductsScrollArea.setWidget(self.FavProductsScrollContents)
        self.FavProductsPage.addWidget(self.FavProductsScrollArea, 0, QtCore.Qt.AlignHCenter)
        self.UserInfoLayout.addWidget(self.FavProductsSide, 1, 0, 1, 1)
        self.FavArticlesSide = QtWidgets.QFrame(self.UserInfoFrame)
        self.FavArticlesSide.setStyleSheet("border: 1px solid white;\n"
                                           "border-radius: 15px;")
        self.FavArticlesSide.setObjectName("FavArticlesSide")
        self.FavArticlesPage = QtWidgets.QVBoxLayout(self.FavArticlesSide)
        self.FavArticlesPage.setObjectName("FavArticlesPage")
        self.FavArticlesButton = QtWidgets.QPushButton(self.FavArticlesSide)
        self.FavArticlesButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.FavArticlesButton.setStyleSheet("background-color: rgba(0,0,0,0);\n"
                                             "border: none;")
        self.FavArticlesButton.setText("")
        self.FavArticlesButton.setIcon(icon4)
        self.FavArticlesButton.setIconSize(QtCore.QSize(42, 42))
        self.FavArticlesButton.setObjectName("FavArticlesButton")
        self.FavArticlesPage.addWidget(self.FavArticlesButton)
        self.FavArticlesScrollArea = QtWidgets.QScrollArea(self.FavArticlesSide)
        self.FavArticlesScrollArea.setMinimumSize(QtCore.QSize(410, 170))
        self.FavArticlesScrollArea.setMaximumSize(QtCore.QSize(410, 170))
        self.FavArticlesScrollArea.setStyleSheet("border: none")
        self.FavArticlesScrollArea.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.FavArticlesScrollArea.setWidgetResizable(True)
        self.FavArticlesScrollArea.setAlignment(QtCore.Qt.AlignCenter)
        self.FavArticlesScrollArea.setObjectName("FavArticlesScrollArea")
        self.FavArticlesScrollContents = QtWidgets.QWidget()
        self.FavArticlesScrollContents.setGeometry(QtCore.QRect(0, 0, 400, 170))
        self.FavArticlesScrollContents.setObjectName("FavArticlesScrollContents")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.FavArticlesScrollContents)
        self.verticalLayout_5.setContentsMargins(0, -1, 9, -1)
        self.verticalLayout_5.setSpacing(34)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.FavArticlesScrollArea.setWidget(self.FavArticlesScrollContents)
        self.FavArticlesPage.addWidget(self.FavArticlesScrollArea, 0, QtCore.Qt.AlignHCenter)
        self.UserInfoLayout.addWidget(self.FavArticlesSide, 2, 0, 1, 1)
        self.verticalLayout_2.addLayout(self.UserInfoLayout)
        self.UserLayout.addWidget(self.UserInfoFrame)
        self.horizontalLayout.addWidget(self.UserPage)

        self.retranslateUi(mainWindow)
        self.ProductButton.clicked.connect(lambda: controller.uiController.showUi(self.ProductsScreen, self.pagesList))
        self.HomeButton_36.clicked.connect(lambda: controller.uiController.showUi(self.FirstScreen, self.pagesList))
        self.MapButton_2.clicked.connect(lambda: controller.uiController.showUi(self.MapScreen, self.pagesList))
        self.ArticlesButton_2.clicked.connect(
            lambda: controller.uiController.showUi(self.ArticlesScreen, self.pagesList))
        self.TutorialsButton_2.clicked.connect(
            lambda: controller.uiController.showUi(self.TutorialsPage, self.pagesList))
        self.QuizButton_2.clicked.connect(lambda: controller.uiController.showUi(self.QuizScreen, self.pagesList))
        self.quizController.setUpQuestion(self.QuestionCounter, self.QuestionLabel, True, self.YesButton, self.NoButton,
                                          self.QuizResultTitle, self.QuizResultText, self.comboBox,
                                          controller.changeFilter,
                                          isFirstSetUp=True)
        self.NoButton.clicked.connect(
            lambda: self.quizController.setUpQuestion(self.QuestionCounter,
                                                      self.QuestionLabel, False, self.YesButton, self.NoButton,
                                                      self.QuizResultTitle, self.QuizResultText, self.comboBox,
                                                      controller.changeFilter))
        self.YesButton.clicked.connect(
            lambda: self.quizController.setUpQuestion(self.QuestionCounter,
                                                      self.QuestionLabel, True, self.YesButton, self.NoButton,
                                                      self.QuizResultTitle, self.QuizResultText, self.comboBox,
                                                      controller.changeFilter))
        self.TryAgainButton.clicked.connect(
            lambda: self.quizController.setUpQuestion(self.QuestionCounter, self.QuestionLabel, True, self.YesButton,
                                                      self.NoButton, self.QuizResultTitle, self.QuizResultText,
                                                      self.comboBox, controller.changeFilter,
                                                      isFirstSetUp=True))

        QtCore.QMetaObject.connectSlotsByName(mainWindow)
        self.JoinButton.clicked.connect(
            lambda: controller.register(self.UserRegisterEdit, self.EmailEdit, self.PasswordRegisterEdit,
                                        self.SidebarButtons, self.WelcomeScreen, self.pagesList, self.WelcomeLabel,
                                        self.HomeButton_36, self.UserPage, self.UserPageName))
        self.SubmitButton.clicked.connect(
            lambda: controller.logIn(self.UserLogInEdit, self.PasswordLogInEdit, self.SidebarButtons,
                                     self.WelcomeScreen, self.pagesList, self.WelcomeLabel, self.HomeButton_36,
                                     self.UserPage, self.UserPageName, self.QuizResultTitle, self.QuizResultText))
        self.BackButton.clicked.connect(
            lambda: controller.logOut(self.FirstScreen, self.pagesList, self.HomeButton_36))
        self.ProdBackButton.clicked.connect(
            lambda: controller.uiController.showUi(self.ProductsScreen, self.pagesList))
        self.TutorialBackButton.clicked.connect(
            lambda: controller.uiController.backToTutorials(self.TutorialsPage, self.pagesList))
        controller.VideoPlayerController = YoutubePlayer(self.TutorialVideoFrame)
        controller.VideoPlayerController.resize(800, 550)
        controller.VideoPlayerController.show()
        controller.userPageController.generateFavProductPages(self.FavProductsScrollContents, self.verticalLayout_3)
        controller.userPageController.generateFavTutorialsPages(self.FavTutorialsScrollContents, self.verticalLayout_4)
        controller.userPageController.generateFavArticlesPages(self.FavArticlesScrollContents, self.verticalLayout_5)

    def retranslateUi(self, mainWindow):
        _translate = QtCore.QCoreApplication.translate
        mainWindow.setWindowTitle(_translate("mainWindow", "Face AI"))
        self.HomeLabel_18.setText(_translate("mainWindow", "HOME"))
        self.ProductLabel.setText(_translate("mainWindow", "PRODUCTS"))
        self.TutorialsLabel.setText(_translate("mainWindow", "TUTORIALS"))
        self.ArticlesLabel.setText(_translate("mainWindow", "ARTICLES"))
        self.QuizLabel.setText(_translate("mainWindow", "QUIZ"))
        self.MapLabel.setText(_translate("mainWindow", "HELP MAP"))
        self.label.setText(_translate("mainWindow", "Map of Dermatology Centers in Cluj-Napoca"))
        self.QuizTitle.setText(_translate("mainWindow", "Get to know your skin type"))
        self.NoButton.setText(_translate("mainWindow", "NO"))
        self.YesButton.setText(_translate("mainWindow", "YES"))
        self.LogInLabel.setText(_translate("mainWindow", "Log In"))
        self.UserLogInLabel.setText(_translate("mainWindow", "E-mail:"))
        self.PasswordLogInLabel.setText(_translate("mainWindow", "Password:"))
        self.SubmitButton.setText(_translate("mainWindow", "Submit"))
        self.RegisterLabel.setText(_translate("mainWindow", "Register"))
        self.UserRegisterLabel.setText(_translate("mainWindow", "User Name:"))
        self.EmailLabel.setText(_translate("mainWindow", "E-mail:"))
        self.PasswordRegisterLabel.setText(_translate("mainWindow", "Password:"))
        self.JoinButton.setText(_translate("mainWindow", "Join Us"))
        self.QuizResultTitle.setText(_translate("mainWindow", "Your type of skin is:"))
        self.TryAgainButton.setText(_translate("mainWindow", "Try Again"))
